Announcement

Collapse
No announcement yet.

XSD Schema in XML einbinden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • XSD Schema in XML einbinden

    Hallo Zusammen,

    ich beschäftige mich zum ersten mal mit schema Dateien und habe eine vermutlich sehr einfach Frage :-)

    Ich möchte wissen in welcher Form ich eine schema Datei in meine xml dokumente einbinden kann. Also den Verweis innerhalb des XML Dokuments auf die XSD Datei.

    Anbei: Ist es möglich auf ein Schema zu verweisen und parallel noch auf eine DTD?

    Mein erster Ansatz um es einzubinden sieht folgdermaßen aus:

    Danke für Eure Hilfe

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://example.org/employee/">

    <include schemaLocation="C:\myFolder\T_test.xsd"/>

    </xsd:schema>
    <!DOCTYPE test SYSTEM "\\test\Konfig\test.dtd">

  • #2
    Die einzige sinnvolle Verbindung von Schema und DTD ist AFAIK die zusätzliche Deklaration von Entity-Referenzen. Das sieht dann so aus (im Beispiel internes DTD-Fragment) und hier ist auch die gesuchte Angabe des Schemas ersichtlich:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE root [
      <!ENTITY hw "Hallo Welt!">
    ]>
    <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test.xsd">
      <child>Hallo</child>
      <child>Welt</child>
      <child>&hw;</child>
    </root>
    Das verwendete Schema test.xsd:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
      <xs:element name="root">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="child" minOccurs="1" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="child" type="xs:string"/>
    </xs:schema>

    Comment

    Working...
    X