0

我想要这个 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 中

这是我所做的。

<?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 元素的限制。请帮忙。

4

1 回答 1

0

刚刚想通了。

<xs:simpleType name="nameRes">
    <xs:restriction base="xs:string">
        <xs:minLength value="5"/>
    </xs:restriction>
</xs:simpleType>

现在应该将此类型定义为扩展基值。:P

于 2013-09-26T09:09:33.017 回答