2012-04-06 28 views
1

我在一個xsd規格工作(對於一個簡單的遊戲;)),其具有說明書中:如何在xsd中定義一個特定的數字?

我有一個ELEM players與屬性number,這表明的球員(1 and 4之間的數Num) 。作爲childelems,它包含零到四個元素的元素。這些元素具有玩家屏幕名稱的文本內容和屬性,它表示遊戲號碼的結尾(1 and 4之間的數字)。

我的大問題是在xsd中的screenname和Intervall類型? 那麼該怎麼做?

問候和THX提前

+1

可能是一個好主意,添加您想要的XML樣本。我喝暈了。 – 2012-04-06 12:36:06

+0

我同意@Nick,當您發佈示例XML時,獲得更好答案的機會更快,機會更高。 – 2012-04-06 13:41:45

回答

1

這是什麼,我認爲你所描述的:

<players number="2"> 
    <screenname endofgame="3">player screenname text content</screenname> 
</players> 

這將是一個自動生成的XSD:

<?xml version="1.0" encoding="utf-8"?> 
<!--W3C Schema generated by QTAssistant/W3C Schema Refactoring Module (http://www.paschidev.com)--> 
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <xsd:element name="players"> 
    <xsd:complexType> 
     <xsd:sequence> 
     <xsd:element name="screenname"> 
      <xsd:complexType> 
      <xsd:simpleContent> 
       <xsd:extension base="xsd:string"> 
       <xsd:attribute name="endofgame" type="xsd:unsignedByte" use="required" /> 
       </xsd:extension> 
      </xsd:simpleContent> 
      </xsd:complexType> 
     </xsd:element> 
     </xsd:sequence> 
     <xsd:attribute name="number" type="xsd:unsignedByte" use="required" /> 
    </xsd:complexType> 
    </xsd:element> 
</xsd:schema> 

這將是一個額外的限制,如下所述:a num between 1 and 4zero to four screenname elements 。通過前後看,你應該明白哪一個是哪個。

<?xml version="1.0" encoding="utf-8"?> 
<!--W3C Schema generated by QTAssistant/W3C Schema Refactoring Module (http://www.paschidev.com)--> 
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <xsd:element name="players"> 
    <xsd:complexType> 
     <xsd:sequence> 
     <xsd:element name="screenname" minOccurs="0" maxOccurs="4"> 
      <xsd:complexType> 
      <xsd:simpleContent> 
       <xsd:extension base="xsd:string"> 
       <xsd:attribute name="endofgame" type="Int1to4" use="required" /> 
       </xsd:extension> 
      </xsd:simpleContent> 
      </xsd:complexType> 
     </xsd:element> 
     </xsd:sequence> 
     <xsd:attribute name="number" type="Int1to4" use="required" /> 
    </xsd:complexType> 
    </xsd:element> 
    <xsd:simpleType name="Int1to4"> 
    <xsd:restriction base="xsd:int"> 
     <xsd:minInclusive value="1"/> 
     <xsd:maxInclusive value="4"/> 
    </xsd:restriction> 
    </xsd:simpleType> 
</xsd:schema> 
0

要指定您需要使用的minOccurs和maxOccurs屬性的元素復發的量。