我设计了一个用XSD方案表示的数据模型。
数据模型还提供在WSDL描述符中用作web服务参数的类型
我想发送XSD方案,并请相关人员对数据模型进行同行审查
您建议使用什么工具或演示方法作为同行评审的基础?数据模型对于非技术人员来说应该是可读的,至少在涉及到参数的语义时是可读的
编辑:
更具体地说:当然,在语法上,该方案是有效的。实际上,我已经在编写基于JAXB生成的类的代码。我的目标是
冻结数据模型,从而
输入参数
确定
没有任何东西从一次事故中丢失或遗忘
语义(在
(与业务相关的)观点
编辑2
我有一个xsd。当我尝试在BizTalk中验证它时,会出现以下错误:
error BEC2009: Node "<Schema>" - Schema reference "http://www.w3.org/2001/xml.xsd" is not a valid reference or does not exist in the current project.
error BEC2009: Node "<Schema>" - Schema reference "h
如果查看以下xsd片段,您可以得出结论,相应的xml将首先包含汽车,然后是公共汽车,例如:
car,car,bus,bus
但是,我希望xml能够包含
car,bus,car,bus
为了实现这一点,我需要在下面的xsd中做什么更改
<xs:element name="body">
<xs:complexType>
<xs:sequence>
<xs:element name="session" type="tns
有没有一种方法可以从类中的javadoc注释生成带有文档(/)的XML模式(xsd)?
我知道反过来也是可能的(即从带有注释的xsd生成带有javadoc注释的类)
请给出建议。使用API,Javadoc注释不可能包含在章节中。原因是没有任何API可用于内省Java类/字段/属性以获取注释中的信息。当javadoc不起作用时:如何使用注释(类似于@XmlDocumentation(lang=“en”content=“…”))是的,现在可以使用jaxb2 maven插件
但是建议使用XmlTyp
我想写一个XML模式(XSD)
在哪儿
元素有多次出现,并且有一个属性ID
我想验证如果借用者的ID属性的值等于1,那么它的所有子元素都必须有一些值。
这在XSD中是可能的吗?
请告诉我他们是否是实现这一目标的方法
谢谢像您所请求的条件在XML模式中是不可能的。你可能想看看RELAXNG(http://relaxng.org/).一个简短的XML示例将使您更容易直观地了解您要问的问题。或者使用支持XML Schema 1.1的引擎。
我想声明一个包含在复杂类型声明中的元素,该元素有一个强制属性:“option=MyOption”,但是“option”属性的值可以是任何值,具体取决于上下文。
也就是说:在使用包含此元素的复杂类型的任何文档中,具有未知值的属性“option”都应该是必需的
例如:
<xs:element name="SpecialOption" type="xs:string"/>
<xs:complexType name="SpecialOptions">
我们有一个请求来实现我们的webservice响应,这样当模式指示xsd:decimal小数位数不够长时,它将被零填充。我想知道这是否是一个合理的请求,xsd:decimal是否应该与这样的模式一起使用。
以下是xsd的相关部分(根据其规格):
<xsd:simpleType>
<xsd:restriction base="xsd:decimal">
<xsd:totalDigits value="14"/>
<xsd:
标签: Xsd
enterprise-architect
我尝试过,但在Enterprise Architect中生成XSD时,找不到任何属性来控制XSD序列中元素的顺序
如果您能解释一下,我将不胜感激:)
谢谢,
John在帮助文件中的“XML模式的概要文件”主题中,有一个与命名的位置相关联的标记:
“使元素在包含complexType的序列模型组中排序。重复和无效的位置标记值将被忽略,并导致UML属性的未定义顺序。缺少位置值会导致按指定分配已定义的位置,其余元素将按未定义的顺序填充缺少的位置。
"
如果设置了另一个属性,是否可以使属性成为必需的
例如,在以下代码中,必须设置viewId属性required,设置iff操作属性
XML:
单独使用XSD1.0是不可能的。您必须使用另一种XML模式语言来补充或替代XSD,或者迁移到XSD 1.1
另一种选择可能是重新构造模式。如果@destination与{@action、@viewId}是互斥的,那么您可以使用元素,这样就可以使用xsd:choice
更新:对于XSD1.1
<?xml version="1.0" e
是否可以覆盖父xsd中元素的minOccurs/maxOccurs属性?我们可以轻松地扩展父xsd并创建具有不同名称空间的新xsd,但我尝试使用相同的父名称空间进行重写
假设我们有一个xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns:cust="http://test.com/schema/cust" xmlns:xs="http://www.w3.org/2001/XMLSchema" ta
我有一个用于多个服务的XSD。
在XSD中,我有和Order复杂类型。
另一个系统调用我的服务,并发送订单信息,我的服务使用发送到我的服务的订单信息执行一些操作
按照顺序,我有几个元素,例如:foo和bar。
我的目标是将这个XSD用于多个服务,例如serviceA和serviceB
这两个服务都使用Order,但对于serviceA,我希望使foo成为必需的,但是对于serviceB,我不希望foo成为必需的
我可以在XSD中控制这一点吗?或者这是使foo成为可选的唯一方法,并且在服务调用之后
我得到了一个wsdl文件,它为同一名称空间定义了两个模式,如下所示:
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://example.com/payments"
attributeFormDefault="unqualified" elementFormDefault="qualified"
在SpringIntegrationPipeline中,我们目前使用验证过滤器根据某个xsd模式验证xml消息
<int-xml:validating-filter schema-location=classpath:/a.xsd />
当xml只有一个模式时,它可以正常工作。当有多个模式需要验证xml时,最好的方法是什么
例如
您忽略了一个事实,即为该配置另一个属性:
对自定义“org.springframework.xml.validation.XmlValidator”
标签: Xsd
code-generationinclude
阿罗哈
我收到了一些不错的xsd文件,我想将它们转换成类(使用xsd.exe)
所有xsd都有相同的包含项,如下所示:
<xs:include schemaLocation="kstypes.xsd" />
<xs:include schemaLocation="ksparams.xsd" />
当我为每个xsd生成一个类时,这些文件中声明的类型对于每个原始xsd都是重复的。有没有简单的方法1)只生成一次包含的xsd中的类型,2)确保所有其他类都使用这些类型
-eN
标签: Xsd
syndicationsyndication-feedatom-feed
是否有任何已定义的atom联合xml模式
附录B中仅包含Relax NG compact模式。(由于原始版本不再可用,因此为Web存档版本)什么不起作用
不应使用,因为它甚至不检测丢失的标记
已损坏,xmllint在使用时报告错误:
复杂类型“atomPersonConstruct”:内容模型不是确定性的
什么有效
RFC包含relax ng紧凑型规范:
在trang的帮助下,.rnc文件可以从压缩格式转换为基于XML的.rng文件。这反过来又可以用于xmllint:
$ xmllint --n
我正在使用将RELAXNG.rng文件转换为XMLSchema.xsd文件,以便与JAXB一起使用。是否有办法将属性/元素放入.rng文件并显示在.xsd文件中?我有一个用于JAXB设置的外部.xjb文件,但有些JAXB设置与模式本身紧密耦合,因此(以某种方式)将它们放在.rng文件而不是.xjb文件中似乎更有意义
有什么建议吗?我的意见是,您现在所做的是最好的方法,您应该将您的JAXB定制与您的RELAXNG模式分开。XML模式中的JAXB定制充其量是丑陋的,更糟糕的是会分散注意力和混淆。使用
标签: Xsd
foreign-keysschemadatabase-relations
我试着围绕xml模式来思考,我想弄清楚的一件事是,如何在on元素引用另一个模式的情况下执行关系型模式,可能是在另一个模式中。我已经看过xsd:key和xsd:keyref,它似乎是我感兴趣的东西,但我不确定。最初我只是使用xs:ID abd xs:IDREF类型设置属性,就我所知,它显然不一定引用特定的元素
基本上,我有几个不同的xml文件,其中元素引用同一文件或其他文件中的其他元素。它看起来很像一个关系数据库,我很想使用它,但要求只使用XML文件,因此我至少尝试建立一些健全性,而不是仅仅依靠X
我正在寻找XML模式的BNF/EBNF。
我刚刚找到了一个用于XML(或提取于)
这是一个起点,但我很好奇,我找不到一个更具体的XML模式。我想是因为没有人发现它有用,而且它太复杂了。如果有人想要定义XML语言,比如XML模式,他们可能会使用XML原语,比如元素或属性(使用XML模式、RELAXNG、DTD等),而不是字符。XML被发明的原因之一是为了有一种元语言来创建其他语言。我想这是因为没有人发现它有用,而且它太复杂了。如果有人想要定义XML语言,比如XML模式,他们可能会使用XML原语,比
在XML模式中,您可以将元素标记为nillable,这意味着它可以接受显式的空值。请参阅以获得一个很好的解释
我好奇的是,为什么它被称为“零”?我总是看到nillable,觉得这是个打字错误
编辑
我理解nil是null的同义词。我想知道的是为什么选择了nil,而不是更常见的(在计算机科学中)null。特别是当它真的应该是零时(请注意单个L) 它来自nil,它是null的另一个术语,在XML中使用。我不认为在不同的编程语言中,有任何特定的原因可以优先选择其中一种。这只是一种表达。它也用于某些运动
我使用maven-jaxb-plugin和maven-jaxb2-plugin编译包含两个同名元素的xsd文件,但代码编译时不会抛出错误。生成的类没有相关属性。请参见生成的类:
...
* <element name="elementName" type="{http://namespace}typeElementName"/>
* <element name="elementName" type="{http://namesp
今天我遇到了以下问题。我有以下xml:
<c:docschema xmlns:c="http://www.otr.ru/sufd/document/desc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.otr.ru/sufd/document/desc http://otr-sufd/xmlschema/docschema.xsd">
.
我想创建一个XSD。
XSD中的一个可选元素是
XSD的另一个子结构是
<Order Name="NameOfOrder">...</Order>
<Order Name="NameOfOrder2">...</Order>
...
可以为使用xs:ID属性类型,为使用xs:IDREF属性类型
示例XSD:
无效XML示例:给出错误IDREF“NameOfOrder_X”没有ID/IDREF绑定。在Xerces
<doc xmlns:xsi
XML模式中是否有一种方法可以定义/命名一组属性,这些属性可以在许多元素定义上重用,而无需将整个属性定义剪切/粘贴到每个元素定义中
例如,如果我想在我的xsd中的20个不同元素上有三个属性,我可以将它们命名为一个组并引用它们,而不必在所有20个元素中重复相同的完整定义吗
<xs:attribute name="lang" type="xs:string" use="required"/>
<xs:attribute name="page" type="xs:string"/&g
每个人
我有一个xsd模式(cft.xsd),它描述了一个非常通用的顶级结构:
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cft="http://www.foo.com/xsd/cft" targetNamespace="http://www.foo.com/xsd/cft" elementFormDefault="qualified">
带有嵌套节点的BizTalk平面文件架构给我带来了一些麻烦。发生的情况是,子记录分隔符在最后一个字段中显示为数据。我遵循了这篇老博文中的食谱
这里是输入,这里是模式
结果是,除了user和ponumber字段中的crlf之外,xml在大多数情况下看起来都很好
<Orders xmlns="http://KS.Biztalk.EDI.Common.Amtech.ASN.FlatFileSchema1"><Header><user>USER_1234
<
我有一个预先存在的XML文档类型,它有一个元素,可以有两种内容类型:一些元素,或者只是文本。将其建模为混合内容是过分的,因此JAXB的XJC创建了一个非常丑陋的绑定
<bars><bar .../><bar .../></bars>
对
<bars>Just a bunch of #PCDATA</bars>
只是一堆#PCDATA
xs:choice似乎只针对复杂类型(而不是像xs:string这样的简单类型)构
我有以下模式
<complexType name="BookShelf">
<sequence>
<element name="newBook" type="string" minOccurs="0" maxOccurs="unbounded"/>
<element name="oldBook" type="string" minOccurs="0" maxOccurs="unbounded"/>
</se
在我的XSD验证中限制特殊字符,我能够处理具有此模式的某些字符“([a-zA-Z0-9.!@$%^*([a-zA-Z0-9.-),>?/`-])+”
但无法处理以下问题:
"
&
'
<
\
®
™
有什么想法吗
也无法使用[^]处理它们模式我认为您需要使用字符实体。&;例如用于符号and,而用于less。XML模式是XML,您必须遵守XML规则。扩展您的问题以实际显示模式上下文会有所帮助。您想要定义一个扩展字符串的类型,并添加一个限制图案
差不多
<xs:element name=
我正在使用BizTalk 2006 R2从WSDL文件生成web引用
将生成的XSD与WSDL进行比较,很明显,大量信息已经丢失
考虑以下来自WSDL的摘录:
<s:element form="unqualified" minOccurs="0" maxOccurs="4" name="Applicant">
<s:complexType>
<s:sequence>
<s:element form="unqualified" mi
我需要能够将简单元素类型设置为整数,但也允许它为空。如果其为空且空白字段不是整数,则此示例将发送错误。我怎样才能避开这件事
<xsd:element name="weight" type="xsd:integer"/>
您需要将“nillable”属性设置为true:
<xsd:element name="weight" type="xsd:integer" nillable="true"/>
请参阅。
尝试以上方法,应该有效;很可能您忘记添加xsi:nil属
有没有人举过任何例子来说明SOAP信封中包含文档或AppInfo子项的注释是什么样子的?注释只存在于WSDL中。它们从不出现在肥皂信封中
是否有方法根据为另一个元素输入的枚举值要求元素
基本上,我要做的是让枚举定义一个用户界面类型。根据接口类型,某些字段可能是必需的,也可能不是必需的
我知道这可以通过使元素可选,并在代码中处理条件逻辑,或者为每个可能的接口类型创建不同的复杂类型来实现。但是,我希望规则对任何阅读模式的人来说都是显而易见的,因此代码解决方案将不是理想的,添加大量复杂类型(尽管它们共享大多数必需字段)将为xml解析逻辑添加更多内容
是否可以在模式中包含所有这些逻辑以简化验证和解析?这种条件强制/可选元素包含在XSD中是
标签: Xsd
diagramdependency-managementcircular-dependency
请参阅标题:我有大约50个XSD文件相互导入(带有标记),我需要分析它们的依赖关系
你知道有什么软件(最好是免费的)可以从这些文件自动生成依赖关系图吗?我不知道有任何专门为XSD定制的免费解决方案。如果我必须使用免费的组件来构建它,我可能会考虑。您需要编写一个模块来生成GraphViz所需的数据,这些数据将来自对XSD文件的解析。如果考虑到模式位置的工作方式和解析方式,并正确处理循环依赖关系,则后者有点微不足道。好的方面是GraphViz在很多平台上都受支持,而且只要您能够解析XML,就可以进行
标签: Xsd
xml-serializationpoco
我们正在从客户机接收一个XML文件。我想把这个文件中的数据加载到一个类中,但我不确定该怎么做
我有一个XSD来定义XML文件中的预期内容,因此我可以轻松地验证XML文件
我可以使用XSD文件将数据加载到POCO中,使用某种序列化吗
另一种方法是将xml加载到XMLDocument中,并使用XPath填充类中的每个属性
为任何建议干杯根据XSD的复杂程度,您有两种选择:
用于生成可与结合使用的C#类
与/dconly参数一起使用,以生成适用于的属性化类型
标签: Xsd
namespacescompatibility
我们正在努力解决一些名称空间兼容性问题。目前,我们在数据库中以XML文件的形式存储一些外部数据,名称空间为xmlns=”http://xyz.com/prodresponse/v2“,最近供应商已将名称空间更改为xmlns=”http://xyz.com/prodresponse/v4“
问题是,为了内部应用程序的目的,我们需要无缝地处理新旧名称空间数据。目前我只看到一个选择:
运行SQL脚本将现有xml数据从v2版转换为v4版
还有其他选择吗
非常感谢提前名称空间更改的原因可能是格式已更改。因
标签: Xsd
schemacomplextype
我有一个XML元素,它包含其他元素、属性以及文本。下面是一个示例XML数据:
<property readonly="0" eraseable="1" >
<property readonly="0" eraseable="1" >
<property readonly="0" eraseable="1" >windows XP unknown SP unknown (Build unknown)</property>
在JaxB中,我们需要从一种模式形式移动到另一种模式形式,我们希望能够在xsd中使用一些不推荐的东西,并在xsd:documentation元素中添加一些简单的注释。有没有办法让JAXB将这些生成的类和方法标记为@Deprecated,这样开发人员就可以很容易地看到哪个cold仍然需要更改
谢谢,
Dean我建议使用Annotate插件:(编辑:原始插件不再有效)
您将看到几个示例,包括弃用、警告抑制等
通常建议使用appinfo下的特殊标记来完成这些工作,而不是使用文档。我终于让我的所有工作都
是否可以定义可以是keyref或数字文字的类型?就像在任何类型化编程语言中一样,您可以将数字文字或另一个变量的名称指定给数字变量。我正在创建一个模式来定义绘图api元素(对于另一种编程语言),并希望定义一个color类型,该类型可以是十六进制文字(例如0xFF0000表示鲜红色),也可以是对其他地方定义的颜色的引用。因此,您可以(在XML文档中)执行以下操作:
这将允许LIREALvalue或keyrefref:
<color value="0xFF0000" /> <
标签: Xsd
Jaxb
schemagenjaxb2-maven-plugin
我使用org.codehaus.mojo jaxb2 maven插件为我的类生成xsd模式。插件站点tell,该插件使用JDK实用程序schemagen.exe生成。
问题是生成的xsd中的顺序并没有确定,这取决于您运行插件的机器。
public class One {
public String field1;
}
public class Two {
public String field2;
}
和生成的方案:
<xs:schema version="1.0" x
我通过gSoap创建web服务,使用现有的WSDL和必要的模式作为命令wsdl2h的参数
在我的模式中,元素I\u ID是这样声明的:
<xs:element minOccurs="0" name="i_ID" nillable="true" type="xs:string" />
我注意到,在每个之后的所有字段中,情况都是一样的
你们知道怎么解决这个问题吗?因为这会降低可读性,我不适合更改.XSD文件。也许我应该给命令添加一个选项wsdl2h
谢谢大家! 使用wsdl2h时,请使
我收到以下错误:src resolve:无法将名称“common:Email”解析为(n)“元素声明”组件。当我的Spring集成配置加载时。所有编组解组和xml验证都是通过Spring集成配置完成的
问题是我的XSD中有一些对外部XSD的引用,这就是它失败的原因
我在想,是否有一种方法可以覆盖Jaxp13ValidatorFactory,它会抛出异常以使其能够加载外部XSD
我想做以下几件事:
<a xmlns="http://example.com/general"
xmlns:ext1="http://example.com/extension1"
xmlns:ext2="http://example.com/extension2">
<b name="asdf">
<ext1:test>HELLO</ext1:test>
<ext2:test>HEL
我有以下XSD模板用于以下内容:
<xsd:choice>
<xsd:element name="NilReport" type="ftc:CorrectableNilReport_Type">
<xsd:annotation>
<xsd:documentation xml:lang="en">Nil Report indicates that financial in
有几种从wsdl生成java类的方法,例如ApacheCXF、JAXB和JAX-WS
我需要一个与maven和目录文件一起使用的解决方案
我的问题是我有两个Maven模块A和B。其中一个模块A包含逻辑类,另一个模块B包含作为资源的xsd文件。现在我想从逻辑模块A生成类,xsd文件不应该作为资源添加到此模块
我已经创建了一个catalag.cat文件,其中包含作为PUBLIC的名称空间,并指向mavenmodule
catalag文件中的摘要:
PUBLIC "http://www.bipro.n
我尝试为收到的XML文档定义一个模式
这些文档如下所示:
<root>
<items>
<group name="G-1">
<item name="I-1"/>
<item name="I-2"/>
<item name="I-3"/>
<item name="I-4"/>
&
我正在构建一个表单,其中包含大量可以保存货币值的字段——出于一些我不太理解的奇怪原因,InfoPath 2010没有提供开箱即用的“十进制”或“货币”字段类型。(提供的十进制类型旁边的括号中有(double),这向我表明它将使用浮点运算存储)
如果我从头开始创建xsd并使用它在InfoPath中创建表单,它会毫无问题地接受,但我无法再从InfoPath中添加字段,这令人沮丧
因此,我的问题是,是否有任何方法可以在InfoPath 2010中使用十进制/货币类型,而不必编写自己的xsd?或者,是否
我想在子元素组合的ConsumerSubjectResponseType中添加subjectIdentifier属性(在父元素ConsumerSubjectResponseType中声明)。我认为在子元素中不重复属性声明就足够了,但显然不是这样。这可以在xsd中实现吗
这可以在xsd中实现吗
在你的例子中:不,或者不是那样
通过限制派生的类型必须重复所有粒子组件,但属性不需要在派生类型定义中重复,它们是从基本类型继承的。无法从受限类型中删除必需的属性。您可以为所需的属性指定某个固定(可能
是否可以定义一个XSD类型,该类型可以包含任何有效的十进制数或一组预定义值中的一个
例如,如果我想要一个属性,该属性可以包含一个数字或以下字符串之一:“max”、“min”
本文件在以下情况下有效:
<elem attr="123.456"/>
<elem attr="max"/>
<elem attr="-768.456"/>
<elem attr="hello"/>
<elem attr="0x2D"/>
虽然本文件中的两个
如果我的例子有点模糊,我道歉;不幸的是,在我的示例中,如果不给出公司名称和数据用途,我就不能使用相同的字段名
鉴于以下情况:
由数据集填充并绑定到XSD模式文件的水晶报表
一个.Net 1.1程序,用于填充数据集并将其绑定到报表
数据表Foo和Bar
XSD模式:
----Foo----
Stuff (pk)
Things
Gunk
----Bar----
Stuff (fk)
Details
Widget
关系:一个Foo可以有一个或多个条,内部连接到Stuff
这份报告已经生效了。有人请
我有一个XML模式,其中包含“video”元素和“youtube”元素:
<xs:element name="video">
<xs:complexType>
<xs:sequence>
<xs:element ref="youtube" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribu
1 2 3 4 5 6 ...
下一页 最后一页 共 16 页