XML Format entwerfen

Tikonteroga

Erfahrenes Mitglied
Hallo,

ich möchte ein XML-Format entferfen, das ich später möglichst einfach über eine TreeView und ein DataGrid einfach bearbeiten können muss und mit XSLT-Stylesheets in andere Text-Formate transformieren können muss.

Dabei stehe ich zurzeit vor folgenden Fragestellungen.

  • Wann realisiere ich einen simpleType als Attribut und wann als Element ?
  • Wie kann ich innerhalb von einem XML Dokument elemente unabhängig von ihrer Hirarchie mit einander verknüpfen. So wie in einer relationalen Datenbank über die Fremdschlüssel. Kann ich das mit XPointer oder XPath realisieren ?
  • Wenn ich Elemente mit XPointer oder XPath miteinander verknüpfe, werden diese Verknüpfungen dann wie mit XInclude durch die XmlDocument Klasse in C# aufgelöst, wenn ich einen entsprechenden Reader beim Einlesen der Datei verwende ?
 
Was die Verknüpfung von Knoten angeht, so bietet eine DTD das mittels ID und IDREF-Attributen und in der W3C-XML-Schemasprache wird das durch key und keyref generalisiert, siehe http://www.w3.org/TR/xmlschema-0/#specifyingKeysAndtheirRefs.
In XSLT und XPath 1.0 wird die DTD-basierte Verknüpfung mittels der http://www.w3.org/TR/xpath/#function-id Funktion unterstützt, in XSLT und XPath 2.0 wird das ausgeweitet auch auf schema-basierte ID und IDREF, siehe http://www.w3.org/TR/xpath-functions/#func-id und http://www.w3.org/TR/xpath-functions/#func-idref. Und um nicht nur bei Verwendung von DTDs oder Schemata die Verwendung und Auflösung von Querverweisen zu ermöglichen, bietet XSLT (sowohl 1.0 als auch 2.0) das xsl: key-Element und die "key"-Funktion http://www.w3.org/TR/xslt#key.

Ob man ein Attribut oder ein Element für einen einfachen Typen verwendet, ist oft strittig, http://xml.silmaril.ie/attributes.html gibt Anhaltspunkte.
 
Zurück