2012-09-26 1 views
2

XML 스키마에이라는 재귀 요소를 디자인하고 구현하려고하지만 일반적으로 XML에별로 좋지 않습니다. 디자인 방법에 대한 아이디어가 있습니까?XML의 재귀 요소

+0

[XML 스키마의 재귀?] 가능한 복제본 (http://stackoverflow.com/questions/148988/recursion-in-an-xml-schema) –

답변

4

아래 모델은 요소 선언이 전역이고 재귀 성이 요소 정의를 참조하여 작성되는 제작 스타일을 기반으로합니다.

<?xml version="1.0" encoding="utf-8" ?> 
<!--XML Schema generated by QTAssistant/XML Schema Refactoring (XSR) Module (http://www.paschidev.com)--> 
<xsd:schema targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <xsd:element name="recursive" type="Trecursive"/> 
    <xsd:complexType name="Trecursive"> 
     <xsd:sequence> 
      <xsd:element ref="recursive" minOccurs="0"/> 
     </xsd:sequence> 
    </xsd:complexType> 
</xsd:schema> 

유효 샘플 XML : 당신이 사이 어딘가에 갈 수

<?xml version="1.0" encoding="utf-8" ?> 
<!--XML Schema generated by QTAssistant/XML Schema Refactoring (XSR) Module (http://www.paschidev.com)--> 
<xsd:schema targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <xsd:element name="recursive" type="Trecursive"/> 
    <xsd:complexType name="Trecursive"> 
     <xsd:sequence> 
      <xsd:element name="recursive" type="Trecursive" minOccurs="0"/> 
     </xsd:sequence> 
    </xsd:complexType> 
</xsd:schema> 

또는 :

<?xml version="1.0" encoding="utf-8" ?> 
<!--XML Schema generated by QTAssistant/XML Schema Refactoring (XSR) Module (http://www.paschidev.com)--> 
<xsd:schema targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <xsd:element name="recursive"> 
     <xsd:complexType> 
      <xsd:sequence> 
       <xsd:element ref="recursive" minOccurs="0"/> 
      </xsd:sequence> 
     </xsd:complexType> 
    </xsd:element> 
</xsd:schema> 

양자 택일로, 당신은 유형을 다시 사용하여 동일한을 달성 할 수있다

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<!-- Sample XML generated by QTAssistant (http://www.paschidev.com) --> 
<recursive xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/XMLSchema.xsd"> 
    <recursive> 
     <recursive/> 
    </recursive> 
</recursive> 
+0

제 목표는 완벽합니다. 감사 ;) – Zany