【发布时间】:2016-03-09 11:35:59
【问题描述】:
理想情况下,我希望能够在 complexType 的不同元素中使用相同的子元素名称。结果是一个测验目录。一些子元素也是 complexType。这样的事情可能吗? 这就是我目前所拥有的:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="catalog"/>
<xs:complexType name="textint">
<xs:sequence>
<xs:element name="s" type="xs:string"/>
<xs:element name="i" type="xs:int"/>
<xs:element name="s" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType mixed="true" name="inttext">
<xs:sequence>
<xs:element name="i" type="xs:int"/>
<xs:element name="s" type="xs:string"/>
<xs:element name="i" type="xs:int"/>
<xs:element name="s" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="Qstr">
<xs:complexType>
<xs:sequence>
<xs:element name="text" type="xs:string"/>
<xs:element name="a" type="xs:string"/>
<xs:element name="b" type="xs:string"/>
<xs:element name="c" type="xs:string"/>
<xs:element name="d" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Qfl">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="text" type="textint" />
<xs:element name="a" type="xs:int"/>
<xs:element name="b" type="xs:float"/>
<xs:element name="c" type="xs:int"/>
<xs:element name="d" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Qinttext">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="text" type="xs:inttext"/>
<xs:element name="a" type="xs:int"/>
<xs:element name="b" type="xs:int"/>
<xs:element name="c" type="xs:int"/>
<xs:element name="d" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Qtextint">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="text" type="xs:textint"/>
<xs:element name="a" type="xs:textint"/>
<xs:element name="b" type="xs:int"/>
<xs:element name="c" type="xs:int"/>
<xs:element name="d" type="xs:textint"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<Qstr>
<text>Welcher Mechanismus kann unter Unix zur Kommunikation über das Netzwerk verwendet werden?</text>
<a>Sockets</a>
<b>Message Queues</b>
<c>Pipes</c>
<d>Semaphore</d>
</Qstr>
<Qstr>
<text>Die Hauptstadt von Italien ist:</text>
<a>Rom</a>
<b>Athen</b>
<c>Bonn</c>
<d>Madrid</d>
</Qstr>
<Qfl>
<text>Die Quadratwurzel von 100 ist:</text>
<a>10</a>
<b>2,76</b>
<c>5</c>
<d>1</d>
</Qfl>
<Qinttext>
<text>1+1 = ?</text>
<a>2</a>
<b>1</b>
<c>3</c>
<d>4</d>
</Qinttext>
<Qtextint>
<text>Spinnen...</text>
<a>...haben 8 Beine</a>
<b>...sind Insekten</b>
<c>...sind Vögel</c>
<d>...werden bis zu 100 Jahre alt</d>
</Qtextint>
<Qstr>
<text>Die Hauptstadt von Spanien ist:</text>
<a>Madrid</a>
<b>Barcelona</b>
<c>Rom</c>
<d>London</d>
</Qstr>
</catalog>
【问题讨论】:
标签: xml