Dav*_*veR 3 xsd xsd-validation
有人能告诉我如何在 XSD 中指定一个元素可以包含任意数量的任意元素吗?例如,如果我有
<person>
<name>Foo</name>
</person>
Run Code Online (Sandbox Code Playgroud)
我想允许在 " <name>" 元素之后的任何元素。
<person>
<name>Foo</name>
<gender>male</gender>
</person>
<person>
<name>Foo</name>
<address>west of here</address>
</person>
<person>
<name>Foo</name>
<address>west of here</address>
<spooge>something else</spooge>
</person>
Run Code Online (Sandbox Code Playgroud)
也就是说,name 元素是必需的,但在那之后,您可以添加任何类型的任意元素。因此,如果这是描述<person>元素的 XSD 元素,那么“ <xs:element name='name' .../>”之后会是什么
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)
您可以使用xsd:any:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="1.0">
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:any processContents="skip" namespace="##any"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)
请特别注意 的可能值processContent:
| 归档时间: |
|
| 查看次数: |
3868 次 |
| 最近记录: |