XSD中元素的ref属性是做什么的?

文档似乎认为它引用了架构中的另一个元素,但是它怎么可能被使用 – 我从来没有在模式中看到它。

任何人有任何好的用例还是可以进一步解释它的用法?

2 Solutions collect form web for “XSD中元素的ref属性是做什么的?”

基本上,它引用另一个在其他地方被拖延的元素,这可能是也可能不是相同的模式文档。 例如,它可能来自不同名称空间中的外部引用模式。 假设你在几个不同的模式中使用了item元素,你可以在一个公共模式中声明它(以及其他常见的types和属性),然后在所有其他模式中重用这些元素。 如果您使用命名空间c引用常见模式,则可以自行或作为types的一部分声明项目 elemnt的实例,如下所示:

<xs:element ref="c:item" /><!-- reference here --> <xs:complexType name="something"> <xs:sequence> <xs:element ref="c:item" /><!-- and here --> </xs:sequence> <xs:element name="other" type="xs:Name" /> </xs:complexType> 

数据模式中的定义如下所示:

 <xs:element name="item" type="itemType" /><!-- referenced element --> <xs:complexType name="itemType"> <xs:sequence> <xs:element name="code" type="xs:Name" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute name="description" type="xs:normalizedString" use="required" /> </xs:complexType> 

例如,如果要声明可以显示深层嵌套的元素types,也可以将其作为实例文档中的顶层元素。

XML Schema入门例如: http : //www.w3.org/TR/xmlschema-0/

  • 如何将xsd转换为人类可读的文档?
  • 根据XSD文件验证XML文件的最佳方法是什么?
  • xsd:include和xsd:import有什么区别?
  • 从XML模式生成Json模式(XSD)
  • 为什么我们需要targetNamespace?
  • 什么是XML名称空间?
  • 从XSD文件生成WSDL
  • 用Python中的XML模式进行validation
  • 使用Delphi XML数据绑定向导时,所需的标签不存在
  • XSD - 如何允许任何次数的任何顺序的元素?
  • 如何使用JAXB生成一个从xsd实现Serializable接口的Java类?