2016-05-05 5 views
1

Ich habe ein XML-Schema mit vielen Elementen. Ein Element, patient, hat viele Kindelemente. Dieses Patientenelement ist ein Kind des Wurzelelements und eines anderen Elements. Muss ich den gesamten Code des Elements patient zweimal in diesem Dokument kopieren oder gibt es ein Kopierlinkelement oder etwas anderes?Verwenden Sie ein Element zweimal in einem XSD?

Antwort

2

Sie haben eine Verwendung von xs:element/@ref beschrieben:

<?xml version="1.0"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 

    <xs:element name="root"> 
    <xs:complexType> 
     <xs:sequence> 
     <!-- First reference to patient --> 
     <xs:element ref="patient"/> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 

    <!-- Additional references to patient --> 

    <!-- Reused definition of patient --> 
    <xs:element name="patient"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element name="name" type="xs:string"/> 
     <xs:element name="birthdate" type="xs:date"/> 
     <xs:element name="weight" type="xs:decimal"/> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 

</xs:schema> 
+0

Dank! Also hat das erste Vorkommen das ref-Element und das zweite das Element? –

+0

Ja, definieren Sie global über 'xs: element/@ name' und dann über' xs: element/@ ref'. – kjhughes