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.