[
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/
|