![]() |
|
|
|||||||
![]() |
XML - Is a fragment ID a URI reference? |
|
|
Thread Tools | Search this Thread |
|
|
#1 |
|
I'm trying to grasp this little passage from the XBRL spec:
"The xlink:href attribute MUST be a URI. The URI MUST point to an XML document or to one or more XML fragments within an XML document. If the URI is relative, it MUST be resolved to obtain an absolute URI as specified in XML Base specification [XML Base]." I guess they really mean "URI reference" and not "URI" in the formal sense. But anyway, consider this document: <?xml version="1.0"?> <a xml:base="http://example.org/schema.xsd" xmlns <b xlink:href="#myelement"/> </a> My question is: is a fragment ID by itself a URI reference? Is the above example valid, or can xlink:href="#myelement" only refer to the same document? Gustaf Gustaf |
|
|
|
|
#2 |
|
Posts: n/a
|
* Gustaf wrote in comp.text.xml:
><a xml:base="http://example.org/schema.xsd" > xmlns > <b xlink:href="#myelement"/> ></a> > >My question is: is a fragment ID by itself a URI reference? Is the above >example valid, or can xlink:href="#myelement" only refer to the same >document? It's valid and refers to (#myelement in) the same document, please see RFC 3986 for details. -- Björn Höhrmann · private.php?do=newpm&u= · http://bjoern.hoehrmann.de Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de 68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/ |
|
|
|
#3 |
|
Posts: n/a
|
In article <e9ydnTfto->,
Gustaf <> wrote: >My question is: is a fragment ID by itself a URI reference? Is the above >example valid, or can xlink:href="#myelement" only refer to the same >document? A URI reference of the form #myelement is always a same-document reference, regardless of the base URI. Either by RFC 2396, in which it is handled explicitly without reference to the base URI: 4.2. Same-document References A URI reference that does not contain a URI is a reference to the current document. In other words, an empty URI reference within a document is interpreted as a reference to the start of that document, and a reference containing only a fragment identifier is a reference to the identified fragment of that document. or by RFC 3986, in which it is handled by using the base URI and comparing it with the (same!) base URI: 4.4. Same-Document Reference When a URI reference refers to a URI that is, aside from its fragment component (if any), identical to the base URI (Section 5.1), that reference is called a "same-document" reference. The most frequent examples of same-document references are relative references that are empty or include only the number sign ("#") separator followed by a fragment identifier. You can't use xml:base to make a bare fragment refer to some other document. -- Richard |
|
|
|
#4 |
|
Posts: n/a
|
Richard Tobin wrote:
> A URI reference of the form #myelement is always a same-document > reference, regardless of the base URI. A good answer. It simplifies my task too. Gustaf |
|