元素的属性与属性不同?

时间:2012-04-07 15:11:47

标签: xml xsd

我正在编写一个简单的游戏并编写* .xsd文件。

我的问题是该元素应该具有1到6之间的数字, 并且该属性应该具有1到4之间的数字。

这是我的代码,但它不起作用类型的原因:

        <xsd:element name="roll" type="numb_1_and_6">
            <xsd:complexType>
                <xsd:attribute name="player" use="required">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:integer">
                            <xsd:minInclusive value="1" />
                            <xsd:maxInclusive value="4" />
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:attribute>
            </xsd:complexType>
        </xsd:element>

<xsd:simpleType name="numb_1_and_6">
    <xsd:restriction base="xsd:integer">
        <xsd:minInclusive value="1" />
        <xsd:maxInclusive value="6" />
    </xsd:restriction>
</xsd:simpleType>

问题是numb_1_and_6-Type和复杂类型......那么如何解决这个问题呢?

问候和thx提前

1 个答案:

答案 0 :(得分:1)

你错过了内容的定义,在你的情况下很简单,因为它扩展了一个简单的类型:

<xsd:element name="roll"> 
    <xsd:complexType>
        <xsd:simpleContent>
            <xsd:extension base="numb_1_and_6">
                <xsd:attribute name="player" use="required"> 
                    <xsd:simpleType> 
                        <xsd:restriction base="xsd:integer"> 
                            <xsd:minInclusive value="1"/> 
                            <xsd:maxInclusive value="4"/> 
                        </xsd:restriction> 
                    </xsd:simpleType> 
                </xsd:attribute>                    
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType> 
</xsd:element>