Re: [xsl] Template matching with multiple namespaces

Subject: Re: [xsl] Template matching with multiple namespaces
From: Hermann Stamm-Wilbrandt <STAMMW@xxxxxxxxxx>
Date: Fri, 20 Mar 2009 10:59:02 +0100
> Try,
>
> <xsl:apply-templates select=".//*[local-name() = 'LandXML']" />

That works and seems to be the only XSLT 1.0 option, as Michael noted that
"*:xyz is an XPath 2.0 construct":.


Mit besten Gr|_en / Best wishes,

Hermann Stamm-Wilbrandt
Developer, XML Compiler
WebSphere DataPower SOA Appliances
----------------------------------------------------------------------
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschdftsf|hrung: Erich Baier
Sitz der Gesellschaft: Bvblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294



             Jeff Sese
             <jeferson.sese@as
             iatype.com>                                                To
                                       xsl-list@xxxxxxxxxxxxxxxxxxxxxx
             03/20/2009 09:56                                           cc
             AM
                                                                   Subject
                                       Re: [xsl] Template matching with
             Please respond to         multiple namespaces
             xsl-list@xxxxxxxx
              lberrytech.com








Try,

<xsl:apply-templates select=".//*[local-name() = 'LandXML']" />

-- Jeff

On 03 20, 09, at 4:41 PM, Hermann Stamm-Wilbrandt wrote:

>
>> I think this would work:
>>
>> <xsl:apply-templates select=".//*:LandXML" />
>
> It does not work for xsltproc:
> $ xsltproc a.xsl
> Error xpath.c:10147: Invalid expression
> .//*:LandXML
>    ^
> compilation error: file a.xsl line 17 element apply-templates
> xsl:apply-templates : could not compile select expression './/
> *:LandXML'
> $
>
>
> "local-name(.)='LandXML'" works fine for <xsl:when test=...>.
> It does work neither for <template match=...> nor for <xsl:apply-
> templates
> select=...> ...
>
>
> Mit besten Gr|_en / Best wishes,
>
> Hermann Stamm-Wilbrandt
> Developer, XML Compiler
> WebSphere DataPower SOA Appliances
> ----- Forwarded by Hermann Stamm-Wilbrandt/Germany/IBM on 03/20/2009
> 09:33
> AM -----
>
>             Jeff Sese
>             <jeferson.sese@as
>
> iatype.com>                                                To
>                                       xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>             03/20/2009
> 06:54                                           cc
>             AM
>
> Subject
>                                       Re: [xsl] Template matching with
>             Please respond to         multiple namespaces
>             xsl-list@xxxxxxxx
>              lberrytech.com
>
>
>
>
>
>
>
>
> I think this would work:
>
> <xsl:apply-templates select=".//*:LandXML" />
>
> This will apply to all elements that has a local name of LandXML
>
> -- Jeff
>
> On 03 20, 09, at 11:18 AM, Tony Rowe wrote:
>
>> Hi,
>>
>> I have a stylesheet which works with one namespace, prefix say
>> 'lml'. I
>> now want the same stylesheet to work on documents under another
>> namespace, say lml10.
>>
>> Here is my namespace defs...
>>
>> <xsl:stylesheet version="1.0"
>> xmlns:lml=...
>> xmlns:lml10=...
>> xmlns:msxsl=...
>> xmlns:xsl="...
>>>
>>
>> Now the stylesheet does, of course match nodes such as
>>
>> <xsl:apply-templates select=".//lml:LandXML" />
>>
>> But I want it to also match on
>>
>> <xsl:apply-templates select=".//lml10:LandXML" />.
>>
>> How can I set up some variable to allow me not to have to duplicate
>> code?
>>
>> This doesn't work...NodeTest expected.
>> <xsl:apply-templates select=".//{$namespacevariable}:LandXML" />
>>
>> Or is there a better way to get the one stylesheet to work over
>> multiple
>> namespaces?
>>
>> I am using XSLT 1.0 still because I need to use the MSXML parser 6.0.
>>
>> Tony
>>
>
> Jeferson L. Sese
> jeferson dot sese at asiatype dot com
> Asiatype Inc.
> Suite 114 Columbia Tower
> Ortigas Ave., Greenhills
> Mandaluyong City 1550 Philippines
> Tel: +632-744-6262
> Mobile: +63927-671-7901
>

Jeferson L. Sese
jeferson dot sese at asiatype dot com
Asiatype Inc.
Suite 114 Columbia Tower
Ortigas Ave., Greenhills
Mandaluyong City 1550 Philippines
Tel: +632-744-6262
Mobile: +63927-671-7901

Current Thread