元素与属性的类型不同?

问题描述:

我正在编写一个简单的游戏并编写* .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类型和复杂类型...那么如何解决这个问题?

问候和THX提前

+0

可能重复:http://*.com /问题/ 626319 /附加属性对A-简单类型或 - restrictrion至A-复杂类型功能于XML的模式 – DRH 2012-04-07 16:26:05

你错过的内容的定义,在您的案件简单,因为它延伸的简单类型:

<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>