- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我见过这样的例子:
<xsd:element name="Product">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ProductName" type="xsd:string" />
<xsd:element name="Customer" type="xsd:CustomerType" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CustomerType">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="FullName" type="xsd:string" />
<xsd:element name="Age" type="xsd:string" />
<xsd:element name="Age" type="xsd:occupation" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
而且我想知道为什么有人会在这种情况下选择 type
而不是 ref
:
<xsd:element name="Product">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ProductName" type="xsd:string" />
<xsd:element ref="Customer" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Customer">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="FullName" type="xsd:string" />
<xsd:element name="Age" type="xsd:string" />
<xsd:element name="Age" type="xsd:occupation" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
使用 Type
而不是 ref
有什么积极的一面,有人可以解释一下吗?我所知道的是 ref
也可以有 minOccurs
和 maxOccurs
选项,所以你可以在反序列化代码中将 ref
定义为数组.
最佳答案
有很多方法可以看待这个问题。我想这一切都始于一些基本原则,例如创作风格的一致性。从那里开始,人们开始分析一种方式与另一种方式的含义;给出了名称:俄罗斯娃娃,意大利腊肠切片,百叶窗,伊甸园。如果您想了解更多信息,搜索有关 XSD 创作风格(也称为 XSD 设计模式)的内容,将会找到大量处理该主题的站点。这link和 this one是非常好的“快餐”类引用文献,我会从...开始……虽然我不同意那里的某些陈述,例如仅包含一个全局元素
(因此,如果我为 Web 服务定义一个 rq/rs 架构,我就不会合规吗?)总体来说是一个很好的入门。
在您的情况下,基于引用元素一致地定义内容模型是“意大利腊肠切片”模式的指示:所有元素都是全局的,类型是本地的(匿名的)。第一个含义是无法摆脱与标签关联的 namespace 。
不使用引用元素,而是依赖于局部定义,具有全局类型,表示“百叶窗”模式。与上面的命名空间注释保持一致,现在可以使用这种方法通过在架构元素上设置 elementFormDefault 属性来控制命名空间。
与粒子关联的 minOccurs/maxOccurs 在这里不相关。对于全局元素,这些属性不适用。对于内容模型粒子,元素是一种,无论元素是refed还是local,都没有区别。
关于xml - XSD 中的 Ref 属性或 Type 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9798819/
我知道我以前在某个地方看到过这个,但我再也找不到它了。我需要一个从另一个 xsd 中调用 xsd 文件的示例。这在生成大量 xml 文件的情况下非常有用,但在这些 xml 文件之间存在大量公共(pub
有人知道供应商中立的 XSD 来描述关系数据库模式吗?我们的系统需要获取有关数据库结构的信息: 表 列和类型 主键和外键约束 索引 等 以独立于供应商的方式并将其存储在 XML 文件中以供以后处理。
我在 XSD 中使用 gml (3.1.1) XSD 作为我的应用程序。我想下载版本 3.1.1 中的所有 gml XSD,例如 zip 文件。换句话说:基本 xsd 是 here我想用 zip 文件
我想要一个 XSD 来验证包含具有许多别名但每个别名具有不同值的文件元素的 XML。 这是我的 XML: Document1
我看到一个 xml 架构 ( EPP ) 将 xsd:choice 与一个元素一起使用,即使我们可以使用 xsd:enumeration 代替:
我目前工作的公司将架构或契约(Contract)版本编入根节点。例如, ... 我正在寻找人们对这种设计方法的意见,因为我不相信它是合理的。例如,它要求所有使用此模式作为消息传递契约的服务都能够发
我在处理 Web 服务响应时遇到了 Apache CXF 解析错误。归结为一个空元素被返回: 元素定义如下: 现在我在 CXF 邮件列表上看到了 empty value is not allowe
XSD 可以为比较两个元素添加约束吗? 假设我在 DataRangeType 下有 Begin End 我想添加一个约束说 Begin 非常
我想声明一个要包含在复杂类型声明中的元素,并且该元素有一个强制属性:“option=MyOption”,但是“选项”属性的值可以是任何值,具体取决于上下文。 也就是说:在使用包含该元素的复杂类型的任何
我需要能够将简单元素类型设置为整数,但也可以将其设置为空。如果此示例为空且空白字段不是整数,则此示例将发送错误。我该如何解决? 最佳答案 您要做的是在同一元素上分配限制,并对其进行合并,例如以下示例
对于这个 xml: 我有这个模式,它似乎可以根据 w3 schema validation service 进行验证,并且该架构可以很好地验证上述 XML。遗憾的是,xsd.exe
我有两个 XSD 文件(源文件和目标文件)...我应该在什么基础上映射这两个文件以获得 XSLT?我知道 MapForce 如何帮助映射,但我使用示例项目..现在我想知道我应该在什么基础上映射我的客户
我有一个 .cs 文件,其中包含 XTypedElement 和 IXMetaData 的子类。微软有一个 tool that generates XSD files automatically来自托
这个问题在这里已经有了答案: XML Schema to validate XML Schemas? (3 个答案) 关闭 9 年前。 是否存在可验证其他 XML 架构的 Xml 架构? 我想做的是
假设我正在处理一个 xsd:simpleType,它是一个字符串,需要具有特定的字符集和特定的最大长度,类似于以下代码: 所以我的 xsd 类型将是一个只
JAXB 同时映射 xsd:base64Binary和 xsd:hexBinary类型为 byte[] . 鉴于我有一个架构/DOM 元素代表这些类型中的每一个,例如: ABCD对于 xsd:hexB
我非常确定我在这里遗漏了一些简单的东西。 我正在使用 netbeans 在两个单独的项目中创建一个 web jax-ws web 服务和一个客户端,并且我有一些自定义绑定(bind)已使用 net b
将字节数组表示为 XSD 架构的最佳方式是什么?我有一个字节输入,我需要解析它并将其提供给 JAXB 从 XSD 模式生成的 Java 对象以供将来验证。我输入中的每条信息都由偏移量和长度定义。我想将
我的架构的这一部分给我带来了麻烦:
我需要定义元素“MyData”的名为“DataValue”的属性。但要求是“DataValue”的类型可以动态更改,即数据值在一个实例中可以是字符串,而在其他实例中它可以是 int 或 bool。它可
我是一名优秀的程序员,十分优秀!