2011-12-13 100 views
0

我尝试创建一个XML来描述带有多选选项或纯文本的练习。该XML可能看起来像这样:如何包含同名多个元素

<exercise number="1" type="multiChoice"> 
<question>My very importand question</question> 
<answer type="false">yes</answer> 
<answer type="true">no</answer> 

<exercise number="2" type="text"> 
    <question>Question 2</question> 
    <answer>the right answer</answer> 
</exercise> 

所以我试图用一个序列的答案,它没有工作,如果我尝试当我有一个以上的,以验证它<answer> -Tags在XML中。

这是架构:

<xs:complexType name="exerciseType"> 
    <xs:sequence> 
     <xs:element name="question" type="questionType"/> 
     <xs:sequence> 
      <xs:element name="answer" minOccurs="1"> 
       <xs:complexType> 
        <xs:simpleContent> 
         <xs:extension base="xs:string"> 
          <xs:attribute name="type" type="xs:boolean" use="optional"/> 
         </xs:extension> 
        </xs:simpleContent> 
       </xs:complexType> 
      </xs:element> 
     </xs:sequence> 
    </xs:sequence> 
    <xs:attribute name="number" type="xs:positiveInteger"/> 
    <xs:attribute name="type" type="xs:string"/> 
</xs:complexType> 

任何人都知道什么是错我的架构?

在此先感谢!

回答

2

你可以尝试设置maxOccurs属性:

<xs:complexType name="exerciseType"> 
    <xs:sequence> 
     <xs:element name="question" type="questionType"/> 
     <xs:element name="answer" maxOccurs="unbounded"> 
    </xs:sequence> 
    <xs:attribute name="number" type="xs:positiveInteger"/> 
    <xs:attribute name="type" type="xs:string"/> 
</xs:complexType> 

免责声明:本写不通过工具进行验证,并可以包含错误。

+0

这工作 - 谢谢你的快速答案:)! – SideEffect

相关问题