[
Lists Home |
Date Index |
Thread Index
]
- To: derek@derekdb.com, Michael Kay <mike@saxonica.com>, xml dev <xml-dev@lists.xml.org>
- Subject: Re: [xml-dev] how to use xml:base and relative URLs with SAX/Java?
- From: Anil Philip <goodnewsforyou@yahoo.com>
- Date: Sat, 10 Dec 2005 12:37:57 -0800 (PST)
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:Received:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=n01YKYzT60NvvUUAuxIbpMpNF9VQId9Ste3HrdRiti0PqgQAJueHG1jKKDiFnl767fGOOn6X4ttbKrFIsT0sD1bd/qnzfB19LC/qzYt0t65LtcilhkILqrYhmYSJ3QK97T3buYefP4NiSfVEPcmSsDSTxivNCvIWWRLVgVQBQF4= ;
- In-reply-to: <976899860512100925w6b05cf6as61694ecb8c9a2cab@mail.gmail.com>
I was looking for something like HTML's BASE + HREF
tags; also there, the 'computing' of the URL is done
automatically. Now you're saying this will have to be
manually done...
Is there a simpler solution? I just want to have
portable URLs.
-
Anil
--- Derek <zuligag@gmail.com> wrote:
> Also note that schema has no built-in understanding
> of xml:base, so it
> would still be up to you application to apply the
> xml:base attribute's
> value as a base URL for the <audioClip>'s URI.
>
> On 12/10/05, Michael Kay <mike@saxonica.com> wrote:
> > > 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/
> >
> >
> >
> >
>
-----------------------------------------------------------------
> > The xml-dev list is sponsored by XML.org
> <http://www.xml.org>, an
> > initiative of OASIS <http://www.oasis-open.org>
> >
> > The list archives are at
> http://lists.xml.org/archives/xml-dev/
> >
> > To subscribe or unsubscribe from this list use the
> subscription
> > manager:
> <http://www.oasis-open.org/mlmanage/index.php>
> >
> >
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
|