我正在尝试为以下XML代码段编写XSD。
<loop id="1000" name="loop 1000" />
<loop id="1000" name="loop 1000" />
<loop id="2000" name="loop 2000" />
<loop id="2000" name="loop 2000" />
<loop id="2000" name="loop 2000" />
我写了以下XSD
<xs:element name="loop" maxOccurs="3">
<xs:simpleType>
<xs:attribute use="required" fixed="1000" type="xs:string" name="id" />
</xs:simpleType>
</xs:element>
<xs:element name="loop" maxOccurs="3">
<xs:simpleType>
<xs:attribute use="required" fixed="2000" type="xs:string" name="id" />
</xs:simpleType>
</xs:element>
但这似乎在XML验证中失败了。
XML不在我的掌控之中。我该如何处理?
修改
我编写了一个xml解析器+生成器,并将收到的XML更改为
<_1000>...</_1000>
<_1000>...</_1000>
<_2000>...</_2000>
<_2000>...</_2000>
<_2000>...</_2000>
现在我可以轻松地为此编写XSD。
答案 0 :(得分:1)
<xs:element name="loop" minOccurs="3" maxOccurs="3">
<xs:simpleType>
<xs:attribute use="required" fixed="1000" type="xs:string" name="id" />
<xs:attribute use="required" fixed="loop 1000" type="xs:string" name="name" />
</xs:simpleType>
</xs:element>
<xs:element name="loop" minOccurs="3" maxOccurs="3">
<xs:simpleType>
<xs:attribute use="required" fixed="2000" type="xs:string" name="id" />
<xs:attribute use="required" fixed="loop 2000" type="xs:string" name="name" />
</xs:simpleType>
</xs:element>