Copyright © 2001 W3C® (MIT, INRIA, Keio), Tots els Drets Reservats. W3C responsabilitat, marca enregistrada, ús del document, i llicència d'ús de programari són aplicables.
Aquest document proposa un mecanisme, similar a l'HTML BASE per a definir els URIs base per a parts de documents XML.
Aquest document ha estat revisat pels membres de W3C i altres parts interesades i ha estat aprovat pel director com una recomanació de W3C. Aquest és un document estable i pot ser usat com a material de referència o ser citat com una normativa de referència des d'un altre document. El rol de W3C dins de la realització de la Recomanació és atraure l'atenció sobre aquesta especificació i promoure el seu ampli desplegament amb la finalitat d'augmentar la riquesa funcional de la Web i la seva interoperabilitat.
Aquest document ha estat creat pel grup de Treball W3C XML Linking com a part de l'Activitat XML en el Domini de la Arquitectura W3C. Per aprofundir la informació sobre aquest treball, si us plau reviseu l'Informe d'Activitats XML.
Si us plau reporteu possibles errors d'aquest document a la llista pública de correu electrònic www-xml-linking-comments@w3.org (arxius disponibles a http://lists.w3.org/Archives/Public/www-xml-linking-comments/). Qualsevol error confirmat serà documentat en una llista d'errates disponible a http://www.w3.org/2001/06/xmlbase-errata.
La versió en anglès d'aquesta especificació és l'única versió normativa. La informació sobre les traduccions d'aquest document estan disponibles a http://www.w3.org/2001/06/xmlbase-translations.
Es pot trobar una llista de les Recomanacions actuals W3C i altres documents tècnics a http://www.w3.org/TR/.
El llenguatge XML Linking [XLink] defineix el Llenguatge de Marcat Extensible (XML) 1.0 [XML] elaborat per a descriure enllaços entre recursos. Un dels requeriments de base sobre XLink és suportar HTML [HTML 4.01] enllaçant conceptes de forma genèrica. L'element HTML BASE és un dels conceptes que ha estat pres en consideració pel grup de Treball XLink. BASE permet als autors especificar clarament la URI base d'un document amb la finalitat de permetre la resolució d'URIs relatives a enllaços d'imatges externes, applets, programes de tractament de formularis, fulls d'estil, i d'altres.
Aquest document descriu un mecanisme per donar servei d'URI base a XLink, però més com una especificació modular, amb la finalitat de que sigui igualment possible usar-la dins d'altres aplicacions XML beneficiant-se del control addicional sobre URIs relatives sense haver d'implementar el completament XLink però que pot fer ús del mateix. La sintaxi consisteix en un únic atribut XML denominat xml:base
.
El desplegament d'XML Base està realitzat dins de les referències reglamentades per les noves especificacions, per exemple XLink i XML Infoset. Les aplicacions i les especificacions construïdes sobre aquestes noves tecnologies haurien de suportar nativament XML Base. El comportament de l'atribut xml:base
en aplicacions basades en especificacions que no tenen referències normatives directes o indirectes XML Base no estan definits.
[Definició: Les paraules clau "HA DE" ( Must, Shall ), "NO HA DE" ( Must not, Shall not), "HAURIA" ( Should), "NO HAURIA" (Should not), "RECOMANAT" (Recommended), "REQUERIT" ( Required), "PODRIA" (May), i "OPCIONAL" ( Optional) en aquesta especificació hauran de ser interpretats com està descrit a [IETF RFC 2119].]
Els termes URI Base i URI Relatiu s'usen en aquesta especificació tal i com han estat definits a [IETF RFC 2396].
xml:base
L'atribut xml:base
pot ser inserit en documents XML per especificar una URI base d'una altre URI base del document o d'una entitat externa. El valor d'aquest atribut és interpretat com una URI Referència com està definit a RFC 2396 [IETF RFC 2396], després de ser processat d'acord amb la Secció 3.1.
Dins dels processadors XML capaços d'interpretar els Espais de Noms (namespace), el prefix "xml" està dedicat a l'Espai del Nom (namespace) http://www.w3.org/XML/1998/namespace
tal com s'ha descrit al document d'Espai de Noms (namespace) a XML [XML Names]. Noti que xml:base
pot ser usats encara pels processadors XML, que no entenen els Espais de Noms (namespace).
Un exemple de xml:base
en un document simple contenint XLinks seguits. XLink normativament fa referència a XML Base per la interpretació d'URI relatives que fan referència als atributs xlink:href
.
<?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> Veure <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>
Les URIs en aquest exemple són transformades en URIs completes com s'indica:
El joc de caràcters autoritzats en atributs xml:base
és el mateix que per l'XML, denominat [Unicode]. No obstant això, alguns caràcters Unicode no són permesos entre les referències de la URI, i d'aquesta manera els processadors han de codificar i evitar aquests caràcters per a tenir una referència URI vàlida a partir del valor de l'atribut.
Els caràcters no permesos són tots els caràcters no-ASCII, més els caràcters exclosos llistats a la Secció 2.4 de [IETF RFC 2396], a excepció del símbol numeral (), el símbol percentatge (%) i els caràcters de parèntesis quadrats permesos a [IETF RFC 2732]. Els caràcters no permesos han de ser evitats de la següent manera:
RFC 2396 [IETF RFC 2396] proveeix la manera d'incloure URI base a l'interior d'un document. Les regles per determinar la URI base poden ser recapitulades com s'indica (en ordre de major a menor prioritat):
NOTA: El terme "entitat" en els punts #2 i #3 precedents utilitzen la definició del terme explicada a RFC 2396. En d'altres parts d'aquest document el terme "entitat" és usat dins el context XML.
Les URIs relatives presentades en un document XML són sempre resoltes tant per un element com per una entitat de document, o una entitat externa. No hi ha manera de definir una granularitat més fina que, una informació sobre la base d'un nivell atribut, caràcter o entitat. Cap entitat interna, que sigui declarada en l'arranjament intern o en una DTD externa, ni en un text de posició lliure (el text no inclòs dins d'un element) ni en una entitat externa, són considerats a definir una URI base separada de la URI base tenint en compte l'entitat a la qual fa referencia.
La URI base d'una entitat de document o d'una entitat externa està determinada per les regles RFC 2396, el que vol dir, que la URI base és la URI usada per extreure l'entitat de document o l'entitat externa.
La URI base d'un element:
xml:base
sobre l'element si existeix.La URI base corresponent a una URI relativa que apareix en un document XML és determinat pel següent:
xml:base
és la URI base de l'element patern de l'element que suporta l'atribut xml:base
, si existeix a l'interior de l'entitat de document o de l'entitat externa, sinó és la URI base de l'entitat de document o entitat externa el qual conté l'element.NOTA: La presència d'atributs
xml:base
podria donar lloc a resultats inesperats en el cas on el valor de l'atribut està prvist , no directament dins l'entitat del document XML, sinó a través d'un atribut de defecte, declarat en una entitat externa. Tals declaracions poden no ser llegides per programari basat en un processador XML no validat. Moltes aplicacions XML fallen al no exigir cap validació dels processadors XML. Per a un funcionament correcte amb aquelles aplicacions, els valors dexml:base
hauran de ser proveïts directament o per atributs per defecte declarats al subconjunt intern de la DTD.
Una aplicació està conforme amb l'XML Base si determina URIs base d'acord amb les condicions definides en aquesta especificació.
XML Base defineix un mecanisme per incloure la informació de la URI base a l'interior d'un document XML. El mateix que no defineix un mecanisme per a reconèixer el seu contingut o els valors dels atributs que poden contenir URIs. Això està definit únicament per les especificacions o aplicacions que assignen semàntica al vocabulari.
Una de les intencions de l'XML Base és que les futures especificacions i revisions de vocabulari XML identifiquin aquelles parts del document XML que són considerades com a URIs, i proveir de referència normativa aquesta especificació amb la finalitat d'assegurar que les URIs relatives siguin tractades d'una manera consistent als documents XML.
L'impacte de l'XML Base sobre altres estàndards (a data de publicació d'aquest document) són descrites a continuació:
xml:base
impedeixen a aquestes URIs ser afectades pel valor de xml:base
.xml:base
amb la finalitat d'identificar els espais de nom. Els processos d'alt nivell que diferencien espais de nom URIs no estan coberts per les especificacions d'Espai de Nom i podrien especificar que xml:base
ha de servir amb les necessitats d'extracció de recursos d'aquells URIs a opció seva.xml:base
.uriReference
. L'especificació sobre els tipus de dades XML pot exigir que les aplicacions que reconeixen aquest tipus de dades i resolen URIs hagin de tenir en compte l'XML Base.