Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   XML (http://www.velocityreviews.com/forums/f32-xml.html)
-   -   Is a fragment ID a URI reference? (http://www.velocityreviews.com/forums/t293915-is-a-fragment-id-a-uri-reference.html)

Gustaf 05-18-2006 04:02 PM

Is a fragment ID a URI reference?
 
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:xlink="http://www.w3.org/1999/xlink">
<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

Bjoern Hoehrmann 05-18-2006 05:30 PM

Re: Is a fragment ID a URI reference?
 
* Gustaf wrote in comp.text.xml:
><a xml:base="http://example.org/schema.xsd"
> xmlns:xlink="http://www.w3.org/1999/xlink">
> <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 · mailto:bjoern@hoehrmann.de · 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/

Richard Tobin 05-18-2006 05:39 PM

Re: Is a fragment ID a URI reference?
 
In article <e9ydnTfto-8YB_HZRVnysg@giganews.com>,
Gustaf <gustafl@algonet.se> 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

Gustaf 05-18-2006 07:16 PM

Re: Is a fragment ID a URI reference?
 
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


All times are GMT. The time now is 04:32 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.