我正在研究xsd规范(对于一个简单的游戏;)),它具有该规范:
我有一个Elem players
,其属性为number
,表示玩家的数量(1 and 4
之间的数字)。作为childelems,它包含零到四个screenname
元素的元素。这些元素具有播放器屏幕名称文本内容和属性,表示游戏编号的结束(1 and 4
之间的数字)。
我的大问题是屏幕名称和xsd中典型的Intervall? 那怎么办?
问候和thx提前
答案 0 :(得分: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 4
和zero 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>
答案 1 :(得分:0)
要指定元素的重复发生量,需要使用minOccurs和maxOccurs属性。