Deutsche Übersetzung von XML Base (Zweite Auflage)

Empfehlung des W3C vom 8. Januar 2009

Übersetzung vom 10.10.2009

Die einzige normative Version ist die englische Version unter:
http://www.w3.org/TR/2009/REC-xmlbase-20090128/.

Diese Übersetzung ist zu finden unter:
http://www.schumacher-netz.de/TR/2009/REC-xmlbase-20090128.de.html.

Diese Übersetzung kann Fehler enthalten. Kommentare oder Korrekturvorschläge zu dieser deutschen Übersetzung senden Sie dem Übersetzer bitte per E-Mail.

Weitere Übersetzungen zum Thema XML finden Sie auf den Seiten des Übersetzers.

Übersetzer: Stefan Schumacher (www.schumacher-netz.de).
Informationen zum Urheberrecht.

W3C

XML Base (Zweite Auflage)

Empfehlung des W3C vom 8. Januar 2009

Diese Version:
http://www.w3.org/TR/2009/REC-xmlbase-20090128/
Aktuelle Version:
http://www.w3.org/TR/xmlbase/
Vorherige Versions:
http://www.w3.org/TR/2001/REC-xmlbase-20010627/ http://www.w3.org/TR/2008/PER-xmlbase-20080320/
Editoren:
Jonathan Marsh, Microsoft <jmarsh@microsoft.com>
Richard Tobin, University of Edinburgh <richard@inf.ed.ac.uk>

Bitte konsultieren Sie die Errata für dieses Dokument, die normative Korrekturen enthalten könnten.

Schauen Sie auch nach Übersetzungen.

Dieses Dokument ist auch in diesen nicht normativen Formaten erhältlich: HTML mit Anzeige der Veränderungen und  XML.


Zusammenfassung

Dieses Dokument beschreibt ein Verfahren, ähnlich zu dem in HTML BASE, um Base-URIs für Teile von XML-Dokumenten zu definieren.

Status dieses Dokuments

Dieser Abschnitt beschreibt den Status dieses Dokuments zur Zeit seiner Veröffentlichung. Andere Dokumente könnten dieses Dokument ersetzen. Eine Liste der aktuellen W3C-Veröffentlichungen und die aktuelle Revision dieses Technischen Berichts kann im Index der Technischen Berichte des W3C unter http://www.w3.org/TR/ gefunden werden.

Dieses Dokument wurde von der W3C-Arbeitsgruppe XML Core als Teil der W3C XML Activity erstellt. Die englische Version dieser Spezifikation ist die einzige normative Version. Konsultieren Sie jedoch http://www.w3.org/2003/03/Translations/byTechnology?technology=xmlbase für Übersetzungen dieses Dokuments.

Dieses Dokument ist eine Überarbeitete Empfehlung des W3C. Es ersetzt die vorherige Empfehlung des W3C vom 27. Juni 2001. Diese zweite Auflage ist keine neue Version von XML Base; ihr Zweck ist die Klärung einiger Problemstellungen, die seit der Veröffentlichung der ersten Version aufgetaucht sind. Einige dieser wurden zuerst als eigenständige Errata veröffentlicht ( http://www.w3.org/2001/06/xmlbase-errata), andere wurden in einem öffentlichen Editorenentwurf im November 2006 (http://www.w3.org/XML/2006/11/xmlbase-2e/Overview.html), und eine PER im Dezember 2006 (http://www.w3.org/TR/2006/PER-xmlbase-20061220/) veröffentlicht. Die Veränderungen werden in einem Anhang aufgezählt.

Bitte berichten Sie Fehler in diesem Dokument an die öffentliche Mailing-Liste www-xml-linking-comments@w3.org; öffentliche Archive sind verfügbar.

Es gibt keinen Implementierungsbericht und keine Test-Suite für diese Spezifikation, aber es gibt ein Dokument, das die Methoden zur Überprüfung der Konformität zu XML Base beschreibt.

Dieses Dokument wurde von W3C-Mitgliedern, von Software-Entwicklern und von anderen W3C-Gruppen und Interessierten überprüft und wurde vom Direktor als eine W3C-Empfehlung anerkannt. Es ist ein stabiles Dokument und kann als Referenz verwendet oder von anderen Dokumenten zitiert werden. Die Rolle des W3C bei der Erstellung der Empfehlung ist, Aufmerksamkeit auf die Spezifikation zu lenken und ihre weitreichende Anwendung zu fördern. Dies verbessert die Funktionalität und die Interoperabilität des Internets.

Für dieses Dokument ist die CPP vom 24. Januar 2002 maßgeblich wie von der W3C Patent Policy Transition Procedure berichtigt. Das W3C unterhält eine öffentliche Liste aller Patentveröffentlichungen, die in Verbindung mit den Ergebnissen der Gruppe gemacht wurden; die Seite enthält ebenfalls Anweisungen für die Veröffentlichung eines Patents. Ein Individuum, das tatsächliche Kenntnis über ein Patent hat, das nach Glauben des Individuums Essentielle Forderungen enthält, muss diese Informationen in Übereinstimmung mit Abschnitt 6 der W3C Patent Policy offenlegen.

Inhaltsverzeichnis

1 Einleitung
2 Terminologie
3 Das Attribut xml:base
3.1 Kodieren und Ersetzen in URI-Verweisen
4 Relative URIs auflösen
4.1 Beziehung zu RFC 3986
4.2 Feinheit von Base-URI-Informationen
4.3 URIs mit Base-URIs vervollständigen
4.4 Interpretation von Verweisen im gleichen Dokument
5 Konformität

Anhänge

A Quellen
B Quellen (nicht normativ)
C Berührungspunkte mit anderen Standards (nicht normativ)
D Veränderungen seit der ersten Auflage (nicht normativ)


1 Einleitung

Die XML Linking Language [XLink] definiert Konstrukte der Extensible Markup Language (XML) 1.0 [XML], um Verweise zwischen Quellen zu beschreiben. Eine der beschriebenen Anforderungen an XLink ist, HTML [HTML 4.01]-Verweiskonstrukte in allgemeiner Form zu unterstützen. Das HTML-Element base ist ein solches Konstrukt, das die XLink-Arbeitsgruppe in Erwägung gezogen hat. base erlaubt Autoren explizit, einen Base-URI für ein Dokument anzugeben, um relative URIs in Verweisen zu externen Grafiken, Applets, formularverarbeitenden Programmen, Style Sheets und so weiter aufzulösen.

Dieses Dokument beschreibt einen Mechanismus, um Base-URI-Dienste für XLink bereitzustellen, jedoch als eine modulare Spezifikation, so dass andere XML-Anwendungen, die von der zusätzlichen Kontrolle über relative URIs profitieren, aber nicht auf XLink aufgebaut sind, ebenfalls Gebrauch davon machen können. Die Syntax besteht aus einem einzelnen XML-Attribut namens xml:base.

Der Einsatz von XML Base erfolgt durch normative Verweise aus neuen Spezifikationen, zum Beispiel XLink und XML Infoset. Anwendungen und Spezifikationen, die auf diesen neuen Technologien aufbauen, werden XML Base von Hause aus unterstützen. Das Verhalten von xml:base-Attributen in Anwendungen, die auf Spezifikationen basieren, die keinen direkten oder indirekten normativen Verweis zu XML Base haben, ist nicht definiert.

Diese Spezifikation versucht nicht anzugeben, welche Zeichenketten in einem Dokument als URIs zu interpretieren sind. Das liegt in der Verantwortlichkeit eines jeden XML-Vokabulars. Die Frage, die durch diese Spezifikation gestellt wird, ist: Ist ein relativer URI in einem XML-Dokument gegeben, gegen welchen Base-URI wird er dann aufgelöst?

Es wird erwartet, dass ein zukünftiges RFC-Dokument für XML-Medientypen XML-Base als den Mechanismus für den Einsatz von Base-URIs in den Medientypen angibt, die es definiert.

2 Terminologie

[Definition: Die Schlüsselworte muss, darf nicht, erforderlich, sollen, sollen nicht, sollten, sollten nicht, empfohlen, kann, und optional in dieser Spezifikation, sind zu interpretieren wie in [RFC 2119] beschrieben.]

Die Begriffe Base-URI und relativer URI werden in dieser Spezifikation verwendet, wie sie in [RFC 3986] definiert sind.

3 Das Attribut xml:base

Das Attribut xml:base kann in XML-Dokumente eingefügt werden, um einen Base-URI anzugeben, der sich vom Base-URI des Dokuments oder der externen Entität unterscheidet. Der Wert dieses Attributs wird interpretiert als ein Legacy Extended IRI (LEIRI) wie in der W3C-Anmerkung "Legacy extended IRIs for XML resource identification" [LEIRI] definiert.

In Prozessoren, die Namensräume berücksichtigen, ist das Präfix "xml" an den Namensraum http://www.w3.org/XML/1998/namespace gebunden wie in Namensräume in XML [XML Names] beschrieben. Beachten Sie, dass xml:base immer noch von Prozessoren verwendet werden kann, die Namensräume nicht berücksichtigen.

Ein Beispiel von xml:base in einem einfachen Dokument, das XLinks enthält, folgt. XLink verweist normativ auf XML Base zur Interpretation von relativen URI-Verweisen in xlink:href-Attributen.

<?xml version="1.0"?>
<doc xml:base="http://example.org/today/"
     xmlns:xlink="http://www.w3.org/1999/xlink">
  <head>
    <title>Virtual Library</title>
  </head>
  <body>
    <paragraph>See <link xlink:type="simple" xlink:href="new.xml">what's
      new</link>!</paragraph>
    <paragraph>Check out the hot picks of the day!</paragraph>
    <olist xml:base="/hotpicks/">
      <item>
        <link xlink:type="simple" xlink:href="pick1.xml">Hot Pick #1</link>
      </item>
      <item>
        <link xlink:type="simple" xlink:href="pick2.xml">Hot Pick #2</link>
      </item>
      <item>
        <link xlink:type="simple" xlink:href="pick3.xml">Hot Pick #3</link>
      </item>
    </olist>
  </body>
</doc>

Die URIs in diesem Bespiel lösen in volle URIs wie folgt auf:

Anmerkung:

Diese Spezifikation gibt dem Attribut xml:base keinen speziellen Status, der die XML-Validität betrifft. In einem gültigen Dokument muss das Attribut in der DTD deklariert sein, und ähnliche Betrachtungen gelten für andere Schemasprachen.

3.1 Kodieren und Ersetzen in URI-Verweisen

Der Wert eines xml:base-Attributs ist ein Legacy Extended IRI (LEIRI) und kann Zeichen enthalten, die in URIs nicht erlaubt sind. (Jedoch sind einige Zeichen, die in LEIRIs erlaubt sind, keine gültigen XML-Zeichen und können deshalb nicht in xml:base-Werten erscheinen.)

In Übereinstimmung mit dem Prinzip, dass die Prozent-Kodierung so spät wie möglich in der Verarbeitungskette auftreten muss, sollten Anwendungen, die Zugang zu dem Base-URI eines Elements geben, den Wert ohne Ersetzen berechnen und zurückgeben.

Im Beispiel unten sollte der Base-URI des Elements e2 als "http://example.org/wine/rosé" zurückgegeben werden.

<?xml version="1.0"?>
<e1 xml:base="http://example.org/wine/">
  <e2 xml:base="rosé"/>
</e1>

4 Relative URIs auflösen

4.1 Beziehung zu RFC 3986

RFC 3986 [RFC 3986] gibt an, wie Base-URI-Informatioenen in ein Dokument eingebettet werden. Die Regeln zur Bestimmung des Base-URI können wie folgt (höchste bis niedrigste Priorität) zusammengefasst werden:

  1. Der Base-URI ist im Inhalt des Dokuments eingebettet.

  2. Der Base-URI ist der der umschließenden Entität (Nachricht, Dokument oder keiner).

  3. Der Base-URI ist der URI, der zum Empfang der Entität benutzt wurde.

  4. Der Base-URI wird im Rahmen der Anwendung definiert.

Anmerkung:

Der Begriff "Entität" (engl. entity) in den Punkten #2 und #3 oben verwendet die Bedeutung des Begriffs, die aus RFC 3986 hervorgeht. Andernorts in dieser Spezifikation wird der Begriff "Entität" in seiner XML-Bedeutung verwendet.

Dieses Dokument gibt die Details für Regel #1 an, für die Einbettung von Base-URI-Informationen im besonderen Fall von XML-Dokumenten.

4.2 Feinheit von Base-URI-Informationen

Relative URIs, die in einem XML-Dokument erscheinen, werden immer entweder relativ zu einem Element, einer Dokumententität oder einer externen Entität aufgelöst. Es gibt keine Vorschrift für eine feinere Auflösung wie zum Beispiel zur Base-Information eines Attributs, eines Zeichens oder einer Entität. Weder von internen Entitäten, ob in einer internen Untermenge oder einer externen DTD deklariert, noch von freistehendem Text (Text, der nicht von einem Element eingeschlossen wird) in einer externen Entität wird erwartet, einen Base-URI anzugeben, der sich vom Base-URI im Geltungsbereich des Entitätverweises unterscheidet.

Der Base-URI einer Dokumententiät oder einer externen Entität wird von den Regeln in RFC 3986 bestimmt, das bedeutet, der Base-URI ist der URI, der verwendet wird, um die Dokumententität oder die externe Entität zu empfangen.

Der Base-URI eines Elements ist:

  1. der Base-URI, angegeben durch das Attribut xml:base eines Elements, sofern einer existiert, ansonsten

  2. der Base-URI des Elternelements des Elements in der Dokument-Entität oder externen Entität, sofern einer existiert, ansonsten

  3. der Base-URI der Dokumententität oder externen Entität, die das Element enthält.

Anmerkung:

Es folgt, dass der Base-URI, der durch ein xml:base-Attribut angegeben wird, an Nachfahre-Elemente innerhalb der gleichen Entität vererbt wird, bis ein anderes Element mit dem Attribut xml:base angetroffen wird.

Der Base-URI eines Elements, das ein xml:base-Attribut mit einem Wert enthält, der kein gültiger Legacy Extended IRI ist, ist anwendungsabhängig.

4.3 URIs mit Base-URIs vervollständigen

Der Base-URI, der zu einem gegebenen relativen URI in einem XML-Dokument gehört, wird wie folgt ermittelt:

  • Der Base-URI für einen URI-Verweis, der im Textinhalt erscheint, ist der Base-URI des Elements, das den Text enthält.

  • Der Base-URI für einen URI-Verweis, der in einem xml:base-Attribut erscheint, ist der Base-URI des Elternelements des Elements, das dieses xml:base-Attribut enthält, sofern eines innerhalb der Dokument-Entität oder der externen Entität existiert, ansonsten der Base-URI der Dokumententität oder der externen Entität, die das Element enthält.

  • Der Base-URI für einen URI-Verweis, der in irgendeinem anderen Attributwert erscheint, eingeschlossen voreingestellte Attributwerte, ist der Base-URI des Elements, welches das Attribut enthält.

  • Der Base-URI für einen URI-Verweis, der im Inhalt einer Verarbeitungsanweisung erscheint, ist der Base-URI des Elternelements der Verarbeitungsanweisung, sofern einer innerhalb der Dokumententität oder der externen Entität existiert, ansonsten der Base-URI der Dokumententität oder externen Entität, die die Verarbeitungsanweisung enthält.

5 Konformität

Eine Anwendung ist konform zu XML Base, wenn sie Base-URIs in Übereinstimmung mit den in dieser Spezifikation festgelegten Bedingungen, bestimmen.

A Quellen

RFC 2119
RFC 2119: Key words for use in RFCs to Indicate Requirement Levels. Internet Engineering Task Force, 1997.
RFC 3986
RFC 3986: Uniform Resource Identifier (URI): Generic Syntax. Internet Engineering Task Force, 2005.
LEIRI
Legacy extended IRIs for XML resource identification. Henry S. Thompson, Richard Tobin und Norman Walsh, Editoren. World Wide Web Consortium.
XML
Extensible Markup Language (XML) 1.0. Tim Bray et al. World Wide Web Consortium.
XML Names
Namespaces in XML 1.0.. Tim Bray et al. World Wide Web Consortium.

B Quellen (nicht normativ)

HTML 4.01
HTML 4.01 Specification. Dave Raggett, Arnaud Le Hors, Ian Jacobs, Editoren. World Wide Web Consortium, 1999.
XLink
XML Linking Language (XLink). Steve DeRose, Eve Maler, David Orchard und Ben Trafford, Editoren. World Wide Web Consortium, 2000.
XML Datatypes
XML Schema Part 2: Datatypes. Paul V. Biron, Ashok Malhotra, Editoren. World Wide Web Consortium Working Draft.
XHTML
XHTML(TM) 1.0: The Extensible HyperText Markup Language. Steven Pemberton, et al. World Wide Web Consortium, 2000.
XML Infoset
XML Information Set. John Cowan und Richard Tobin, Editoren. World Wide Web Consortium, 1999.
XPath
XML Path Language James Clark und Steven DeRose, Editoren. World Wide Web Consortium, 1999.
XSLT
XSL Transformations. James Clark, Editor. World Wide Web Consortium, 1999.

C Berührungspunkte mit anderen Standards (nicht normativ)

Dieser Abschnitt wurde entfernt.

D Änderungen seit der ersten Auflage (nicht normativ)

  1. Die veröffentlichten Errata wurden eingearbeitet (siehe http://www.w3.org/2001/06/xmlbase-errata);

  2. Die Definition von URI-Verweisen wurde von RFC2396 auf 3986 geändert;

  3. Das xml:base-Attribut ist nun beschrieben als ein Legacy Extended IRI, allerdings verändert dies nicht seine Syntax (die PER vom Dezember 2006 verwedete den Begriff "XML Resource Identifier", der in einer XLink-Überarbeitung zu definieren war, aber dieser Ansatz wurde von der Definition des LEIRI in der W3C-Anmerkung ersetzt);

  4. Implementationen werden nun angehalten, Base-URIs ohne Ersetzen der nicht URI-Zeichen zurückzugeben;

  5. Die Bedeutung von xml:base="" und xml:base="#frag" wurden deutlich gemacht;

  6. Der erwartete Verweis auf XML Base in dem kommenden XML Media Types-RFC (Nachfolger von 3023) wurde notiert;

  7. Es wurde klargestellt, dass normale Gültigkeitsregeln für das xml:base-Attribut gelten;

  8. Der nicht mehr zeitgemäße Anhang, der die Auswirkungen auf andere Standards beschreibt, wurde entfernt;

  9. Zahlreiche kleinere redaktionelle Veränderungen wurden vorgenommen.