1

我正在研究具有该规范的 xsd 规范(对于一个简单的游戏;)):

我有一个players带有属性的 Elem number,它表示玩家的数量(一个 num 之间1 and 4)。作为子元素,它包含零到四个元素的screenname元素。这些元素有玩家网名文本内容和属性,表示游戏结束的编号(介于 之间的数字1 and 4)。

我的大问题是 xsd 中一个类型的屏幕名称和 Intervall?那么该怎么做呢?

提前问候和谢谢

4

2 回答 2

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>
于 2012-04-06T13:38:38.203 回答
0

要指定元素的重复次数,您需要使用 minOccurs 和 maxOccurs 属性。

于 2012-04-06T12:34:48.437 回答