Document Structure Description
Document Structure Description oder DSD ist eine Schemasprache, die dazu dient, Klassen von XML-Dokumenten zu beschreiben, die alle dieselben syntaktischen Anforderungen bezüglich ihrer Struktur und ihres Inhalts haben. DSD wurde in Kooperation mit BRICS und AT&T Labs Research entwickelt.
Entwicklungsziele
Die Entwicklungsziele von DSD waren:[1]
- wenige und einfach zu verstehende Sprachbestandteile (auf boolescher Logik und regulären Ausdrücken basierend) und zu enthalten
- auch für Nicht-XML-Experten einfach zu verstehen sein
- Für die meisten praktischen Einsatzzwecke ausdrucksstärker als andere Dokumenttyp-Definitionssprachen zu sein
Konzepte
Das zentrale Konzept von DSD ist, dass jedes DSD-Schema aus einer Liste von Regeln besteht. Ein validierender XML-Parser muss für alle Elemente eines XML-Dokuments alle Regeln verarbeiten. Die Regeln enthalten dabei declare- und require-Abschnitte. Declare-Abschnitte definieren, welchen Inhalt (Subelemente und Zeichendaten) und welche Attribute für das Element zulässig sind. Require-Abschnitte definieren erweiterte Einschränkungen auf Inhalte und Attribute. Dabei werden Regelbedingungen und erweiterte Einschränkungen durch boolesche Logik beschrieben, während die Werte der Attribute und der Inhalt der Elemente durch reguläre Ausdrücke beschrieben werden.
Beispiel
Ein Beispiel für eine DSD ist:
<dsd xmlns="http://www.brics.dk/DSD/2.0"
xmlns:my="http://example.com">
<if><element name="my:foo"/>
<declare>
<attribute name="first"/>
<attribute name="second"/>
<contents>
<element name="my:bar"/>
</contents>
</declare>
</if>
<if><element name="my:bar"/>
<declare>
<contents>
</contents>
</declare>
</if>
</dsd>
Das Element "foo" im XML-Namensraum "http://example.com" kann die beiden Attribute "first" und "second" haben. Der Inhalt des "foo"-Elements kann ausschließlich aus dem "bar"-Element bestehen, welches es enthalten muss. Das "bar"-Element wiederum darf weder Attribute, Text noch weitere Subelemente enthalten, muss also leer sein.
Ein XML-Dokument das bezüglich oben aufgeführter DSD-Spezifikation valide wäre, wäre z. B.:
<foo xmlns="http://example.com" second="2">
<bar/>
</foo>
Weblinks
- Document Structure Description 2.0 Spezifikation (englisch)
- DSD 2.0 von den Autoren erklärt (englisch)
Einzelnachweise
- ↑ Anders Moller, Michael I. Schartzbach: Document Structure Description 2.0 ( des vom 5. März 2007 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.. BRICS, 2003 (englisch)
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.