[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: xml, xslt and namespaces


xslt source namespace
Tor Helland wrote:
>>We see definitively that if there is no prefix in the name used in a
>>step, then the null namespace is assigned, not the default namespace.
>>That's why expressions like request/title do not return anything when
>>those elements are in a non-null default namespace.
> 
> 
> So, just to see if I get this right: A default namespace like this:
> <?xml version="1.0" encoding="UTF-8"?>
> <test xmlns="test">
>   <container-abc>
>   ...
>   </container-abc>
> </test>
> 
> leaves the container-abc element only reachable by some non-abbreviated
> syntax like:
>     //*[name()="container-abc"]
> 

That would be local-name(), but it would work.  If there could be 
elements of the same local name in different namespaces, you would have 
to test for the desired namespace as well.  However, the usual thing one 
does is to declare a prefix for the namespace *in the stylesheet*, and 
then use that prefix in the xpath expressions.

> but here:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <test xmlns="test" xmlns:t="test">
>   <container-abc>
>   ...
>   </container-abc>
> </test>
> 
> I would get results with
>     //t:container-abc
> 
> Is that right?
> 

Not quite.  As mentioned above, the namespace prefix that counts is the 
one declared in the stylesheet, not the one declared in the source 
document.  In fact, the stylesheet processor will generally be unaware 
of what prefix was used in the source document, because the parsing of 
the source document does not have to keep the information about specific 
prefixes - of course, it does have to keep information about the 
namespaces themselves.  Now if the source and stylesheet were rolled 
into one (in other words, using an "embedded" stylesheet), then yes, 
that would work.

Remember, BTW, that unprefixed attributes are always in no namespace, 
not in the default namespace, so you always get them without any prefix.

Cheers,

Tom P
-- 
Thomas B. Passin
Explorer's Guide to the Semantic Web (Manning Books)
http://www.manning.com/catalog/view.php?book=passin

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.