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 ]

> Hello,
> I am trying to use xml:base and relative URLs with
> SAX/Java parsing, but am sure that I have not done it
> correctly (validation has errors).
> 
> In the xml schema, I have defined:
> <xs:element name="audioClip" type="xs:anyURI"/>
> 
> for example,
> <audioClip>C:\Documents and Settings\All
> Users\Documents\My Music\Sample Music\Highway
> Blues.wma</audioClip>

The value of this element is a Windows filename, not a URI. It's not
invalid, because the schema spec is pretty liberal about what it allows in
an xs:anyURI field. But the "\" is not recognized as a separator in the
path, so you won't have any luck using xml:base to make the reference
relative. You need to start by writing it as
file:///C:/Documents%20and%20Settings/All%20Users/Documents... etc

> 
> However, I realized that this makes my xml file
> non-relocatable. So I thought of using xml:base and
> relative URLs so that if the xml file is at
> C:\Documents and Settings\All Users\Documents\ then
> the xml becomes:
> <audioClip xml:base = "My Music\Sample Music\"
> xlink:href = "Highway Blues.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)."

Correct: if the schema doesn't allow xml:base, then you can't use it. The
only privileged attributes that you can use without declaring them are the
xsi: attributes defined in the XML schema spec itself, such as xsi:type.
> 
> 2. Also how would I access the URL from my code during
> SAX parsing? as an attribute of the
> audioClip? atts.getValue("", "base");
> 

atts.getValue("http://www.w3.org/XML/1998/namespace";, "base")

Michael Kay
http://www.saxonica.com/






 

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

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