我正在尝试为此XML结构编写XML Schema:
<castle>
<parameters>
<firstParameter>text</firstParameter>
<secondParameter>
<list>
<item>a</item>
<item>b</item>
<item>c</item>
</list>
</secondParameter>
<thirdParameter>
<array>
<item>a</item>
<item>b</item>
<item>c</item>
</array>
</thirdParameter>
<fourthParameter>
<parameters>
<firstParameter>text</firstParameter>
<secondParameter>
<list>
<item>a</item>
<item>b</item>
<item>c</item>
</list>
</secondParameter>
</parameters>
</fourthParameter>
</parameters>
</castle>
我不知道如何使用任何名称指定元素。我的实际XSD看起来像这样:
<xs:element name="parameters">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:any processContents="skip" namespace="##targetNamespace"/>
</xs:choice>
</xs:complexType>
</xs:element>
但是它会跳过嵌套参数级别的验证。你知道怎么写它更具体吗?
答案 0 :(得分:0)
已跳过验证,因为您已使用xsd:any
processContents="skip"
告知其执行此操作。你的其他控制点将是
processContents
设置为lax
以指示元素声明
如果定义但不需要定义,则应该使用它。processContents
设置为strict
以指明该元素
声明应该被使用并且必须被定义。xsd:any
元素上创建断言。如果通过限制或参数化名称来修复参数允许的元素,则可以获得更多限制。