我想要一个这个xml的模式
<person>
<name age="12" code="abc">Jack</name>
</person>
Age must be between 10-90, code must be 3 letters, Name must be atmost 5 letters.
我无法在同一complexType中对元素“name”的限制及其属性的限制
这就是我所做的。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="name">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="age">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="10"/>
<xs:maxInclusive value="90"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="code">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-z][a-z][a-z]"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
我不知道在哪里对Name元素进行限制。请帮助。
答案 0 :(得分:0)
刚想通了。
<xs:simpleType name="nameRes">
<xs:restriction base="xs:string">
<xs:minLength value="5"/>
</xs:restriction>
</xs:simpleType>
现在应该将此类型定义为扩展基值。 :P