[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Lindy,
What you're saying is confusing since the term "namespace" does not match the example you gave.
//fruit/apples/grannysmith/apple does not match an apple element in a fruit namespace. A fruit element is an ancestor (here, great-grandparent) of an apple element, but they are both in the same namespace (here, whatever namespace has no prefix).
If your source has something like
I guess you could say the apple is in the fruit namespace, whereas in
it's not. Is this what you mean?
If so, you can distinguish by setting up distinctive namespace bindings in your stylesheet to distinguish between the fruit and vegetables namespaces. E.g.
gets you the value of the first fruit element in the www.fruit.com namespace.
To get the first fruit element regardless of its namespace, the trick you first had, //*[local-name()='fruit'] is something of a hack, but serviceable. Since XPath had no expression to say "in any namespace", things do get tricky here and the hack is justifiable.
To get a fruit element regardless of a namespace but making sure it's a child of a jonathan, also regardless of what namespace the jonathan is in, you could do
//*[local-name()='jonathan']/*[local-name()='apple']
But that's pretty unfortunate. As you can see, the namespace mechanism isn't really designed to support type-identity of elements across namespaces; in fact, just the opposite.
Is that closer?
At 03:13 PM 5/9/2002, you wrote:
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Re: [xsl] Selecting Specific Elements Regardless of Namespace
Subject: Re: [xsl] Selecting Specific Elements Regardless of Namespace From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> Date: Thu, 09 May 2002 15:38:24 -0400 |
Lindy,
What you're saying is confusing since the term "namespace" does not match the example you gave.
//fruit/apples/grannysmith/apple does not match an apple element in a fruit namespace. A fruit element is an ancestor (here, great-grandparent) of an apple element, but they are both in the same namespace (here, whatever namespace has no prefix).
If your source has something like
<fruit xmlns="www.fruit.com"> <apples> <grannysmith> <apple>...</apple> </grannysmith> </apples> </fruit>
I guess you could say the apple is in the fruit namespace, whereas in
<fruit xmlns="www.vegetables.com"> <apples> <grannysmith> <apple>...</apple> </grannysmith> </apples> </fruit>
it's not. Is this what you mean?
If so, you can distinguish by setting up distinctive namespace bindings in your stylesheet to distinguish between the fruit and vegetables namespaces. E.g.
<xsl:template xmlns:fruit="www.fruit.com" xmlns:veggies="www.vegetables.com"> <xsl:value-of select="//fruit:fruit"/> </xsl:template>
gets you the value of the first fruit element in the www.fruit.com namespace.
To get the first fruit element regardless of its namespace, the trick you first had, //*[local-name()='fruit'] is something of a hack, but serviceable. Since XPath had no expression to say "in any namespace", things do get tricky here and the hack is justifiable.
To get a fruit element regardless of a namespace but making sure it's a child of a jonathan, also regardless of what namespace the jonathan is in, you could do
//*[local-name()='jonathan']/*[local-name()='apple']
But that's pretty unfortunate. As you can see, the namespace mechanism isn't really designed to support type-identity of elements across namespaces; in fact, just the opposite.
Is that closer?
Cheers, Wendell
At 03:13 PM 5/9/2002, you wrote:
That isn't quite the answer to my question. I am needing to do this regardless of the namespace. Let me go into a little more detail
I am in an xsl sheet that creates html. I need to know the value of the grannysmith/apple node using a xsl:value-of statment pathed directly to that node. This xml I have however is in a fruit namespace and I don't want to know that I am in the fruit namespace.
Thanks
Lindy
====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Selecting Specific Elemen, Lindy Quick | Thread | [xsl] Re: Re: What do we have in va, Dimitre Novatchev |
Re: [xsl] What do we have in variab, Jeff Kenton | Date | Re: [xsl] Selecting Specific Elemen, Greg Faron |
Month |