如何在XSD中定义本地类型?

问题描述

如何在XML模式的元素内定义type而不是在元素中进行引用?

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

但是我想做下面的事情……

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

但是出现语法错误

解决方法

在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 有关使用名称空间的详细示例,请参见How to reference global types in XSD?

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...