logo Xml Files

Headings: !!Info !!Links !!Beispiele !!Bottomline


Info ^

XML ist ein Datenformat zur Abbildung beliebig strukturierter Informationen.

XML-Dokumente sehen ähnlich aus wie HTML: Sie enthalten in spitze Klammern eingefasste "Tags" (<br>), Entity-Referenzen (&amp;) und andere von HTML her bekannte Auszeichnungs-Elemente.

Der XML-Standard definiert selbst keine Elemente ("Tags") oder Entities. Für den Austausch von XML-Dokumenten ist es aber wichtig, dass beide Seiten (Ersteller und Verarbeiter; Lieferant und Kunde) sich an die selben Konventionen in Bezug auf die verwendeten Elemente (Tags), Entities und auch die Struktur des Dokuments halten.

Diese Konventionen werden in der Document Type Definition (=DTD) festgelegt. Spezielle "Validating Parser" sind in der Lage, zu überprüfen, ob ein bestimmtes Dokument sich an seine DTD hält.

Anders gesagt, macht erst eine DTD eine spezielle XML-Anwendung aus. Sie definiert, welche Elemente es gibt und wie diese im Dokument angeordnet werden (müssen).


Links ^

Unter nachfolgendem Link können detaillierte Infos zu XML gefunden werden:


Beispiele ^

ErstesXmlBeispiel

Ne, das ist kein XML bzw. Dtd Standard. Würde eher so aussehen:

 <!ELEMENT object (type, path,...)>
 <!ELEMENT type (#PCDATA)>
 <!ELEMENT path (#PCDATA)>

Der XML Parser würde das dann so erkennen:

<object>Kaiserweg 1 (Guisan - Albland)

 <type>path
 </type>
 <path>
  <waypoint>
  ...
  </waypoint>
  ...

</path> ...

</object>

ok, also habe ich schonmal die DTD vergessen

 2. Beispiel

Das habe ich bereits implementiert und wird von libxml2 'gefressen', auch einschliesslich der Attribute innerhalb der Klammern. Allerdings habe ich noch 2 Fragen zu deinem Beispiel: 1.)kann das <object> auch andere undefinierte Elemente enthalten? (ich habe ja ainfach PCDATA angenommen und parse munter 'drauf los) und 2.) wieso enthält <type> denn das Wort path? das ist ja wohl nicht absichtlich gleich dem <path> element -richtig?

Hier der Text:

 <?xml version="1.0"?>
 <!DOCTYPE Map [ 
        <!ELEMENT Map (#PCDATA)> 
        <!ELEMENT Object (#PCDATA)> 
        <!ELEMENT Property (#PCDATA)> 
        <!ELEMENT Graphic (#PCDATA)> 
        <!ELEMENT Monster (#PCDATA)> 
        <!ELEMENT Thing (#PCDATA)> 
        <!ELEMENT Magic (#PCDATA)> 
 ]>

<Map Name="Taron" SizeX="10000" SizeY="10000" OriginX="5000" OriginY="5000"> Karte von Taron im Jahre 700 n.Hal. <Object X="1000" Y="200" Name="Guisan" Iconname="guisan.png"> Guisan, Sitz des Kaisers <Property Name="Health"> +=1 </Property> <Property Name="Dexterity"> gt1 </Property> <Property Name="Intelligence"> lt14 </Property> <Property Name="Health"> +=1 </Property> </Object> <Graphic X="1000" Y="200" Name="Guisan1" Iconname="guisan.png"> </Graphic> <Graphic X="500" Y="200" Name="Guisan2" Iconname="guisan.png"> </Graphic> </Map>


Bottomline ^

TarOnlineMap Wiki Anleitung[0]

Add comment
Last edited June 3, 2003

WikiOrg -- Return to WelcomeVisitors