Beim Lesen der XHTML-DTDs A Guide to XML-Deklarationen

Beim Lesen der XHTML-DTDs: A Guide to XML Erklärungen

Obwohl das W3C seit langem Document Type Definitions (DTDs) für HTML, nur wenige Entwickler tatsächlich nutzen die DTDs als Grundlage für das Lernen HTML. XHTML 1.0 vereinfacht die DTDs mit der etwas freundlicheren XML-Syntax - sie zuvor verwendeten SGML mehr komplexe Syntax - und die stärkere Betonung der Anerkennung kann dazu führen, dass Entwickler sie näher zu erkunden. Eine gute Nutzung von XHTML 1.1 erfordert ein gewisses Maß an Verständnis von DTDs, so bekommen jetzt gestartet wird, eine gute Idee. Glücklicherweise ist XHTML nicht jedes Tool XML bietet, herauszufinden, XHTML ist einfacher, als alles über XML.

HinweisDas W3C ist langsam auf die neue XML-Schemas Standard zur Beschreibung von Dokumenten-Strukturen. Sie sollten lernen, XML-Schemas, wenn sie bereit sind, aber die DTDs beschrieben, in dieser Struktur bilden eine solide Grundlage für sie herauszufinden. Sie können mit XHTML 1.0 ohne Verständnis der DTD, da die Regeln für die Element-und Attributnamen Nutzung Arbeit sind die gleichen wie die für HTML 4.0. Wenn Sie jedoch über die Verwendung der Validierung Parser mit XHTML 1.0 planen, sollten Sie über DTDs, um herauszufinden, einige der Fehlermeldungen, die auftreten können. Darüber hinaus kann das Verständnis DTDs Sie helfen wesentlich mit XHTML 1.1 und dem modularen Ansatz.

HinweisDa brauchen Sie nicht unbedingt zu verstehen, DTD XHTML-Syntax zu verwenden, können Sie gerne für die Rettung dieses Artikels, wenn Sie bevorzugen, und zu ihr zurückkehren, ob und wann Sie es brauchen. Das W3C XHTML DTDs schrieb der für seine eigenen Bequemlichkeit, um sie besser handhabbar (und auf einer abstrakteren Ebene, besser lesbar) - aber um den Preis zu verlangen einige Querverweise, genau herauszufinden, was in einem bestimmten Element oder Attribut enthalten ist. Als Ergebnis werden die XHTML-DTDs nicht zum Lesen empfohlen, für Entwickler, ohne ein XML oder SGML Hintergrund. Die folgenden Abschnitte stellen die verschiedenen Arten von Erklärungen innerhalb der XHTML-DTDs in ihren einfacheren Formen verwendet, Gebäude bis zu den komplizierteren Regeln verwendet, um die XHTML 1.0-DTDs zu versammeln.

  

Tipp Wenn Sie eine Anleitung zum Erstellen und Lesen von XML DTDs in ihrer ganzen Pracht, versuchen XML: EinePrimer, 2nd Edition von Simon St. Laurent (IDG Artikel, 1999). Für noch mehr Details zu den technischen XML, siehe XML-Elements of Style (McGraw-Hill, 1999), auch von Simon St. Laurent.

Elementtyp-DeklarationenJeder gültiges Dokument besitzt ein oder mehrere Elementtyp Erklärungen, Namen, welches Element innerhalb eines Dokuments und Inhalte, die angezeigt wird innerhalb eines bestimmten Elements verwendet beschreiben. Wenn ein Element Name erscheint in einem Dokument und es gibt keine entsprechenden Elementtyp-Deklaration, Validierung Parser einen Fehler melden. (Einige Parser auch die Verarbeitung zu stoppen, aber das ist nicht erforderlich.) Auch wenn ein Element erscheint in einem Kontext, wo es nicht sollte zu erscheinen, Validierung Parser Fehler melden. Die Syntax für das Element Deklarationen ist einfach:

elementName contentModel>

Element-Namen müssen mit Buchstaben beginnen, Unterstriche oder Doppelpunkte, und sie können Buchstaben, Unterstriche, Doppelpunkte, Ziffern, Bindestriche und Punkte. Element Namen beginnend mit XML (oder jedenfalls Variation dieses, wie XML oder XML) sind für die Verwendung des W3C vorbehalten. Die Verwendung von Doppelpunkten wird abgeraten Ausnahme für die Verwendung mit Namespaces, die Artikel 4 beschreibt. Content-Modelle kann sehr viel komplizierter, ermöglicht es Designern, komplizierte Kombinationen von Elementen und Text angeben. Es gibt vier grundlegende Arten von Content-Modelle zur Verfügung: EMPTY, ANY, strukturierte Inhalte Modelle und gemischte Inhalte Modelle.

HinweisElement Deklarationen nicht bieten jedem Hintergrund auf das, was ist das Element für die, Kontexte, was sie können verwendet werden, oder das, was ihr Aussehen in einem bestimmten Kontext bedeuten könnte. Sie haben auf diese Informationen getrennt bieten, in der Regel in der Dokumentation. Element Deklarationen beschreiben nur eine kleine, aber wichtige Gruppe von Eigenschaften des Elements: Name und Inhalt erlaubt.

Die EMPTY Content-ModellDer LEER Content-Modell ist das einfachste Modell zur Verfügung. Leere Elemente können entweder leer Element-Tags oder eine Reihe von Start-und End-Tags mit überhaupt keinen Inhalt (auch Leerzeichen) zwischen ihnen. Allerdings können sie (und meistens tun) Speicherung von Informationen in Attributen, die separat angemeldet werden. Das img und br Elemente sind Beispiele für Elemente mit leeren Inhalt Modelle, und ihre Erklärungen sind sehr ähnlich:


    

Der ANY-Content-ModellDer ANY Content-Modell ist fast so einfach wie das Modell LEER. Elemente erklärt, wie JEDER kann eine beliebige Kombination von Text und (deklarierten) Elemente enthalten. Der ANY-Content-Modell ist nie in XHTML 1.0 verwendet, aber es wird manchmal für XML-Dokumente, XHTML-Inhalt enthalten (vielleicht von einem Kommentar gefolgt werden):


   

XML-Entwickler über die allgemeine Nutzung von Stirnrunzeln, sehen es als Einführung erhebliche Schwächen, aber Sie können sie entsprechend in Ihrer eigenen DTDs verwenden, am Anfang eines Projekts oder zu Räumen für zukünftige Erweiterungen zu erhalten. Mit diesem Decoder-Taste können Sie übersetzen die Content-Modell der Erklärung der Tabelle Element-Typ und seine Stücke in englischer Sprache. Die Außenseite nur Klammern umschließen den gesamten Content-Modell - eine Voraussetzung für strukturierte Inhalte Muster für Erklärungen. Der erste Eintrag in den Klammern, die Beschriftung?, Darauf hinweisen, dass ein Element caption einmal erscheinen als das erste Element in der Tabelle Element (aber es ist kann optional) . Das Komma folgende Bildunterschrift? Darauf hinweisen, dass die anderen Posten nach muss es in der Reihenfolge angezeigt werden. Das nächste Stück bietet einige Optionen:

(col * | colgroup *)

Diese Gruppierung bedeutet, dass entweder col oder colgroup Elemente nach der Überschrift angezeigt werden können und vor dem thead (wenn sie angezeigt werden), aber das col und colgroup Elemente können nicht innerhalb einer bestimmten Tabelle Element gemischt werden. Dieses Stück Markup sagt, dass entweder null oder mehr Elemente col oder null oder mehr colgroup Elemente erscheinen an dieser Stelle. Wenn die Entwickler der XHTML-Standard wollte, damit col und colgroup Elemente gemischt werden, dann hätten sie geschrieben:

(col | colgroup) * 

Diese besagt, dass null oder mehr Instanzen des Passes oder colgroup Elemente erscheinen, ohne das Verbot sowohl aus, das in einer einzigen Sequenz kann. Ein Komma folgt der (col * | colgroup *) Gruppierung, gefolgt von thead?. Wie die Überschrift? Erlaubt dies dem thead-Element erscheinen Null oder Eins-mal abgerufen. Das Komma hinter erlaubt dann tfoot? auf die mögliche Aussehen eines tfoot Element Null oder Eins-mal abgerufen. Der letzte Teil des Content-Modell ist ähnlich wie die (col * | colgroup *) Gruppierung geben, aber mit einer leichten Änderung:

(tbody + | tr +)

Auch hier kann entweder tbody oder tr-Elemente an dieser Stelle erscheinen in der Content-Modell. Allerdings ist zumindest in einem Fall eines dieser Elemente für ein gültiges Dokument erforderlich. Dies ist die einzige erforderliche Inhalte in einer Tabelle Element. Nr. Instanz der Tabelle Element erscheinen mag, ohne die mindestens ein tbody tr oder ein Element.

Mixed Content-ModelleDie meisten HTML-Elemente enthalten, die gemischte Inhalte Modelle, Welches Dokument Autoren in Text und Elemente miteinander zu vermischen, um Web-Seiten erstellen können. Gemischte Inhalte in XML-Modelle gibt es in zwei Sorten. Je einfacher Vielfalt ermöglicht es Ihnen, Elemente, die nur Text enthalten, erstellen: Der Titel-Element, zum Beispiel, kann nur Text enthalten:

PCDATA steht für parsed character data, Die einzige Art von textuellen SGML, dass XML unterstützt. Sie können schreiben, die die gleiche Erklärung wie folgt aus:

Der Stern ist optional, wenn ein Nur-Text-Element deklariert ist, aber das Sternchen macht es im Einklang mit anderen gemischte Inhalte Modelle. Gemischte Inhalte Modelle, die die Mischung aus Text und Elemente beschreiben, sind komplizierter. Sie sehen aus wie strukturierte Inhalte Modelle, mit dem | * und Indikatoren, aber Sie sind sehr, wie man sie einsetzen kann begrenzt. Die allgemeine Syntax für ein Element Typdeklaration mit gemischtem Inhalt dieser Art sieht wie folgt aus:

elementName (# PCDATA | child1 | child2 | ...) *>

Gemischte Inhalte Modelle ermöglichen es Ihnen, eine Reihe von Elementen, die gegebenenfalls mit Text erscheinen gemischten Liste, aber Sie können nicht angeben, ihre Reihenfolge oder die Anzahl, wie oft sie auftreten können. Zum Beispiel, wenn eine sehr einfache Absatz Element nur Text fett und kursiv Elementen vermischt enthält, könnten die Erklärungen wie folgt aussehen:


   
 

Auf der Grundlage dieser Erklärungen, alle Absätze hier gezeigt werden, legal:

 Es gibt nur Text in this one!  This one's fett!  This one's kursiv!  This one's Teil fett  und  Teil kursiv!  This one's Teil kursiv  und  Teil bold --  und dann  bold wieder! 

Mixed Erklärungen sind in der gesamten XHTML 1.0 DTDs verwendet, um ihre Nutzung zu verstehen gibt, müssen Sie wissen, über Parameter-Entities (die ich später in diesem Artikel).

Liste der Attribute ErklärungenListe Attribut Erklärungen können Sie die Attribute, die Sie über bestimmte Element-Typen verwenden können, angegeben werden. Jedes Element in XHTML hat mindestens einen Kern von Attributen so Attributliste Erklärungen (manchmal abgekürzt ATTLIST Erklärungen) sind ein wichtiger Bestandteil der XHTML 1.0 DTDs. Sie haben mehr Optionen für Attributliste Erklärungen als Element im XML-Deklarationen, aber zum Glück die XHTML 1.0-Spezifikation bleibt weg von den kompliziertesten Arten von Attributen. Die grundlegende Syntax für ein Attribut Liste Erklärung sieht wie folgt aus:

elementName attName attType Standard attName attType Standard ... >

Mehrere Attributliste Erklärungen können für ein einzelnes Element enthalten ist, obwohl die erste Definition eines bestimmten Attribut für ein bestimmtes Element ist die, die in wiederholten Definitionen verwendet wird. Eine beliebige Anzahl von Attributen für ein bestimmtes Element in einem bestimmten Attribut Liste Erklärung festgelegt werden, gar keine:

Attributnamen gelten die gleichen Regeln wie Elementnamen: Sie müssen mit Buchstaben beginnen, Unterstriche oder Doppelpunkte und können Buchstaben, Unterstriche, Doppelpunkte, Ziffern, Bindestriche und Punkte. Attributnamen Anfang mit XML (oder auf jeden Fall Variante dass, wie XML oder XML) sind für die Verwendung des W3C vorbehalten. Darüber hinaus ist die Verwendung von Doppelpunkten entmutigt Ausnahme für die Verwendung mit Namespaces. Die einfachste Art der Attribut ist der Typ CDATA, eine Abkürzung für Character DATA. Die einfachste Standardmäßig ist das Schlüsselwort # IMPLIED, die keine Lieferung und keine Standard-Wert für das Attribut. Eine sehr einfache Attribut-Deklaration könnte wie folgt aussehen:

Die folgenden Abschnitte behandeln die Attributtypen und Standard-Optionen im Detail.

Arten von AttributenWerfen wir einen Blick darauf, wie diese Attribute verwendet werden, durch die Erforschung von Teilmengen der Erklärungen in der XHTML DTD beschäftigt. Die DTD nutzt Parameter-Entities, die später in diesem Artikel, und kleinere Beispiele abgedeckt sind einfacher zu handhaben, so dass wir Beispiele, die leicht zu lesen, erstellen werden, sind aber nicht die exakte Zitat aus dem XHTML DTD. Auch, wie Sie sehen werden, wird der W3C Parameter-Entities, die Erwartungen für Attribut-Inhalte, die nicht ausgedrückt werden mit den grundlegenden Typen können angegeben werden. Attribute vom Typ CDATA erscheinen in der XHTML-DTDs. CDATA ist der lockerste Modell, Aufnahme aller Arten von Anforderungen während der Einstellung sehr wenige Erwartungen. CDATA-Attribut-Typen können URLs zu halten, numerische Informationen, Style-Informationen - im Grunde alles, was als Text ausgedrückt werden kann. Eine Teilmenge der Attribut-Liste Erklärung für das img-Element, zum Beispiel könnte so aussehen:


    

Das src-Attribut, das ein URL stattfindet, ist als CDATA vertreten. Die alt-Attribut, das Text enthält, um, wenn das Bild nicht geladen wird, wird auch als CDATA trotz der Unterschiede zwischen ihrem Inhalt und ihrer vertreten, dass der src-Attribut. Die Höhe und Breite Attribute, die Längen zu akzeptieren, auch CDATA. CDATA können all diese verschiedenen Typen zu verarbeiten, weil es so wenige Beschränkungen für deren Inhalt. Der XHTML 1.0 Recommendation Namen alle seine Attribute des Typs ID als ID und macht sie zugänglich für jedes einzelne Element in der DTD. Um die ID-Element, um das img-Element hinzufügen, die Sie gerade benutzen Sie dies:

 

Oder fügen Sie diese auf der obigen Liste:


    

Die IDREF und IDREF Attribut-Typen sind sparsam verwendet werden. Das Label-Element, das die Erstellung von Etiketten für alle Elemente in einem Dokument ermöglicht, ist ein Attribut, das für einen ID-Wert beschreibt den Inhalt enthalten sollte beschriftet werden:


    

Dieser Mechanismus kann das Etikett ein und beziehen sich nur ein Element in einem Dokument - die, die ein id-Attribut-Wert entsprechen, die von der Label für das Attribut. IDREFS ebenfalls eingesetzt werden, hat, obwohl sie ein einziges Attribut erlauben, mehrere ID-Werte beziehen sich . XHTML 1.0 verwendet IDREFS zu ermöglichen Tabellenzellen auf die Header-Etiketten, die sie beschreiben Punkt:


    
    

Komplexe Tabellen manchmal sprießen in mehreren Ebenen von Überschriften, dies kann zu verwalten Tabelle Reorganisation oder Analyse. Zum Beispiel, verwendet XHTML die NMTOKEN Attributtyp zu beschränken Inhalte auf ein einziges Wort. In der a, Karte, und Objekt-Elemente wird NMTOKEN verwendet, um den Wert des name-Attribute den gleichen Regeln zu beschränken, die id-Attribute gelten:


    
    
    

XHTML verwendet aufgezählten Attribute zu beschränken, um die Werte für ein Attribut, eine kleine Menge der erlaubten Möglichkeiten, wie einer Liste angezeigt. Aufgezählten Attribute erscheinen in der DTDs. Die Verwendung von ein numerisches Attribut type, um Werte zu beschränken, ist nützlich, vor allem für die Input-Elemente, in denen das Attribut type die "reale" Bedeutung des Elements definiert:


    

Aufzählungstypen auch für bestimmte Attribute (wie die ismap Attribut für img-Elemente, die nur einen Wert, wenn Aufzählungstypen verwendet werden) haben, können verwendet werden:

Wenn das img-Element als ein Bild Karte behandelt werden, sollte das Dokument Schöpfer der ismap Attribut verwenden, sehen Sie hier:

Wenn das Bild nicht anzeigen, das img-Element sollte nicht ein ismap Attribut überhaupt wie hier gezeigt:

XHTML 1.0 verwendet nicht die NMTOKENS, NOTATION, Einrichtungen oder ENTITIES Attributtypen überhaupt. Allerdings ist ihre Verwendung nicht in XML DTDs verboten sind, sind so konzipiert, beinhalten oder durch XHTML aufgenommen werden. Wenn Sie diese Typen in einer DTD, die Sie mit XHTML, stoßen in der Dokumentation zu dieser DTD in Bezug auf ihre sinnvolle Verwendung.

Ein Artikel eingereicht von Albert Lichtblau


Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle.
Wichtig: Dieser Artikel "Lesen der XHTML-DTDs A Guide to XML-Deklarationen" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.


Online: 310 users browsing the articles directory