[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: how to use xml:base and relative URLs with SAX/Java?
> 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/
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|