Logotipo del SIDAR. LLeva a la página principal.Traducciones:

Esta traducción se concluyó, el 6 de febrero de 2003.
El documento original de la traducción se encuentra en: http://pedrini.narod.ru/w3c/xmlbase/recxmlbase20010627es.html
Los posibles errores presentes en este documento, debidos a la traducción, son responsabilidad de los traductores y no son achacables en modo alguno al W3C. Para cualquier comentario sobre la traducción dirigirse a Pedro Silva en <po2@yandex.ru> o a Yesenia Moreno en <yesenka@mail.ru>.

La única versión normativa oficial de este documento es la versión original (en inglés):
http://www.w3.org/TR/2001/REC-xmlbase-20010627/


 

W3C

XML Base

W3C Recomendación 27 Junio de 2001

Esta versión:
http://www.w3.org/TR/2001/REC-xmlbase-20010627/ (disponible en HTML, XML)
Ultima versión:
http://www.w3.org/TR/xmlbase/
Versiones previas:
http://www.w3.org/TR/2000/PR-xmlbase-20001220/
Editor:
Jonathan Marsh, Microsoft mailto:jmarsh@microsoft.com

Abstracto

Este documento propone un mecanismo, similar al HTML BASE para definir los URIs base para partes de documentos XML.

Estado de este Documento

Este documento ha sido revisado por los miembros de W3C y otras partes interesadas y ha sido aprobado por el Director como una recomendación de W3C. Este es un documento estable y puede ser usado como material de referencia o ser citado como una normativa referencial desde otro documento. El rol de W3C dentro de la realización de la Recomendación es atraer la atención sobre esta especificación y promover su amplio despliegue. Con el fin de aumentar la riqueza funcional de la Web y su interoperabilidad.

Este documento ha sido creado por el Grupo de Trabajo W3C XML Linking como parte de la Actividad XML en el Dominio de Arquitectura W3C. Para profundizar la información sobre este trabajo, por favor revisar el Informe de Actividades XML.

Por favor reportar posibles errores en este documento a la lista pública de correo electrónico www-xml-linking-comments@w3.org (archivos disponibles en http://lists.w3.org/Archives/Public/www-xml-linking-comments/). Cualquier error confirmado será documentado en una lista de erratas disponible en http://www.w3.org/2001/06/xmlbase-errata.

La versión en inglés de esta especificación es la única versión normativa. Información sobre las traducciones de este documento son disponibles en http://www.w3.org/2001/06/xmlbase-translations.

Una lista de las Recomendacioes actuales W3C y otros documentos técnicos puede ser encontrada en http://www.w3.org/TR/.

Tabla de contenidos

1 Introducción
2 Terminología
3 Atributo xml:base
 3.1 Codificación y Escape del URI Referencia
4 Resolviendo URIs Relativos
 4.1 Relación con RFC 2396
 4.2 Granularidad de información del URI base
 4.3 Correspondencia entre los URIs con URIs base
5 Conformidad

Apéndices

A Referencias
B Referencias (No-Normativo)
C Impactos sobre Otros Standards (No-Normativo)


1 Introducción

El lenguaje XML Linking [XLink] define al Lenguaje de Marcado Extensible (XML) 1.0 [XML] elaborado para describir enlaces entre recursos. Uno de los requerimientos de base sobre XLink es el soportar HTML [HTML 4.01] enlazando conceptos de una forma genérica. El elemento HTML BASE es uno de los conceptos que ha sido tomado en cuenta por el Grupo de Trabajo XLink. BASE permite a los autores especificar claramente el URI base de un documento con el fin de permitir la resolución de URIs relativos en conecciones a imágenes externas, applets, programas de tratamiento de formularios, hojas de estilo, y otros.

Este documento describe un mecanismo para proveer servicio de URI base a XLink, más como una especificación modular, con el fin de que sea igualmente posible de ser usada dentro de otras aplicaciones XML beneficiándose así sobre el control adicional sobre URIs relativos sin tener que implementar completamente XLink y que puede hacer uso del mismo. La sintaxis consiste en un único atributo XML denominado xml:base.

El despligue de XML Base está realizado dentro de las referencias reglamentadas por las nuevas especificaciones, por ejemplo XLink y el XML Infoset. Las aplicaciones y las especificaciones constuidas subre estas nuevas tecnologías deberian nativamente soportar XML Base. El comportamiento del atributo xml:base dentro de las aplicaciones basadas sobre las especificaciones que no tienen referencias normativas directas o indirectas dentro de XML Base no está definido.

2 Terminología

[ Definición: Las palabras clave "DEBE" ( Must, Shall ), "NO DEBE" ( Must not, Shall not), "DEBERÍA" ( Should), "NO DEBERIA" (Should not), "RECOMENDADO" (Recommended), "REQUERIDO" ( Required), "PODRÍA" (May), y "OPCIONAL" ( Optional) en esta especificación deberán ser interpretados como está descrito en [IETF RFC 2119] .]

Los términos URI Base y URI Relativo son usados en esta especificación en la forma en que han sido definidos en [IETF RFC 2396].

3 Atributo xml:base

El atributo xml:base puede ser insertado en documentos XML para especificar un URI base de otro URI base del documento o de la entidad externa. El valor de este atributo es interpretado como un URI Referencia como está definido en RFC 2396 [IETF RFC 2396], despues de ser procesado de acuerdo a la Sección 3.1.

Dentro de procesadores XML capaces de interpretar los Espacios de Nombres (namespace), el prefijo "xml" está dedicado al Espacio del Nombre (namespace) http://www.w3.org/XML/1998/namespace tal como se ha descrito en el documento de Espacio de Nombres (namespace) en XML [XML Names]. Note que xml:base pueden ser todavía usados por los procesadores XML, que no comprenden los Espacios de Nombres (namespace).

Un ejemplo de xml:base en un documento simple conteniendo XLinks seguidos. XLink normativamente hace referencia a XML Base para interpretación de URI relativos referenciados en xlink:href atributos.

<?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>

Los URIs en este ejemplo son transformados en URIs completos como se indica:

3.1 Codificación y Fuga del URI Referencia

El juego de carácteres autorizados en los atributos xml:base es el mismo que por XML, denominado [Unicode]. Sin embargo, algunos carácteres Unicode no son permitidos entre las referencias del URI , y de esta manera los procesadores deben codificar y evitar estos carácteres para tener una referencia URI válida a partir del valor del atributo.

Los carácteres no permitidos incluyen todos los carácteres no-ASCII, más los carácteres excuidos enlistados en la Sección 2.4 de [IETF RFC 2396], a excepción de el símbolo de número (#) y el símbolo porcentaje (%) y los carácteres de paréntesis cuadrados permitidos en [IETF RFC 2732]. Los carácteres no permitidos deben ser evitados de la siguiente manera:

  1. Cada carácter no permitido es convertido a UTF-8 [IETF RFC 2279] como uno o más bytes.

  2. Todos los bytes correspondientes a carácteres no autorizados son evitados con el mecanismo de escape de URI (lo que quiere decir, convertir en %HH, donde HH es la notación hexadecimal del valor del byte).

  3. El carácter original es reemplazado por la secuencia de carácteres obtenida.

4 Resolviendo URIs Relativos

4.1 Relación a RFC 2396

RFC 2396 [IETF RFC 2396] provee la manera de incluir URI base al interior de un documento. Las reglas para determinar el URI base puede ser recapitulados como se indica (en orden de más alta prioridad a la menor factible):

  1. El URI base está incluido el el contenido del documento.

  2. El URI base es el de entidad envolvente (mensaje, documento, o ninguno).

  3. El URI base es el URI usado para recuperar la entidad.

  4. El URI base es definido por el contexto de la aplicación.

Nota:

El término "entidad" en los puntos #2 y #3 precedentes utilizan la definición del término explicada en RFC 2396. En otras partes de este documento el término "entidad" es usado en el contexto XML.

Este documento especifica los detalles de la regla #1 con el fin de incorporar la información del URI base dentro del caso particular de los documentos XML.

4.2 Granularidad de la información del URI base

Los URIs relativos presentados en un documento XML son siempre resueltos tanto como para un elemento, una entidad documento, o una entidad externa. No hay manera de definir una granularidad más fina, que aquella una información sobre la base de un nivel atributo, carácter, o entidad. Ninguna entidad interna, que sea declarada en el subarreglo interno o en un DTD externo, ni en el texto de posición libre (el texto no incluido en dentro de un elemento) en una entidad externa, son considerados a definir un URI base separado del URI base tomando en cuenta la entidad referencial.

El URI base de una entidad documento o en una entidad externa está determinado por las reglas del RFC 2396, lo que quiere decir, que el URI base es el URI usado para extraer la entidad documento o la entidad externa.

El URI base de un elemento es:

  1. el URI base está definido para un atributo xml:base sobre el elemento, si aquel existe, sino

  2. el URI base de los elemento paterno al interior del documento o entidad externa, si existen, sino

  3. el URI base de la entidad documento document entity o entidad externa que contienen al elemento.

4.3 Correspondencia de los URIs con los URIs base

El URI base correspondiente a un URI relativo dado en un documento XML es determinado como sigue:

  • El URI base para un URI referencia que aparece dentro del contenido del texto es el URI base de el elmento contenido en el texto.

  • El URI base para un URI referencia que aparece en un atributo xml:base es el URI base del elemento paterno del elemento que soporta al atributo xml:base , si aquel existe al interior de la entidad documento o de la entidad externa, sino es el URI base de la entidad documento o entidad externa el que contiene el elemento.

  • El URI base de un URI referencia aparece dentro de cualquier otro atributo valor, incluyendo los valores de atributos por defecto, es el URI base del elemento que soporta al atributo.

  • El URI base para un URI referencia que aparece dentro del contenido de una instrucción de proceso es el URI base de el elemento paterno de la instrucción de proceso, si este existe dentro de la entidad documento o entidad externa,, sino el URI base de la entidad documento o entidad externa que contiene la instrucción de proceso.

Nota:

La presencia de atributos xml:base podría dar lugar a resultados inesperados en el caso donde el valor del atributo está prvisto , no directamente dentro de la entidad del documento XML, sino a travéz de un atributo de defecto declarado en una entidad externa. Tales declaraciones pueden no ser leidas por software que está basado en un procesador XML no validado. Muchas aplicaciones XML fallan al no exigir ninguna validción de los procesadores XML. Para un funcionamiento correcto con aquellas aplicaciones, los valores de xml:base deberan ser provistos directamente o por atributos por defecto declarados en el subarreglo interno de DTD.

5 Conformidad

Una aplicación está en conformidada XML Base si aquella determina URIs base de acuerdo a las condiciones definidas en esta especificación.

A Referencias

IETF RFC 2119
RFC 2119: Key words for use in RFCs to Indicate Requirement Levels. Internet Engineering Task Force, 1997. (Revisar 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. (Revisar http://www.ietf.org/rfc/rfc2279.txt.)
IETF RFC 2396
RFC 2396: Uniform Resource Identifiers. Internet Engineering Task Force, 1995. (Revisar 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. (Revisar http://www.ietf.org/rfc/rfc2732.txt.)
Unicode
The Unicode Standard. The Unicode Consortium. (Revisar 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. (Revisar 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. (Revisar http://www.w3.org/TR/1999/REC-xml-names-19990114/.)

B Referencias (No-Normativo)

HTML 4.01
Dave Raggett, Arnaud Le Hors, Ian Jacobs, editores. HTML 4.01 Specification. World Wide Web Consortium, 1999. (Revisar 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. (Revisar 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. (Revisar 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. (Revisar 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. (Revisar 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. (Revisar http://www.w3.org/TR/1999/REC-xpath-19991116.)
XSLT
James Clark, editor. XSL Transformations. World Wide Web Consortium, 1999. (Revisar http://www.w3.org/TR/1999/REC-xslt-19991116.)

C Impactos sobre otros Standards (No-Normativo)

XML Base define un mecanismo para incluir la información de URI base al interior de un documento XML. El mismo que no define un mecanismo para reconocer su contenido o los atributos de valor que pueden contener URIs. Esto es unicamente definido por las especificaciones o aplicaciones que asignan semántica al vocabulario.

Una de las intenciones de XML Base es que las futuras especificaciones y revisiones de vocabularios XML identifiquen aquellas partes del documento XML que son consideradas como URIs, y proveer referencia normativa a esta especificación con el fin de asegurar que URIs relativos sean tratados de una manera consistente a lo largo de documentos XML .

El impacto de XML Base sobre otros standards (a la fecha de publicación de este documento) son descritas a continuación.