Subject: Re: [xsl] Can't make template match root element with schema info From: David Carlisle <davidc@xxxxxxxxx> Date: Wed, 16 Mar 2005 12:36:27 GMT |
Kindly bear these slip-ups as coming from someone who's still learning. How many different kinds of namespaces are there in XSLT. Oh yes sorry I didn't mean to criticize. (You could always criticise my typing accuracy if it came to that:-) However if people use completely wrong terminology then it's not too confusing as you can guess what they mean and react accordingly, but if you are unlucky and the terminology is correct (but doesn't mean what was intended) then it's harder to spot that a translation is required. How many different kinds of namespaces are there in XSLT. 1. no-namespace 2. default namespace and is there any other? Well if you phrase it that way there are others yes, such as namespaces that are neither the default (and are not no-namespace). But listing the choices like that is confusing as they are really independent. There is the syntactic/structural distinction: All namespaces have a namespace name which is a URI such as http://fooobar there is one special case of a "null namespace" for elements that are not in a namespace at all. XSLT essentially treast no-namespace as a namespace with namespace URI the empty string "" so you often hear this called the nul namespace or similar terms, although the namespace rec, says that such elements are not in a namespace. So your first distiction is saying whether the namespace has a namespace URI or not. Then there is a syntactic issue, if an element is in a namespace say element xx in namespace http://foobar then it may appear with (any) prefix or with no prefix, but Xpath essentially treats all these things as equivalent, just as <x n="2"/> and <x n='2'/> are equivalent. so <xx xmlns="http://fooobar"/> <p:xx xmlns:p="http://fooobar"/> <zzz:xx xmlns:zzz="http://fooobar"/> the term "default namespace" refers to using the first unprefixed from above. But this is essentially a syntactic issue apart from one (or two:-) special functions XSLT and XPath can not tell that the default namespace syntax was used, and if it was not used, it can't tell which prefix was used. In all the cases above you woul duse the same match expression something like match="qqq:xx" xmlns:qqq="http://fooobar" I think the faq for this list has more on this David ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Can't make template match, omprakash . v | Thread | Re: [xsl] Can't make template match, James Fuller |
Re: [xsl] external var in XSL, David Carlisle | Date | RE: [xsl] Namespace declarations in, Andrew Welch |
Month |