Nota di Traduzione

XML Base

Nel tradurre questo documento, pur avendo solo l'originale valore normativo, si è cercato di attenersi il più possibile fedeli al testo inglese. A volte, per ragioni di esattezza scientifica, si è ritenuto di:

Segnalazione di errori e refusi o richieste di informazioni possono essere indirizzate a: w3c@dkg.it.

Traduttore: Daniele Gabriele. Data di pubblicazione: 31 dicembre 2004. Data di ultima revisione: 31 dicembre 2004.

W3C

Base di XML

Raccomandazione W3C 27 giugno 2001

Questa versione:
http://www.w3.org/TR/2001/REC-xmlbase-20010627/ (disponibile in HTML, XML)
Ultima versione:
http://www.w3.org/TR/xmlbase/
Precedenti versioni:
http://www.w3.org/TR/2000/PR-xmlbase-20001220/
Curatore:
Jonathan Marsh, Microsoft mailto:jmarsh@microsoft.com

Sintesi

Questo documento si propone come ausilio, simile a quello di HTML BASE, nel definire gli URI di base per parti dei documenti XML.

Status di questo Documento

Questo documento è stato revisionato dai Membri del W3C e da altre parti interessate ed è stato approvato dal Direttore come una Raccomandazione W3C. è un documento definitivo e potrebbe essere utilizzato come materiale di riferimento o citato come un riferimento normativo da un altro documento. Il ruolo del W3C nel fare la Raccomandazione è attirare l'attenzione sulla specifica e promuoverne l'impiego diffuso. Ciò rafforza la funzionalità e l'interoperabilità del Web.

Questo documento è stato prodotto dal Gruppo di Lavoro del W3C per il Collegamento XML come parte dell'Attività XML nel Dominio di Architettura del W3C. Per i retroscena di quest'opera, si prega di vedere la Dichiarazione di Attività XML.

Si prega di riportare eventuali errori nel presente documento alla lista pubblica www-xml-linking-comments@w3.org (archivio presso http://lists.w3.org/Archives/Public/www-xml-linking-comments/). Ciascun errore confermato sarà documentato in un elenco di errata disponibile presso http://www.w3.org/2001/06/xmlbase-errata.

La versione in inglese della presente specifica è l'unica normativa. Informazioni sulle traduzioni di questo documento sono disponibili presso http://www.w3.org/2001/06/xmlbase-translations.

Un elenco delle Raccomandazioni attuali del W3C e altri documenti tecnici si possono trovare presso http://www.w3.org/TR/.

Sommario

1 Introduzione
2 Terminologia
3 Attributo xml:base
    3.1 Codificare e convertire in caratteri escape il Riferimento URI
4 Risolvere gli URI Relativi
    4.1 Relazione con la RFC 2396
    4.2 Granularità dell'informazione dell'URI di base
    4.3 Combinare gli URI con gli URI di base
5 Conformità

Appendici

A Riferimenti
B Riferimenti (non normativa)
C Impatti su Altri Standard (non normativa)


1 Introduzione

Il Linguaggio di Collegamento di XML {XML Linking Language} [XLink] definisce i costrutti del Linguaggio di Marcatura Estensibile {Extensible Markup Language} (XML) 1.0 [XML] per descrivere i collegamenti fra le risorse. Uno dei requisiti richiesti da XLink è di supportare i costrutti di collegamento HTML [HTML 4.01] in maniera generica. L'elemento HTML BASE è uno di tali costrutti che il Gruppo di Lavoro di XLink ha preso inconsiderazione. BASE permette agli autori di specificare in modo esplicito un URI di base del documento con il compito di risolvere gli URI relativi in collegamenti verso l'esterno a immagini, applet, programmi di elaborazione dei moduli, fogli di stile, e così via.

Questo documento descrive un meccanismo per fornire a XLink dei servizi per gli URI di base, ma come una specifica modulare cosicché anche altre applicazioni XML, che beneficiano del controllo aggiuntivo sugli URI relativi ma non costruiti su XLink, possano farne uso. La sintassi consiste di un singolo attributo XML che ha il nome di xml:base.

L'impiego di Base di XML è attraverso riferimento normativo da nuove specifiche, ad esempio XLink e l'Infoset XML. Le applicazioni e le specifiche costruite su queste nuove tecnoloige supporteranno in maniera nativa Base di XML. Non è definito il comportamento degli attributi xml:base nelle applicazioni basate sulle specifiche che non hanno riferimento normativo diretto o indiretto a Base di XML.

2 Terminologia

[Definizione: Le parole chiave deve, non deve, richiesto, dovrà, non dovrà, dovrebbe, non dovrebbe, raccomandato, potrebbe e facoltativo in questa specifica si devono interpretare come descritte in [IETF RFC 2119].]

I termini URI di base e URI relativi sono usati in questa specifica come sono definiti in [IETF RFC 2396].

3 Attributo xml:base

L'attributo xml:base potrebbe essere inserito nei documenti XML per specificare un URI di base diverso dall'URI di base del documento o di un'entità esterna. Il valore di questo attributo è interpretato come un Riferimento di URI come definito nella RFC 2396 [IETF RFC 2396], dopo averlo elaborato in accordo alla Sezione 3.1.

Negli elaboratori di XML consapevoli del namespace, il prefisso "xml" è legato al nome di namespace http://www.w3.org/XML/1998/namespace come descritto ne "I Namespace in XML" [XML Names]. Si noti che xml:base può ancora essere usato da elaboratori non consapevoli del namespace.

Un esempio di xml:base in un semplice documento contenente codice XLink. XLink si riferisce in modo normativo a Base di XML per l'interpretazione di riferimenti a URI relativi negli attributi 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>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>

Gli URI in questo esempio si risolvono in URI completi nel modo che segue:

3.1 Codificare e convertire in codici escape il Riferimento URI

L'insieme di caratteri consentito negli attributi  xml:base è lo stesso di XML, vale a dire [Unicode]. In ogni caso, alcuni caratteri Unicode non sono consentiti dai riferimenti URI e in tal modo gli elaboratori devono codificare e convertire in caratteri escape questi caratteri per ottenere un riferimento URI valido dal valore di attributo.

I caratteri non consentiti includono tutti quelli non ASCII, più i caratteri esclusi elencati nella Sezione 2.4 di [IETF RFC 2396], eccetto che per i caratteri che stanno per il numero (#) e la percentuale (%) e i caratteri delle parentesi quadre ri-consentiti in [IETF RFC 2732]. Caratteri non consentiti devono essere convertiti in caratteri escape come segue:

  1. Ciascun carattere non consentito è convertito in UTF-8 [IETF RFC 2279] con un solo o più byte.

  2. Ogni byte corrispondente a un carattere non consentito viene convertito in codici escape con il relativo meccanismo di URI (ovvero, convertito in %HH, dove HH è la notazione esadecimale del valore del byte).

  3. Il carattere originale viene sostituito dalla sequenza di caratteri che ne risulta.

4 Risolvere gli URI Relativi

4.1 Relazione con la RFC 2396

La RFC 2396 [IETF RFC 2396] fornisce informazioni per gli URI di base che devono essere integrati all'interno dei documenti. Le regole per determinare l'URI di base possono essere elencate come segue (dalla priorità più alta alla più bassa):

  1. L'URI di base è integrato nel contenuto del documento.

  2. L'URI di base è quello dell'entità incapsulata (messaggio, documento o nessuna).

  3. L'URI di base è l'URI usato per reperire l'entità.

  4. L'URI di base è definito dal contesto dell'applicazione.

Nota:

Il termine "entità" nei punti #2 e #3 di cui sopra viene usato nel significato del termine della RFC 2396. Negli altri punti di questo documento il termine "entità" viene usato nel senso di XML.

Questo documento specifica i dettagli della regola #1 per integrare l'informazione sull'URI di base nel caso specifico dei documenti XML.

4.2 Granularità dell'informazione dell'URI di base

Gli URI relativi che appaiono in un documento XML sono sempre risolti in relazione o a un elemento, un'entità di documento, o un entità esterna. Non esiste strumento per una granularità più fine, come l'informazione di base per attributo, per carattere o per entità. Né le entità interne, se dichiarate nel sottoinsieme interno o nella DTD esterna, né il testo a sé stante (testo non incluso in un elemento) in un'entità esterna, vengono presi in considerazione per impostare un URI di base separato dall'URI di base nell'ambito per il riferimento dell'entità.

L'URI di base di un'entità di documento o di un'entità esterna è determinata dalle regole della RFC 2396, vale a dire, che l'URI di base è l'URI utilizzato per reperire l'entità del documento o l'entità esterna.

L'URI di base di un elemento è:

  1. l'URI di base specificato da un attributo xml:base nell'elemento, se ne esiste uno, altrimenti

  2. l'URI di base dell'elemento genitore dell'elemento all'interno del documento o dell'entità esterna, se ne esiste uno, altrimenti

  3. l'URI di base dell'entità di documento o dell'entità esterna che contengono l'elemento.

4.3 Combinare gli URI con gli URI di base

L'URI di base corrispondente a un dato URI relativo che compare in un documento XML viene determinato come segue:

  • L'URI di base per un riferimento URI che compare in un contenuto testuale è l'URI di base dell'elemento che contiene il testo.

  • L'URI di base per un riferimento URI che compare in un attributo xml:base è l'URI di base dell'elemento genitore dell'elemento che porta l'attributo xml:base, se ne esite uno all'interno dell'entità di documento o dell'entità esterna, altrimenti l'URI di base dell'entità di documento o dell'entità esterna che contiene l'elemento.

  • L'URI di base per un riferimento URI che compare in qualsiasi altro valore di attributo, inclusi i valori predefiniti di attributo, è l'URI di base dell'elemento che porta l'attributo.

  • L'URI di base per un riferimento URI che compare nel contenuto di un'istruzione d'elaborazione è l'URI di base dell'elemento genitore dell'istruzione d'elaborazione, se ne esite una all'interno dell'entità di documento o dell'entità esterna, altrimeni l'URI di base dell'entità di documento o dell'entità esterna che contiene l'istruzione d'elaborazione.

Nota:

La presenza degli attributi xml:base potrebbero condurre a risultati inattesi nel caso in cui sia fornito il valore dell'attributo, non direttamente nell'enità di documento XML, ma attraverso un attributo predefinito dichiarato in un'entità esterna. Tali dichiarazioni potrebbero non essere lette da software che non è basato su un elaboratore che non convalida XML. Molte applicazioni XML falliscono perché richiedono elaboratori che convalidano. Per una corretta operatività con tali applicazioni, i valori xml:base dovrebbero essere forniti o direttamente o attraverso gli attributi predefiniti dichiarati nel sottoinsieme interno della DTD.

5 Conformità

Un'applicazione è conforme a Base di XML se calcola gli URI di base in accordo alle condizioni stabilite in precedenza nella presente specifica.

A Riferimenti

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. (See http://www.ietf.org/rfc/rfc2279.txt.)
IETF RFC 2396
RFC 2396: Uniform Resource Identifiers. Internet Engineering Task Force, 1995. (See 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. (See http://www.ietf.org/rfc/rfc2732.txt.)
Unicode
The Unicode Standard. The Unicode Consortium. (See 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. (See 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. (See http://www.w3.org/TR/1999/REC-xml-names-19990114/.)

B Riferimenti (non normativa)

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

C Impatti su Altri Standard (non normativa)

Base di XML definisce un meccanismo per integrare l'informazione sull'URI di base all'interno di un documento. Non definisce un meccanismo per riconoscere quale contenuto o valori di attributo possano accogliere gli URI. Ciò è conosciuto solo dalle specifiche o dalle applicazioni che attribuiscono la semantica al vocabolario.

E intenzione di Base di XML che le future specifiche e revisioni dei vocabolari di XML identifichino quali parti del documento XML si considerano essere gli URI e fornire il riferimento normativo per questa specifica nell'intento di assicurare che gli URI relativi siano trattati in modo consistente fra tutti i documenti XML.

Gli impatti di Base di XML sugli altri standard (alla data di pubblicazione del presente documento) sono descritte di seguito.