OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] how to use xml:base and relative URLs with SAX/Java?

[ Lists Home | Date Index | Thread Index ]

On Fri, Dec 09, 2005 at 08:34:42PM -0800, Anil Philip wrote:
> In the xml schema, I have defined:
> <xs:element name="audioClip" type="xs:anyURI"/>

So, your audioClip elmeent's contents must be a URI (or IRI).

> <audioClip xml:base = "My Music\Sample Music\"
> xlink:href = "Highway Blues.wma" xlink:type = "simple"
> xmlns:xlink="http://www.w3.org/1999/xlink"; />

Some of your slashes go the wrong way and you have tried to
put a space an a URI.

Try:

<audioClip xml:base = "file:///C|/My%20Music/Sample%20Music/"
  xlink:href="Highway%20Blues.wma" xlink:type="simple"
  xmlns:xlink="http://www.w3.org/1999/xlink"; />

> 1. However, I get validation error: "Element audioClip
> is based on a simple type. Attribute 'xml:base' is not
> defined in the schema instance namespace (xsi)."

The idea of xml:base is really to say where an entity (e.g
a file) come from.  You can use it on individual elements, but
you might as well just use
    href="file:...."
instead as far as I can tell.

In general, though, it's better to use relative uRIs if you
want your document to be portable.

> 2. Also how would I access the URL from my code during
> SAX parsing? as an attribute of the
> audioClip? atts.getValue("", "base");

I don't know if the SAX processor you are using has any special
support for xml:base, but if it does, no, there would be a call
to get the current base, since it is inherited.  If not, you
would have to keep a stack of the xml:base property for each
element, defaulting to the URI of the containing resource (file).

Liam

-- 
Liam Quin, W3C XML Activity Lead, http://www.w3.org/People/Quin/
http://www.holoweb.net/~liam/




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS