首页 > 解决方案 > 如何在 XSD 中定义本地类型?

问题描述

如何type在 XML Schema 中的元素内部定义而不是在元素中引用?

 <xs:element name="Payment" type="my:Payment"/>

但我想做类似下面的事情......

<xs:element name="Payment">
  <type="my:Payment"/>
</element>

但是出现语法错误。

标签: xmlxsdxsd-validationxml-validation

解决方案


在 XSD 中,您可以引用全局定义的1类型,如您在第一个示例中所示,

<xs:element name="Payment" type="my:Payment"/>

或使用本地定义的匿名类型,不像您显示的那样,

<xs:element name="Payment">
  <type="my:Payment"/>
</element>

而是,例如,

<xs:element name="Payment">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="Amount"/>
      <xs:element name="Date"/>
    </xs:sequence>
  </xs:complexType>
</element>

请注意,此类本地定义的类型是匿名的,不能重用。

也可以看看


1请参阅如何在 XSD 中引用全局类型?有关使用命名空间的详细示例。


推荐阅读