Was ist der targetnamespace?

JavaCat++

Mitglied
Hallo :)

Ich bin absoluter Neuling in XML und verstehe einfach nicht den Sinn von Targetnamespaces.

Folgende drei listings:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prs="http://xmlbeisp.com/personen" targetNamespace="http://xmlbeisp.com/personen">
   <xsd:element name="person">
       <xsd:complexType>
           <xsd:sequence>
               <xsd:element ref="prs:nachname"/>
               <xsd:element ref="prs:vorname"/>
           </xsd:sequence>
       </xsd:complexType>
   </xsd:element>
   <xsd:element name="nachname" type="xsd:string"/>
   <xsd:element name="vorname" type="xsd:string"/>
</xsd:schema>

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prs="http://xmlbeisp.com/personen" targetNamespace="http://xmlbeisp.com/personen">
<xsd:include schemaLocation="http://xmlbeisp.com/personen.xsd"/>
   <xsd:element name="testgruppe">
       <xsd:complexType>
           <xsd:sequence>
               <xsd:element ref="prs:person"/ maxOccurs="unbounded">
               <xsd:element name="testname" type="xsd:string"/>
               <xsd:element name="testergebnis" type="xsd:string"/>
           </xsd:sequence>
       </xsd:complexType>
   </xsd:element>
</xsd:schema>


<?xml version="1.0" encoding="UTF-8"?>
<p:testgruppe xmlns:p="http://xmlbeisp.com/personen" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlbeisp.com/personen
testgruppe.xsd">
   <p:person>
       <p:nachname>Hansen</p:nachname>
       <p:vorname>Gesine</p:vorname>
   </p:person>
   <testname>IQ-Test</testname>
   <testdurchschnitt>150</testdurchschnitt>
</p:testgruppe>

Also:

1. Frage: Worauf wird im Listing mit ref="prs:nachname" referenziert, wenn kein include gemacht wurde?

2. Frage: Wofür ist genau der targetnamespace? das kapiere ich überhaupt nicht...warum macht man auch im 2. Listing "
Code:
xmlns:prs="http://xmlbeisp.com/personen"
", und weißt dies dem inkludierten Objekt
Code:
<xsd:element ref="prs:person"/ maxOccurs="unbounded">
zu, wenn der targetnameSpace von person doch genau der gleiche ist?

Vielen Dank!
 

Neue Themen


Oben