Profitieren Sie von dieser reichhaltigeren Inhaltsstruktur, bis Browser die nächste Generation von XHTML verarbeiten können
Die XHTML 2-Spezifikation ist noch nicht vollständig, bietet aber bereits viele Vorteile gegenüber XHTML 1, einschließlich umfangreicherer Strukturfunktionen, die XHTML 2 zu einem Bearbeitungsformat machen, das besser als zentrales Modell für ein Einzelressourcen-Veröffentlichungssystem dienen kann als sein Vorgänger. Führen Sie große oder kleine Veröffentlichungen durch
Profitieren Sie von dieser reichhaltigeren Inhaltsstruktur, bevor Browser die nächste Generation von XHTML verarbeiten können
Die XHTML 2-Spezifikation ist noch nicht vollständig, bietet aber bereits viele Vorteile gegenüber XHTML 2 wird als Bearbeitungsformat besser als sein Vorgänger als zentrales Modell für Single-Ressource-Publishing-Systeme dienen. Benutzer großer oder kleiner Versionen können jetzt mit der Nutzung der neuen Funktionen von XHTML 2 beginnen, ohne darauf warten zu müssen, dass Browser die neuen Funktionen der Benutzeroberfläche unterstützen.
Vor etwa einem Jahr bat mich eine Industriestandardgruppe, zu beschreiben, wie XHTML2 für Verlage nützlich sein könnte. Ich wusste nicht, ob es praktikabel wäre, aber sie boten an, die Kosten für die Reise nach New York zu übernehmen, also beschloss ich, es zu prüfen.
Die Recherche, die ich durchgeführt habe, erforderte keinen großen Aufwand. XHTML 2 fügt XHTML eine umfassendere Struktur hinzu und macht es zu einem Format, das zum Erstellen und Speichern von Inhalten und nicht nur zum Übermitteln von Inhalten an den Browser verwendet werden kann. Ich übertreibe ein wenig, wenn ich sage, dass XHTML 2 bereits nützlich ist; viele Shops haben einige sehr sinnvolle Richtlinien für diesen unfertigen Standard, und XHTML 2 befindet sich noch im Arbeitsentwurfsstadium (weitere Informationen zu , siehe Ressourcen). Im Gegensatz zu fast allen HTML-bezogenen Standards kann XHTML 2 einen großen Mehrwert bieten, bevor es von bekannten Browsern unterstützt wird, da es Inhalte eher in einer reichhaltigeren und komplexeren Struktur speichert und nicht zu sehr von der vertrauten Struktur abweicht HTML-Elemente und -Attribute.
Der aktuelle Stand von XHTML: Wo stehen wir jetzt
Der W3C-XHTML-1.0-Standard erstellt eine XML-Version von HTML. Während Browser nicht allzu genau darauf achten, ob eine Webseite wohlgeformtes XML ist, sehen Website-Designer, die es satt haben, eine Methode für Firefox und eine andere für Microsoft™ Internet Explorer zu verwenden, weitere Änderungen bei den Standards. Viele Open-Source-CSS-Sammlungen (z. B. Open Web Design und Open Source Web Design, Links zu beiden finden Sie unter „Ressourcen“) verwenden zu Demonstrationszwecken in ihren Stylesheets XHTML 1-Beispieldateien, und ich habe von einigen gehört, von denen kaum bekannt ist, dass sie gut funktionieren Erfahrene Webdesigner sind stolz darauf, dass ihre Websites mit XHTML erstellt wurden. Da Internet Explorer und Firefox immer mehr CSS-Funktionen unterstützen, fügen diese Webdesigner mehr Designtechniken zu CSS-Stylesheets hinzu und belassen so einfacheres und unkomplizierteres (und leichter wiederverwendbares) XHTML im Basisdokument.
XHTML 1.1 (siehe Ressourcen) fügt keine neuen Funktionen hinzu, sondern unterteilt XHTML in Module. Sein Wert spiegelt sich in zwei Aspekten wider. Erstens: Wenn wir feststellen, dass einige Module einen Wert haben, andere jedoch nicht, kann es einfacher sein, eine Teilmenge davon zu übernehmen. Beispielsweise hat das Wireless Application Forum (WAP) allen Grund, grundlegende XHTML-Strukturen in seine Standards für die Bereitstellung von Inhalten auf Mobiltelefonen zu integrieren, möchte jedoch nicht zulassen, dass WAP-Dokumente Benutzeroberflächenfunktionen enthalten, wie sie auf Mobiltelefonen verwendet werden. Die Funktionen des Bildzuordnungs- oder Bearbeitungsmoduls sind auf dem kleinen Bildschirm nicht sehr nützlich.
Ein weiterer Vorteil einer modularen Architektur für DTDs oder Schemas besteht darin, dass es einfacher sein kann, neue Module einzubinden, die für die Anwendung eines Benutzers einzigartig sind. In Kombination mit der Möglichkeit, vorhandene Module auszuwählen, bringt diese Funktion Vorteile für die Verlagsbranche: Die PRISM-Standardgruppe, die sich den Metadaten der Verlagsbranche widmet, hat eine Teilmenge von XHTML 1.1 ausgewählt und dann einige neue Module mit branchenspezifischem Vokabular hinzugefügt, um es einfacher zu machen um Inhalte über Veröffentlichungsworkflows zu verfolgen. (Weitere Informationen zu PRISM finden Sie unter Ressourcen.)
Sie können die Entwicklung von XHTML 1.1 mit dem Aufräumen Ihres Kellers vergleichen: Sie müssen wahrscheinlich nicht so viel Zeug wegwerfen, und wenn Sie es besser organisieren, können Sie es auch einfacher nutzen Vorhandene Gegenstände können sogar Platz schaffen, um eine Werkbank zu bauen, auf der etwas Neues entstehen kann.
XHTML 1.1 ist seit Mai 2001 ein Standard (oder, im W3C-Sprachgebrauch, eine Empfehlung). Die jüngste Entwicklung bei XHTML 2.0 war die Veröffentlichung eines neuen Arbeitsentwurfs im Juli 2006. Obwohl es mehrere Phasen bis zur endgültigen Form erfordern wird, ermöglicht uns die Verfügbarkeit des RELAX NG-Schemas (siehe Ressourcen für einen Link) jetzt die Erstellung und Verwendung von XHTML 2-Dokumenten, sodass wir schnell zur Spezifikation übergehen können, wenn sie zu einem wird Empfehlung zu XHTML. Ein einfaches XSLT-Stylesheet konvertiert diese Dateien zur Anzeige im Browser in XHTML 1, oder Sie können ein CSS-Stylesheet verwenden, das jetzt in XHTML 2 Working Draft enthalten ist (siehe Ressourcen), um es in einem Browser anzuzeigen (im Moment sollte Firefox besser funktionieren). .
XHTML 2: Was ist neu?
XHTML 2 behält die Funktionalität von XHTML 1 bei, bereinigt die vorhandene Syntax und macht sie prägnanter und fügt gleichzeitig einige neue Funktionen hinzu. Es bietet Unterstützung für XForms, den vollständigeren Nachfolger von Formularen, die seit mehr als einem Jahrzehnt in HTML verwendet werden. XHTML 2 enthält auch XML-Ereignisse, die es uns ermöglichen, Ereignisse zu identifizieren, die durch bestimmte Benutzeroberflächenvorgänge ausgelöst werden, wodurch die Notwendigkeit reduziert wird, Skripte in JavaScript oder ASP zu schreiben. Diese Funktionen werden interessant sein, insbesondere wenn die großen Browser sie unterstützen, aber andere Funktionen werden für Herausgeber interessanter sein, noch bevor Browser XHTML unterstützen:
Eine reichhaltigere, wiederverwendbarere Struktur
Bessere Geräteunabhängigkeit, einfacherer Zugriff und bessere Semantik
Einfacheres Hinzufügen von Metadaten
#P#
Umfangreichere Struktur
Viele Verlage, die Inhalte in XML speichern müssen, wissen, dass es besser ist, ein vorhandenes Standardschema zu verwenden (womit ich W3C-Schema, RELAX NG-Schema oder DTD meine), als eines von Grund auf zu erstellen. Sie schauen sich DocBook an und finden es zu komplex, sie schauen sich HTML oder XHTML 1 an und finden es zu einfach. Für viele Verlage stellt XHTML 2 eine gute Balance zwischen dem Reichtum von DocBook und der Einfachheit von der Medien.
Listing 1 enthält eine Beispiel-XHTML-1-Datei und zeigt deren Struktur im eingerückten Format.
Listing 1. Struktur der XHTML 1-Datei
Hier ist meine Webseite.
Hier ist Abschnitt 1 meiner Webseite.
Hier ist ein Unterabschnitt meiner Webseite.
Hier ist Abschnitt 2 meiner Webseite.
Hier ist ein Unterabschnitt meiner Webseite.
Hier ist Abschnitt 2 meiner Webseite.
In dieser Version des Codes ist der Absatz „Hier ist ein Unterabschnitt“ das Urenkelelement des ersten Abschnittselements und der Absatz „My Das h-Element „Webseite“ innerhalb dieses Abschnittselements zeigt seinen Haupttitel an – wie er sollte!
Einer der Vorteile dieser reichhaltigen Struktur (und ein Hauptgrund, warum XHTML 2 besser als XHTML 1 als zentrales Format für Single-Source-Publishing-Systeme geeignet ist) besteht darin, dass es einfacher zu streamen ist. Wenn Sie eine große Menge an Eingaben verarbeiten müssen und diese vor der Verarbeitung nicht in den Speicher laden können (z. B. wenn Sie Inhalte für eine CD-ROM vorbereiten), kann der Prozessor leichter herausfinden, wo jedes sectiong-Element in der Datei endet XHTML 2-Dokument. Angenommen, wir möchten alle Titel aufrufen, die das Wort „Beagle“ enthalten. Diese Überschriften zu finden ist einfach, aber zu entscheiden, wo ein Abschnitt in XHTML 1 endet, ist nicht so schwierig. Unabhängig davon, ob die Verarbeitung dieser Art von XHTML eine streambasierte Schnittstelle, Xquery oder XSLT verwendet, kann die Extraktion durch die klare Definition, wo ein Abschnitt endet, erheblich vereinfacht werden.
Stellen Sie sich nun vor, Sie extrahieren diese Abschnitte, weil Sie sie zu einer neuen Version über Beagle hinzufügen werden, und jeder Abschnitt, den Sie extrahieren, hat ein h3-Element als Kopfzeile. Nummerierte XHTML 1-Header wie h3 sind in XHTML 2 immer noch zulässig, aber was ist, wenn eine neue Version diese Elemente als Hauptabschnitt oder Unterabschnitt eines speziellen Abschnitts verwendet? Sie müssen zurückgehen und das h3-Element in ein h2-Element oder ein h4-Element oder ein anderes Element ändern, das seine Rolle im neuen Kontext erkennt. Wenn es sich im Originaldokument um XHTML 2 h-Elemente handelt, wird ihre Rollenebene durch die Nummer jedes Abschnittsvorfahrenelements angezeigt (z. B. hat das Abschnitt 1.1 h-Element in Listing 2 drei Abschnittskopfvorfahrenelemente und die „Meine Webseite“) "h-Element) können Sie sie in ein neues, unverändertes Dokument einfügen, wobei ihre Rollen durch die verschachtelte Anordnung der Abschnittselemente des neuen Dokuments angegeben werden. CSS, XSLT und andere XML-Verarbeitungstools und -Standards bieten alle eine Möglichkeit, Elemente mit demselben Namen basierend auf Verschachtelungsebenen zu verarbeiten, sodass wir die Nummer, die Teil des XHTML 1-Headers ist, nicht übersehen. Wenn wir die Anzahl der (X)HTML-Dokumente betrachten, die h2- und h3-Elemente, aber kein h1-Element, oder h1- und h3-Elemente, aber kein h2-Element haben, wird deutlich, dass zu viele Leute sie nicht verwenden, um die entsprechende Hierarchie anzugeben.
In XHTML 2 kann es mehr Strukturen innerhalb des p-Elements geben. Ich würde gerne einen Beispielcode in eine Anweisung einführen, wie diesen:
print „Hello? World?“;
Wenn ich die Anweisung nach dem Beispielcode fortsetzen möchte, zwingt mich XHTML 1 dazu, die Anweisung zu teilen Die in zwei Teile unterteilte Anweisung wird in zwei verschiedenen p-Elementen platziert, befindet sich aber semantisch in derselben Anweisung. Mit XHTML 2 können wir Beispielcode, ungeordnete und nummerierte Listen und viele andere Blockelemente in einem p-Element platzieren, sodass unser Markup die Struktur des Dokuments genauer widerspiegeln kann.
Um einen kleinen Schritt vom Präsentations-Markup zum Struktur-Markup zu machen, benennen Sie das hr-Element in „separator“ um. Die HTML-Arbeitsgruppe stellte fest, dass der ursprüngliche Name, der für horizontale Regel stand, oft in die Grauzone zwischen strukturellem und präsentativem Markup fiel. Sie erhielten einige vertikale Regelanfragen von Benutzern in asiatischen Sprachen und stellten fest, dass viele der horizontalen Trennzeichen keine wirklichen Regeln waren (Steven Pemberton, Vorsitzender der HTML-Arbeitsgruppe, gab eine Erklärung ab, in der er darauf hinwies, dass in James Joyces Ulysses mehrere verschiedene Variationen; siehe Ressourcen für einen Link zu dieser Aussage). Dies ermöglichte es ihnen, das hr-Element umzubenennen, um den Namen, für den es verwendet wurde, genauer zurückzugeben, und ermöglichte mehr Flexibilität bei den Anweisungen.
#P#
Bessere Geräteunabhängigkeit, einfacherer Zugriff und bessere Semantik
Diese drei Ziele überschneiden sich tatsächlich. Text-zu-Sprache-Übersetzer, die den Inhalt einer Webseite vorlesen, sind immer noch sinnvoll für Webseiten, die nicht über eine Plattform bereitgestellt werden müssen und die auch für Benutzer mit eingeschränktem Sehvermögen leicht verständlich sind. Im XHTML 2-Arbeitsentwurf wird Folgendes erwähnt:
Verschiedene neue Geräte erscheinen im Netzwerk, wie Telefone, PDAs, Schreibblöcke, Fernseher usw., was bedeutet, dass es ein Design geben muss, das es uns ermöglicht, einmalig zu erstellen Dann Rendern Sie es auf verschiedenen Geräten unterschiedlich, anstatt für jeden Gerätetyp eine neue Version des Dokuments zu erstellen.
Der Verlag muss seinen zukünftigen Wert nicht berücksichtigen. Durch die Geräteunabhängigkeit konnten viele von ihnen bereits vor der Erfindung von XML auf SGML angewendet werden, da sie es diesen Geräten ermöglichten, denselben Inhalt in gedruckter Form, auf einer Webseite und auf einer CD-ROM zu veröffentlichen, sofern genügend bearbeitete Inhalte vorhanden waren Version der inhaltlichen Struktur- und Semantikinformationen, so dass automatische Routinen diese in das jeweilige Format konvertieren können. Ich erinnere mich an das Gekicher, das vor elf Jahren das Büro meines alten Chefs erfüllte, als unsere Konkurrenten bearbeitete Versionen von Inhalten als HTML speichern wollten und XHTML 2 verwenden wollten.
Wenn Ihnen die vorhandene Semantik von XHTML 2-Elementen nicht ausreicht, kann Ihnen das neue Rollenattribut (das zu jedem Element hinzugefügt werden kann) mehr über den Zweck des Elements verraten. Die XHTML 2-Spezifikation gibt neun mögliche Werte für dieses Attribut an: Banner, Notiz, Inhaltsinfo, Suche, Definition, Sekundär, Haupt, Seealso und Navigation. Rollenwerte wie Banner und Navigation sind offensichtlich eher präsentationsorientiert, aber für Werte wie Definition und Notiz ist die Semantik in einer Veröffentlichungsumgebung, in der Inhalte für Multimedia aufbereitet werden, praktischer. Sie können sogar Ihre eigenen Rollenwerte erstellen, solange diese sich in ihrem eigenen Namensraum befinden.
Einfacheres Hinzufügen von Metadaten
Mit dem W3C-RDF-Standard können wir jedem Inhalt, der über eine URL identifiziert werden kann, Metadaten zuweisen. Die Standard-RDF/XML-Syntax für diesen Vorgang erschien 1999 und ihre Komplexität und Schwierigkeit schreckte viele Leute ab. Durch die Verwendung vorhandener HTML-Attribute und das Hinzufügen einiger neuer können wir mit XHTML 2 Metadaten über das Dokument und Dokumentkomponenten (die mithilfe eines About-Attributs identifiziert werden können) mithilfe einer neuen, einfacheren RDFa-Syntax hinzufügen. In einigen Beispielen in Listing 3 speichert das span-Element die zusätzlichen Informationen, die zum Einbetten eines Subjekt-Verb-Objekt-Tripletts (es wäre vielleicht einfacher als ein Objekt-ID-Attribut-Name-Attributwert-Triplett) zur Darstellung von RDF-Metadaten erforderlich sind.
Listing 3. Metadaten mithilfe von Span-Elementen kodieren
< ; span property="fb:workflowStage" content="3a"/>
Carrion, My Wayward Son
span> ;