XML Base

XML Base (Second Edition)

Magyar fordítás

2009. február

Jelen verzió:
http://mgl.uw.hu/XMLBase/XML Base (Second Edition).htm
Fordító:
Máté Gábor, gabor.lajos.mate@gmail.com <gabor.lajos.mate@gmail.com>

Jelen dokumentum egy W3C-dokumentum fordítása. Mind az eredeti dokumentum, mind pedig a fordítás szerzői jogi védelem alatt áll. Az eredeti dokumentum szerzői jogára vonatkozóan lásd az angol nyelvű copyright megjegyzést. A fordítás nem minősül normatív dokumentumnak. A dokumentum egyetlen normatív verziója az angol nyelvű verzió.

A fordításban talált esetleges hibákat, illetve a fordítással kapcsolatos javaslatokat a fordító fent megadott elérhetőségén lehet jelezni.


W3C

XML Base (Második kiadás)

W3C-ajánlás 2009. január 28.

Jelen verzió:
http://www.w3.org/TR/2009/REC-xmlbase-20090128/
Legutolsó verzió:
http://www.w3.org/TR/xmlbase/
Előző verziók:
http://www.w3.org/TR/2001/REC-xmlbase-20010627/ http://www.w3.org/TR/2008/PER-xmlbase-20080320/
Szerkesztők:
Jonathan Marsh, Microsoft mailto:jmarsh@microsoft.com
Richard Tobin, University of Edinburgh mailto:richard@inf.ed.ac.uk

A dokumentum hibajegyzéke tartalmazhat bizonyos normatív javításokat is, ezért azt mindig vegyük figyelembe a dokumentum olvasásakor.

Jelen dokumentum további fordításai más nyelvekre.

Ez a dokumentum elérhető nem normatív formátumokban is: színkódolt változáskövetéssel ellátott XHTML-ben és XML-ben.


Absztrakt

Jelen dokumentum egy, a HTML BASE-hez hasonló eszközt specifikál, amit arra lehet használni, hogy az XML dokumentumok egyes részeihez bázis URI-kat definiáljunk.

A dokumentum státusza

Jelen alfejezet a dokumentum státuszát a publikálásának az időpontjában rögzíti. Más dokumentumok később hatályon kívül helyezhetik ezt a dokumentumot. Az érvényben lévő W3C publikációk listája a http://www.w3.org/TR/ W3C technikai jelentések indexe oldalán található meg. Ugyanitt megtalálható ennek a dokumentumnak a legújabb verziója is.

This document has been produced by the W3C XML Core Working Group as part of the W3C XML Activity. The English version of this specification is the only normative version. However, for translations of this document, see http://www.w3.org/2003/03/Translations/byTechnology?technology=xmlbase

This document is an Edited Recommendation of the W3C. It supersedes the previous W3C Recommendation of 27 June 2001. This second edition is not a new version of XML Base; its purpose is to clarify a number of issues that have become apparent since the first edition was published. Some of these were first published as separate errata ( http://www.w3.org/2001/06/xmlbase-errata), others were published in a public editor's draft in November 2006 (http://www.w3.org/XML/2006/11/xmlbase-2e/Overview.html), and a PER in December 2006 (http://www.w3.org/TR/2006/PER-xmlbase-20061220/). The changes are summarized in an appendix.

Please report errors in this document to the public mailing list www-xml-linking-comments@w3.org; public archives are available.

There is no implementation report or test suite for this specification, but there is a document describing methods of testing XML Base conformance.

This document has been reviewed by W3C Members, by software developers, and by other W3C groups and interested parties, and is endorsed by the Director as a W3C Recommendation. It is a stable document and may be used as reference material or cited from another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its widespread deployment. This enhances the functionality and interoperability of the Web.

This document is governed by the 24 January 2002 CPP as amended by the W3C Patent Policy Transition Procedure. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

Tartalomjegyzék

1 Bevezetés
2 Terminológia
3 xml:base attribútum
    3.1 Az URI hivatkozás kódolása és a behelyettesítések végrehajtása
4 A relatív URI hivatkozások feloldása
    4.1 A jelen specifikáció és az RFC 3986 kapcsolata
    4.2 A bázis URI-t megadó információ granularitása
    4.3 A bázis URI-val rendelkező URI-k esetén a megfelelő bázis URI meghatározása
    4.4 Interpretation of same-document references
5 Conformance

Appendices

A Hivatkozások
B Hivatkozások (nem normatív)
C Az XML Base specifikáció kihatásai más szabványokra (nem normatív)
D Változtatások az első kiadáshoz képest (nem normatív)


1 Bevezetés

Az [XLink] XML Linking Language specifikáció olyan [XML] Extensible Markup Language (XML) 1.0 konstrukciókat definiál, amelyek segítségével le lehet írni az erőforrások közötti kapcsolatokat. Az XLink által támasztott követelmények egyike a [HTML 4.01] HTML linkelési konstrukciók általános módon való támogatása. A HTML BASE pontosan egy ilyen, az XLink Working Group által vizsgált konstrukció. A BASE lehetővé teszi a dokumentumok készítői számára, hogy a dokumentum bázis URI-ját explicit módon megadják. Ezt a bázis URI-t használják azután arra, hogy a relatív URI hivatkozásokat feloldják, hivatkozzanak azok külső képekre, appletekre, formfeldolgozó programokra, style sheetekre vagy bármi másra.

Ez a dokumentum egy olyan eljárást ír le, amelynek segítségével az XLink számára is megadhatunk bázis URI-t, és tekintve, hogy ez egy moduláris felépítésű specifikáció, ezért más, nem az XLinkre épülő XML alkalmazások is kihasználhatják majd az abból adódó előnyöket, hogy az eljárás használatával a relatív URI-k felett nagyobb kontroll valósítható meg. Az eljárás szintaxisa egyetlen XML attribútumból, az xml:base nevű attribútumból áll.

Az XML Base-t az új specifikációk, például az XLink és az XML Infoset normatív hivatkozásként fogják tartalmazni. Az ezekre az új technológiákra épülő alkalmazások és specifikációk az XML Base-t natív módon fogják támogatni. Az xml:base attribútumok hatása, működése nem definiált az olyan alkalmazások esetében, amikor az adott alkalmazás olyan specifikációra épül, ami az XML Base specifikációt közvetlen és közvetett módon sem hivatkozza.

Jelen specifikáció nem tér ki arra, hogy a dokumentumokban mely szöveges sztringeket kell URI-ként értelmezni. Ez az egyes XML szótárak hatáskörébe tartozik. A jelen specifikáció célja az, hogy megválaszolja azt a kérdést, hogy ha adva van egy relatív URI az XML dokumentumunkban, akkor azt milyen bázis URI segítségével kell feloldani.

Várhatóan az XML Media Types egy később kiadásra kerülő RFC-je is az XML Base mechanizmusát fogja specifikációként meghatározni az általa definiált médiatípusokban használt bázis URI-k megadására.

2 Terminológia

[Definíció: A kell (must), nem szabad (must not), nem lehet (must not), szükséges (required), ajánlott (shall), nem ajánlott (shall not), lehet (may), opcionális (optional) kifejezések, illetve kulcsszavak a jelen specifikációban úgy értelmezendők, ahogy az [IETF RFC 2119] definálja őket.]

A bázis URI (base URI) és relatív URI (relative URI) kifejezéseket jelen specifikáció abban az értelemben használja, ahogy a [RFC 3986] definiálja ezeket a kifejezéseket.

3 xml:base attribútum

Az xml:base attribútumot lehet használni arra XML dokumentumokban, hogy a dokumentum vagy a külső entitás bázis URI-jától eltérő bázis URI-t adjunk meg. Ennek az attribútumnak az értékét a "Legacy extended IRIs for XML resource identification" [LEIRI] W3C Note-ban definiáltaknak megfelelően Legacy Extended IRI (LEIRI) értékként értelmezendő.

A névtereket is használó XML processzorok esetén az "xml" prefix a http://www.w3.org/XML/1998/namespace névtér-névhez van kötve a Névterek az XML-ben [XML Nevek] specifikációban leírtaknak megfelelően. Vegyük észre, hogy ettől függetlenül az xml:base attribútumot a névteret nem használó processzorok még használhatják.

A következő példa az xml:base használatát mutatja be egy egyszerű, XLinket tartalmazó dokumentumban. Az XLink normatív módon hivatkozik az XML Base specifikációra az xlink:href attribútumokban használt relatív URI hivatkozások értelmezésekor.

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

Ebben a példában a következőképpen kell feloldani az URI hivatkozásokat:

Megjegyzés:

Jelen specifikáció nem rendel hozzá az xml:base attribútumhoz semmilyen speciális státuszt ami az XML érvényességét illeti. Érvényes dokumentumokban az attribútumnak a DTD-ben deklarálva kell lennie, és hasonlóképpen kell eljárni a több séma alapú nyelv esetében is.

4 A relatív URI hivatkozások feloldása

4.1 A jelen specifikáció és az RFC 3986 kapcsolata

Az RFC 3986 [RFC 3986] specifikálja a dokumentumban található bázis URI-ra vonatkozó információkat. A bázis URI meghatározására vonatkozó szabályokat a következőképpen lehet összefoglalni (a magasabb prioritásútól az alacsonyabb prioritású felé haladva):

  1. A bázis URI magában a dokumentumban található.

  2. A bázis URI a dokumentumot tartalmazó entitás (üzenet, dokumentum) bázis URI-ja, ha van ilyen.

  3. A bázis URI az az URI, amivel az adott entitást elértük.

  4. A bázis URI-t az alkalmazás környezete definiálja.

Megjegyzés:

Az "entitás" kifejezést a fenti 2. és 3. pontban az RFC 3986 értelmében kell használni. Az "entitás" kifejezés minden más előfordulása jelen dokumentumban az XML értelemben vett entitást jelenti.

Jelen dokumentum a fenti 1. szabály részleteit specifikálja abban a speciális esetben, amikor a bázis URI-t megadó információt XML dokumentumba akarjuk beleírni.

4.2 A bázis URI-t megadó információ granularitása

Az XML dokumentumokban szereplő relatív URI-kat mindig úgy oldjuk fel, hogy ezek vagy egy elem bázisához képest relatívak, vagy egy dokumentumentitás bázisához képest, vagy pedig egy külső entitás bázisához képest. Soha nem kell alkalmazni a relatív URI-k feloldását ennél finomabb granularitásra, például attribútumok, karakterek vagy entitások bázisához képest. Ezenfelül sem a belső entitásokat, sem a külső entitásokban előforduló különálló szöveges részeket (olyan szöveges részt, amelyet nem tartalmaz egyetlen elem sem) nem vesszük figyelembe az entitáshivatkozás hatókörében lévő bázis URI beállításakor. Belső entitások esetén ez vonatkozik a belső részhalmazban deklarált és a külső DTD-ben deklarált belső entitásokra egyaránt.

A dokumentumentitás vagy a külső entitás bázis URI-ját az RFC 3986 szabályait alkalmazva állapítjuk meg, azaz a bázis URI az az URI, amivel az adott dokumentumentitást vagy külső entitást elértük.

Az elem bázis URI-ja:

  1. Az adott elem xml:base attribútuma által meghatározott bázis URI, ha van ilyen; illetve ha nincs, akkor

  2. az adott dokumentumentitásban vagy külső entitásban az adott elem szülő elemének a bázis URI-ja, ha van ilyen; illetve ha nincs, akkor

  3. az adott elemet tartalmazó dokumentumentitás vagy külső entitás bázis URI-ja.

Megjegyzés:

Ebből következik, hogy az xml:base attribútumok által meghatározott bázis URI-t öröklik az azonos entitáson belül található a leszármazott elemek egészen addig, amíg egy másik, xml:base attribútummal rendelkező elem felül nem írja ezt a bázis URI értéket.

Azoknak az elemnek a bázis URI-ja, amelyeknek az xml:base attribútumértéke nem szabályos Legacy Extended IRI érték, alkalmazásfüggő.

4.3 A bázis URI-val rendelkező URI-k esetén a megfelelő bázis URI meghatározása

Egy XML dokumentumban szereplő, adott relatív URI-nak megfelelő bázis URI-t a következőképpen határozunk meg:

  • A szöveges részben megjelenő URI hivatkozás bázis URI-ja a szöveget tartalmazó elem bázis URI-ja.

  • The base URI for a URI reference appearing in an xml:base attribute is the base URI of the parent element of the element bearing the xml:base attribute, if one exists within the document entity or external entity, otherwise the base URI of the document entity or external entity containing the element.

  • The base URI for a URI reference appearing in any other attribute value, including default attribute values, is the base URI of the element bearing the attribute.

  • The base URI for a URI reference appearing in the content of a processing instruction is the base URI of the parent element of the processing instruction, if one exists within the document entity or external entity, otherwise the base URI of the document entity or external entity containing the processing instruction.

5 Conformance

An application conforms to XML Base if it calculates base URIs in accordance with the conditions set forth in this specification.

A Hivatkozások

RFC 2119
RFC 2119: Key words for use in RFCs to Indicate Requirement Levels. Internet Engineering Task Force, 1997.
RFC 3986
RFC 3986: Uniform Resource Identifier (URI): Generic Syntax. Internet Engineering Task Force, 2005.
LEIRI
Legacy extended IRIs for XML resource identification. Henry S. Thompson, Richard Tobin, and Norman Walsh, editors. World Wide Web Consortium.
XML
Extensible Markup Language (XML) 1.0. Tim Bray et al. World Wide Web Consortium.
XML Nevek
Namespaces in XML 1.0.. Tim Bray et al. World Wide Web Consortium.

B Hivatkozások (nem normatív)

HTML 4.01
HTML 4.01 Specification. Dave Raggett, Arnaud Le Hors, Ian Jacobs, editors. World Wide Web Consortium, 1999.
XLink
XML Linking Language (XLink). Steve DeRose, Eve Maler, David Orchard, and Ben Trafford, editors. World Wide Web Consortium, 2000.
XML Datatypes
XML Schema Part 2: Datatypes. Paul V. Biron, Ashok Malhotra, editors. World Wide Web Consortium Working Draft.
XHTML
XHTML(TM) 1.0: The Extensible HyperText Markup Language. Steven Pemberton, et al. World Wide Web Consortium, 2000.
XML Infoset
XML Information Set. John Cowan and Richard Tobin, editors. World Wide Web Consortium, 1999.
XPath
XML Path Language James Clark and Steven DeRose, editors. World Wide Web Consortium, 1999.
XSLT
XSL Transformations. James Clark, editor. World Wide Web Consortium, 1999.

C Az XML Base specifikáció kihatásai más szabványokra (nem normatív)

Törölt szakasz.

D Változtatások az első kiadáshoz képest (nem normatív)

  1. Az időközben publikált hibajegyzék (see http://www.w3.org/2001/06/xmlbase-errata) bedolgozásra került a dokumentumba;

  2. Az URI hivatkozások definíciója RFC2396-ról 3986-ra változott;

  3. Az xml:base attribútumot újradefinálták Legacy Extended IRI értékként, de ez nem változtatja meg a szintaxisát (A December 2006 PER az "XML Resource Identifier" kifejezést használta, amit az XLink felülvizsgálatakor kellett volna definiálni, azonban ezt a tervet a LEIRI definiáló W3C Note felülírta);

  4. Az implementációkat Implementations are now encouraged to return base “URIs” without escaping non-URI characters;

  5. The meanings of xml:base="" and xml:base="#frag" have been clarified;

  6. The expected reference to XML Base in the forthcoming XML Media Types RFC (“son of 3023”) has been noted;

  7. It has been clarified that normal validity rules apply to the xml:base attribute;

  8. Az XML Base specifikáció többi szabványra gyakorolt hatását leíró függelék időközben elavult, ezért törlésre került;

  9. Various minor editorial changes have been made.