2012-03-29 8 views
0

Kann ich ein XSD-Schema dafür schreiben? Bitte beachten Sie, dass die Kategorie innerhalb einer anderen Kategorie (gleicher Name) wiederholt wird. (Sorry, ich bin neu in XML-Schema.)Ist dieses XML legal und kann ich XSS dafür generieren?

<list> 
     <category name="..."> 
       <category name="Cats"> 
        <subcategory>Syamese</subcategory> 
       </category> 
     </category> 
     <category name="..."> 
       <category name="Dogs"> 
        <subcategory>Fox Terier</subcategory> 
       </category> 
     </category> 
</list> 

Mein aktueller XSD die folgenden, aber es ist nur gut für nur eine Kategorie-Wrapper.

<xs:element name="category"> 
    <xs:complexType> 
     <xs:sequence> 
      <xs:element name="category"> 
       <xs:complexType> 
        <xs:sequence minOccurs="0"> 
         <xs:element ref="category"/> 
         <xs:element maxOccurs="unbounded" ref="subcategory"/> 
        </xs:sequence> 
       </xs:complexType> 
      </xs:element> 
     </xs:sequence> 
    </xs:complexType> 
</xs:element> 

Ich weiß, ich würde besser eine der Kategorien umbenennen. Aber kann ich das trotzdem machen?

Antwort

2

Ja, das ist legal. Vielleicht nicht bequem. Denken Sie an XHTML. Sie können Div in Div in Div ... genau wie Ihre Kategorie in der Kategorie verschachteln.

Ihnen fehlt der Listenelementteil in Ihrem XSD.

+0

aus irgendeinem Grund übergibt dies nicht DOMDocument :: shemaValidate() ... – valk