Bei diesem Dokument handelt es sich um eine Übersetzung eines W3C-Textes. Dieser Text ist urheberrechtlich geschützt; bitte beachten Sie die nachfolgenden Hinweise des Originaldokuments. Die Rechte an der Übersetzung liegen bei den Übersetzern. Die Übersetzung hat keine durch das W3C legitimierte, normative Wirkung. Das einzige maßgebliche Dokument ist das englische Original.
Bitte senden Sie Fehler und Korrekturen zur deutschen Fassung an die Übersetzer.
Kommentare der Übersetzer, die als solche gekennzeichnet sind, unterliegen dem Urheberrecht der Übersetzer. Sie sind nicht Bestandteil des Ursprungsdokuments.
Copyright © 1999 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use, and software licensing rules apply.
Dieses Dokument erlaubt einem Stylesheet, mit einem XML-Dokument, durch Aufnahme von einer
oder mehreren Verarbeitungsanweisungen in den Prolog des Dokuments
verknüpft zu werden. Diese haben das Ziel xml-stylesheet
.
Dieses Dokument wurde von Mitgliedern des W3C und anderen Interessierten geprüft und vom Direktor als W3C-Empfehlung gebilligt. Es ist ein stabiles Dokument und darf als Referenzmaterial verwendet oder als normative Referenz von einem anderen Dokument zitiert werden. Die Rolle des W3C bei der Erstellung dieser Empfehlung ist es, die Spezifikation bekanntzumachen und ihre breite Anwendung zu fördern. Dies erhöht die Funktionsfähigkeit und Interoperabilität des Web.
Die Liste der bekannten Fehler in dieser Spezifikation ist unter http://www.w3.org/1999/06/REC-xml-stylesheet-19990629/errata verfügbar.
Kommentare zu dieser Spezifikation können an www-xml-stylesheet-comments@w3.org gesendet werden. Das Archiv von öffentlichen Kommentaren ist unter http://www.w3.org/Archives/Public/www-xml-stylesheet-comments verfügbar.
Eine Liste von aktuellen W3C-Empfehlungen und anderen technischen Dokumenten sind unter http://www.w3.org/TR zu finden.
Die Arbeitsgruppe erwartet, daß zusätzliche Verfahren, um Style Sheets mit XML-Dokumenten zu verbinden, in einer zukünftigen Spezifikation definiert werden.
Die Verwendung von XML-Verarbeitungsanweisungen in dieser Spezifikation sollte nicht als Präzedenzfall genommen werden. Das W3C beteiligt sich nicht daran, die Verwendung von Verarbeitungsanweisungen in irgendeiner zukünftigen Spezifikation zu empfehlen. Die Begründung B Begründung erklärt, weshalb sie in dieser Spezifikation verwendet wurden. Dieses Dokument wurde als Teil der W3C XML Activity erzeugt.
xml-stylesheet
-Verarbeitungsanweisung
Stylesheets können durch Verwendung einer Verarbeitungsanweisung, deren Ziel xml-stylesheet
ist,
mit einem XML-Dokument [XML10] verknüpft werden. Diese Verarbeitungsanweisung folgt dem Verhalten
von <LINK REL="stylesheet>"
in HTML 4.0 [HTML40].
Die xml-stylesheet
-Verarbeitungsanweisung wird in der gleichen Weise analysiert (parsed) wie ein
Start-Tag, mit der Ausnahme, daß Entities, abgesehen von den vordefinierten Entities, nicht referenziert
werden dürfen.
Die folgende Grammatik wird unter Verwendung der gleichen Notation, wie für die Grammatik in der XML-Empfehlung [XML10], angegeben. Symbole in der Grammatik, die hier nicht definiert sind, sind in der XML-Empfehlung definiert.
xml-stylesheet
-Verarbeitungsanweisung[1] | StyleSheetPI |
::= | '<?xml-stylesheet' (S PseudoAtt)* S? '?>' |
[2] | PseudoAtt |
::= | Name S? '=' S? PseudoAttValue |
[3] | PseudoAttValue |
::= | ('"' ([^"<&] | CharRef | PredefEntityRef)* '"' | "'" ([^'<&] |
CharRef | PredefEntityRef)* "'") - (Char* '?>' Char*) |
[4] | PredefEntityRef |
::= | '&,' | '<' | '>' | '"' | ''' |
In PseudoAttValue wird eine CharRef
oder eine PredefEntityRef in der gleichen Weise interpretiert,
wie in einem normalen XML-Attributwert. Der tatsächliche Wert des Pseudoattributs ist der Wert, der
sich ergibt, nachdem jede Referenz durch das Zeichen, das es referenziert, ersetzt wurde. Diese
Ersetzung wird nicht automatisch durch einen XML-Prozessor durchgeführt.
Die xml-stylesheet
-Verarbeitungsanweisung ist ausschließlich im Prolog eines XML-Dokuments
zulässig. Die Syntax von XML beschränkt, wo Verarbeitungsanweisungen im Prolog erlaubt sind; die
xml-stylesheet
-Verarbeitungsanweisung ist an jeder Stelle im Prolog erlaubt, die diese Beschränkungen
erfüllt.
Anmerkung:
Wenn die xml-stylesheet
-Verarbeitungsanweisung im externen Teil der DTD oder in einem Parameter
Entity erscheint, so ist es möglich, daß sie von einem nicht validierenden XML-Prozessor nicht
verarbeitet wird (siehe [XML10]).
Die folgenden Pseudoattribute sind definiert:
href CDATA #REQUIRED
type CDATA #REQUIRED
title CDATA #IMPLIED
media CDATA #IMPLIED
charset CDATA #IMPLIED
alternate (yes|no) "no"
Die Bedeutung der Pseudoattribute ist exakt die von <LINK REL="stylesheet">
in HTML 4.0, mit der
Ausnahme desalternate
-Pseudoattributs. Falls alternate="yes"
angegeben ist, hat die Verarbeitungsanweisung die Bedeutung von <LINK REL="alternate stylesheet">
anstatt von <LINK
REL="stylesheet">
.
Anmerkung:
Da der Wert des »href«-Attributs eine URI-Referenz ist, kann es ein relativer URI sein, und es kann einen
fragmentarischen Bezeichner (identifier) enthalten. Insbesondere kann die URI-Referenz ausschließlich einen
fragmentarischen Bezeichner enthalten. Solch eine URI-Referenz ist eine Referenz auf ein Teil des
Dokuments, das die xml-stylesheet
-Verarbeitungsanweisung enthält (siehe [RFC2396]). Die Konsequenz
ist, daß es die xml-stylesheet
-Verarbeitungsanweisung erlaubt, Stylesheets in das selbe Dokument
einzubinden, wie die xml-stylesheet
-Verarbeitungsanweisung.
In einigen Fällen können Stylesheets extern mit einem XML-Dokument verbunden werden, extern in Bezug auf das Dokument. Zum
Beispiel erlaubten frühere Versionen von HTTP [RFC2068] (Abschnitt 19.6.2.4),
Stylesheets mit einem XML-Dokument im Sinne des Link
-Headers zu verknüpfen. Es wird
angenommen, daß alle Verbindungen zu Stylesheets, die extern zum Dokument sind, auftreten, bevor
Verbindungen durch die xml-stylesheet
-Verarbeitungsanweisungen spezifiziert werden. Dies ist das
gleiche wie in HTML 4.0 (siehe Abschnitt 14.6).
Hier sind einige Beispiele von HTML 4.0 mit der korrespondierenden Verarbeitungsanweisung:
<LINK href="mystyle.css" rel="style sheet" type="text/css"> <?xml-stylesheet href="mystyle.css" type="text/css"?> <LINK href="mystyle.css" title="Compact" rel="stylesheet" type="text/css"> <?xml-stylesheet href="mystyle.css" title="Compact" type="text/css"?> <LINK href="mystyle.css" title="Medium" rel="alternate stylesheet" type="text/css"> <?xml-stylesheet alternate="yes" href="mystyle.css" title="Medium" type="text/css"?>
Mehrere xml-stylesheet
-Verarbeitungsanweisungen sind ebenfalls mit exakt der gleichen Bedeutung wie LINK REL="stylesheet"
erlaubt. Zum Beispiel wäre
<LINK rel="alternate stylesheet" title="compact" href="small-base.css" type="text/css"> <LINK rel="alternate stylesheet" title="compact" href="small-extras.css" type="text/css"> <LINK rel="alternate stylesheet" title="big print" href="bigprint.css" type="text/css"> <LINK rel="stylesheet" href="common.css" type="text/css">
äquivalent zu
<?xml-stylesheet alternate="yes" title="compact" href="small-base.css" type="text/css"?> <?xml-stylesheet alternate="yes" title="compact" href="small-extras.css" type="text/css"?> <?xml-stylesheet alternate="yes" title="big print" href="bigprint.css" type="text/css"?>
Es gab eine dringende Notwendigkeit für eine Spezifikation für die Verbindung zu Stylesheets, die rechtzeitig vor der nächsten Veröffentlichung von großen Browserherstellern vollendet werden sollte. Nur durch die Wahl eines einfachen Verfahrens, das wesentlich auf einem erprobten, bestehenden Verfahren basierte, konnte die Spezifikation rechtzeitig vollendet werden, um diese Anforderungen zu erfüllen.
Die Verwendung einer Verarbeitungsanweisung vermeidet die Verschmutzung der Struktur des Hauptdokuments mit anwendungsspezifischen Informationen zur Verarbeitung.
Das Verfahren, das für diese Version der Spezifikation gewählt wurde, ist keine Einschränkung von weiteren Verfahren, die für zukünftige Versionen geplant sind. Es wird nicht erwartet, daß diese zukünftigen Versionen Verarbeitungsanweisungen verwenden werden; tatsächlich kann es sein, daß sie die Verbindungsinformation nicht im Quelldokument enthalten.