Dit document is een Nederlandse vertaling van een Engelstalig document (http://www.w3.org/TR/xmlbase).

Deze vertaling werd gemaakt door Andy Camps, vervolgens nagelezen door Ruud Steltenpool en gecorrigeerd door Andy Camps, maar kan nog enkele fouten bevatten. In geval van twijfel verwijzen wij naar de officiële Engelstalige versie.

Engelse versie:
http://www.w3.org/TR/xmlbase
Deze versie:
http://www.playgarden.com/w3c/TR/xmlbase/xmlbase.html
(zip archief van HTML)
Vertaler:
Andy Camps <andy.camps@playgarden.com>
Auteursrecht:
Copyright © 1999 W3C ( MIT, INRIA, Keio). Alle rechten voorbehouden. W3C-regels betreffende aansprakelijkheid, handelsmerk, documentgebruik en softwarelicentiëring zijn van toepassing.

W3C

XML Base

W3C Aanbeveling 27 Juni 2001

Deze versie:
http://www.w3.org/TR/2001/REC-xmlbase-20010627/ (beschikbaar in HTML, XML)
Laatste versie:
http://www.w3.org/TR/xmlbase/
Vorige versies:
http://www.w3.org/TR/2000/PR-xmlbase-20001220/
Editor:
Jonathan Marsh, Microsoft <jmarsh@microsoft.com>
Vertaling:
Andy Camps, Playgarden <andy.camps@playgarden.com>

Samenvatting

Dit document stelt een middel ter beschikking dat lijkt op HTML BASE, voor de definitie van base URI's voor delen van XML documenten.

Status van dit Document

Dit document is nagekeken door W3C Leden en andere geïnteresseerden en is bekrachtigd door de Directeur als een W3C Aanbeveling. Het is een stabiel document en kan gebruikt worden als referentiewerk of geciteerd worden als een normatieve referentie vanuit een ander document. De rol van W3C in het maken van deze Aanbeveling is de aandacht vestigen op de specificatie en de wereldwijde inzet promoten. Dit vergroot de functionaliteit en interoperabiliteit van het Web.

Dit document is gemaakt door de W3C XML Linking Working Group als deel van de XML Activiteit in het W3C Architecture Domain. Raadpleeg voor achtergrondinformatie over dit werk de XML Activity Statement.

Meldt mogelijke fouten in dit document aan de publieke email lijst www-xml-linking-comments@w3.org (archief op http://lists.w3.org/Archives/Public/www-xml-linking-comments/). Alle bevestigde fouten zullen gedocumenteerd worden in een erratum dat beschikbaar is op http://www.w3.org/2001/06/xmlbase-errata.

Meldt mogelijke fouten in dit document aan andy.camps@playgarden.com. Alle bevestigde fouten zullen zo snel mogelijk aangepast worden in de online versie van de vertaling.

De Engelse versie van deze specificatie is de enige normatieve versie. Informatie over vertalingen van dit document is beschikbaar op http://www.w3.org/2001/06/xmlbase-translations.

Een lijst van de huidige W3C Aanbevelingen en andere technische documenten kan gevonden worden op http://www.w3.org/TR/.

Inhoudstabel

1 Inleiding
2 Terminologie
3 xml:base Attribuut
    3.1 URI Reference Encoding en Escaping
4 Oplossen van Relatieve URI's
    4.1 Relatie tot RFC 2396
    4.2 Granulariteit van base URI informatie
    4.3 Koppelen van URI's met base URI's
5 Conformiteit

Appendix

A Referenties
B Referenties (Niet-Normatief)
C Impact op andere Standaarden (Niet-Normatief)


1 Inleiding

De XML Linking Language [XLink] definieert Extensible Markup Language (XML) 1.0 [XML] constructs om links tussen bronnen te omschrijven. Eén van de vastgelegde vereisten op XLink is de ondersteuning van HTML [HTML 4.01] linking constructs op een generieke manier. Het HTML BASE element is zo een construct die de XLink Working Group heeft beschouwd. BASE laat auteurs toe om expliciet een document base URI te specificeren met als doel de oplossing van relatieve URI's in links naar externe figuren, applets, formulier-verwerkingsprogramma's, stylesheets enzovoort.

Dit document omschrijft een mechanisme waarmee base URI diensten naar XLink worden voorzien. Dit is gedaan als een modulaire specificatie zodat andere XML toepassingen die voordeel hebben bij aanvullende controle over relatieve URI's, maar niet bouwen op XLink, ook gebruik kunnen maken van dit systeem. De syntax bestaat uit een enkel XML attribuut: xml:base.

XML Base wordt ingezet via normatieve referentie door nieuwe specificaties zoals bijvoorbeeld XLink en de XML Infoset. Toepassingen en specificaties die bouwen op deze nieuwe technologiën zullen op een natuurlijk manier XML Base ondersteunen. Het gedrag van xml:base attributen in toepassingen gebaseerd op specificaties die geen directe of indirecte normatieve referentie naar XML Base hebben is ongedefinieerd.

2 Terminologie

[Definitie: De sleutelwoorden moet, moet niet, vereist, zal, zal niet, zou, zou niet, aanbevolen, kan, en optioneel in deze specificatie dienen geïnterpreteerd te worden volgens [IETF RFC 2119].]

De begrippen base URI en relatieve URI die gebruikt worden in deze specificatie volgen de definitie in [IETF RFC 2396].

3 xml:base Attribuut

Het xml:base attribuut kan ingevoegd worden in XML documents om een andere base URI te specificeren dan de base URI van het document of externe entiteit. De waarde van dit attribuut wordt na verwerking volgens deel 3.1 geïnterpreteerd als een URI Referentie zoals gedefinieerd in RFC 2396 [IETF RFC 2396].

In namespace-bewuste XML processors, wordt het "xml" voorvoegsel gebonden aan de namespace naam http://www.w3.org/XML/1998/namespace zoals omschreven in Namespaces in XML [XML Names]. Merk op dat xml:base nog steeds gebruikt kan worden door niet-namespace-bewuste processors.

Een voorbeeld van xml:base in een eenvoudig document dat XLinks bevat volgt hierna. XLink verwijst normaal naar XML Base voor de interpretatie van relatieve URI verwijzingen in xlink:href attributen.

<?xml version="1.0"?>
<doc xml:base="http://voorbeeld.org/vandaag/"
     xmlns:xlink="http://www.w3.org/1999/xlink">
  <head>
    <title>Virtuele Bibliotheek</title>
  </head>
  <body>
    <paragraph>Zie <link xlink:type="simple" xlink:href="nieuw.xml">de
      nieuwe dingen</link>!</paragraph>
    <paragraph>Ga kijken wat de aanbiedingen zijn!</paragraph>
    <olist xml:base="/aanbiedingen/">
      <item>
        <link xlink:type="simple" xlink:href="aanbieding1.xml">Aanbieding #1</link>
      </item>
      <item>
        <link xlink:type="simple" xlink:href="aanbieding2.xml">Aanbieding #2</link>
      </item>
      <item>
        <link xlink:type="simple" xlink:href="aanbieding3.xml">Aanbieding #3</link>
      </item>
    </olist>
  </body>
</doc>

De URI's in dit voorbeeld verwijzen naar de volledige URI's op de volgende manier:

3.1 URI Reference Encoding en Escaping

De set van tekens die toegestaan zijn in xml:base attributen is dezelfde als voor XML, namelijk [Unicode]. Sommige Unicode tekens zijn echter niet toegestaan in URI referenties waardoor processoren deze tekens moeten encoderen en escapen om een geldige URI referentie van de attribuutwaarde te bekomen.

De verboden tekens bevatten alle niet-ASCII tekens, plus de uitgesloten tekens opgesomd in deel 2.4 van [IETF RFC 2396], behalve het nummerteken (#) en procentteken (%) en de rechthoekige haakjes die opnieuw toegestaan zijn in [IETF RFC 2732]. Verboden tekens moeten als volgt ge-escaped worden:

  1. Elk verboden teken wordt omgezet in UTF-8 [IETF RFC 2279] als één of meer bytes.

  2. Alle bytes die overeenkomen met een verboden teken worden ge-escaped met het URI escaping mechanisme (hetgeen wil zeggen: omgezet tot %HH, waar HH de hexadecimale notatie van de bytewaarde is).

  3. Het originele teken wordt vervangen door de resulterende tekenreeks.

4 Oplossen van Relatieve URI's

4.1 Relatie tot RFC 2396

RFC 2396 [IETF RFC 2396] zorgt ervoor dat base URI informatie opgenomen kan worden in een document. De regels om de base URI te bepalen kunnen als volgt (van hoogste naar laagste prioriteit) samengevat worden:

  1. De base URI wordt opgenomen in de inhoud van het document.

  2. De base URI is van toepassing op de ingekapselde entiteit (boodschap, document, of geen).

  3. De base URI is de URI gebruikt om de entiteit terug te vinden.

  4. De base URI wordt gedefinieerd door de context van de toepassing.

Opmerking:

De term "entiteit" in punten #2 en #3 hierboven gebruiken de RFC 2396 betekenis van de term. Elders in dit document wijst de term "entiteit" naar het gebruik volgens de XML betekenis.

Dit document legt de klemtoon op regel #1 voor opname van base URI informatie wanneer het gaat over XML documenten.

4.2 Granulariteit van base URI informatie

Relatieve URI's die verschijnen in een XML document worden altijd opgelost relatief aan een element, een document entiteit of een externe entiteit. Er is geen voorwaarde voor fijnere granulariteit zoals per-attribuut, per-teken of per-entiteit base informatie. Noch interne entiteiten, gedeclareerd in de interne subset of in een externe DTD, noch vrijstaande tekst (tekst niet omsloten in een element) in een externe entiteit kunnen een base URI scheiden van de base URI waarnaar gekeken wordt voor deze entiteitsverwijzing.

De base URI van een document entiteit of een externe entiteit wordt bepaald door RFC 2396 regels, namelijk dat de base URI de URI is die gebruikt wordt om de document entiteit of externe entiteit op te vragen.

De base URI van een element is:

  1. de base URI gespecificeerd door een xml:base attribuut op het element, als er één bestaat, anders

  2. de base URI van het ouder (parent) element van het element binnen het document of externe entiteit, als er één bestaat, anders

  3. de base URI van de document entiteit of externe entiteit die het element bevat.

4.3 Koppelen van URI's met base URIs

De base URI die overeenkomt met een relatieve URI die verschijnt in een XML document wordt als volgt bepaald:

  • De base URI voor een URI verwijzing die verschijnt in tekstinhoud is de base URI van het element dat de tekst omvat.

  • De base URI voor een URI verwijzing die verschijnt in een xml:base attribuut is de base URI van het ouder (parent) element van het element dat het xml:base attribuut draagt, als er één bestaat in die document entiteit of externe entiteit. In het andere geval is de base URI deze van de document entiteit of externe entiteit die het element omvat.

  • De base URI voor een URI verwijzing die verschijnt in elke andere attribuutwaarde, inclusief standaard attribuutwaarden, is de base URI van het element dat het attribuut draagt.

  • De base URI voor een URI verwijzing die verschijnt in de inhoud van een verwerkingsinstructie is de base URI van het ouder (parent) element van de verwerkingsinstructie, als er één bestaat binnen de document entiteit of externe entiteit. Als dit niet het geval is zal het de base URI van de document entiteit of externe entiteit die de verwerkingsinstructie bevat zijn.

Opmerking:

De aanwezigheid van xml:base attributen kan leiden tot onverwachte resultaten wanneer de attribuutwaarde die voorzien is, niet direct in de XML document entiteit, maar via een standaard attribuut gedeclareerd is in een externe entiteit. Zulke declaraties worden mogelijk niet gelezen door software welke gebaseerd is op een niet-validerende XML processor. Veel XML toepassingen slagen er niet in om validerende processors te vereisen. Voor correcte werking met zulke toepassingen zouden xml:base waarden voorzien moeten worden via directe of via standaard attributen gedeclareerd in de interne subset van de DTD.

5 Conformiteit

Een toepassing is conform aan XML Base als het base URI's overeenkomstig bepaalt met de voorwaarden die vooropgesteld worden is deze specificatie.

A Referenties

IETF RFC 2119
RFC 2119: Key words for use in RFCs to Indicate Requirement Levels. Internet Engineering Task Force, 1997. (See http://www.ietf.org/rfc/rfc2119.txt.)
IETF RFC 2279
RFC 2279: UTF-8, a transformation format of ISO 10646. Internet Engineering Task Force, 1998. (Raadpleeg http://www.ietf.org/rfc/rfc2279.txt.)
IETF RFC 2396
RFC 2396: Uniform Resource Identifiers. Internet Engineering Task Force, 1995. (Raadpleeg http://www.ietf.org/rfc/rfc2396.txt.)
IETF RFC 2732
RFC 2732: Format for Literal IPv6 Addresses in URL's. Internet Engineering Task Force, 1999. (Raadpleeg http://www.ietf.org/rfc/rfc2732.txt.)
Unicode
The Unicode Standard. The Unicode Consortium. (Raadpleeg http://www.unicode.org/unicode/standard/standard.html.)
XML
Tim Bray, Jean Paoli, C.M. Sperberg-McQueen, and Eve Maler, editors. Extensible Markup Language (XML) 1.0 (Second Edition). World Wide Web Consortium, 2000. (Raadpleeg http://www.w3.org/TR/2000/REC-xml-20001006.)
XML Names
Tim Bray, Dave Hollander, and Andrew Layman, editors. Namespaces in XML. Textuality, Hewlett-Packard, and Microsoft. World Wide Web Consortium, 1999. (Raadpleeg http://www.w3.org/TR/1999/REC-xml-names-19990114/.)

B Referenties (Niet-Normatief)

HTML 4.01
Dave Raggett, Arnaud Le Hors, Ian Jacobs, editors. HTML 4.01 Specification. World Wide Web Consortium, 1999. (Raadpleeg http://www.w3.org/TR/1999/REC-html401-19991224/.)
XLink
Steve DeRose, Eve Maler, David Orchard, and Ben Trafford, editors. XML Linking Language (XLink). World Wide Web Consortium, 2000. (Raadpleeg http://www.w3.org/TR/2001/REC-xlink-20010627/.)
XML Datatypes
Paul V. Biron, Ashok Malhotra, editors. XML Schema Part 2: Datatypes. World Wide Web Consortium Working Draft. (Raadpleeg http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/.)
XHTML
Steven Pemberton, et al. XHTML(TM) 1.0: The Extensible HyperText Markup Language. World Wide Web Consortium, 2000. (Raadpleeg http://www.w3.org/TR/2000/REC-xhtml1-20000126/.)
XML Infoset
John Cowan and Richard Tobin, editors. XML Information Set. World Wide Web Consortium, 1999. (Raadpleeg http://www.w3.org/TR/2001/CR-xml-infoset-20010514/.)
XPath
James Clark and Steven DeRose, editors. XML Path Language World Wide Web Consortium, 1999. (Raadpleeg http://www.w3.org/TR/1999/REC-xpath-19991116.)
XSLT
James Clark, editor. XSL Transformations. World Wide Web Consortium, 1999. (Raadpleeg http://www.w3.org/TR/1999/REC-xslt-19991116.)

C Impact op andere Standaarden (Niet-Normatief)

XML Base definieert een mechanisme voor opname van base URI informatie binnen een XML document. Het definieert geen mechanisme om te herkennen welke inhoud of attribuutwaarden URI's kunnen bevatten. Dit is enkel gekend door de specificaties of toepassingen die semantieken aan de woordenschat toewijzen.

De bedoeling van XML Base is dat toekomstige specificaties en herzieningen van XML woordenschatten identificeren welke delen van het XML document beschouwd worden als URI's en normatieve referentie bieden aan deze specificatie opdat relatieve URI's consistent behandeld worden over verschillende XML documenten.

De impacten van XML Base op andere standaarden (vanaf de publicatiedatum van dit document) worden hierna beschreven.