Re: [xsl] Matching problem

Subject: Re: [xsl] Matching problem
From: George Cristian Bina <george@xxxxxxxxxxxxx>
Date: Thu, 22 Dec 2005 12:29:37 +0200
Ok, try to match then the car element that has no version or a car/version element, like below:

<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:template match="car[not(version)] | car/version">
<xsl:for-each select="*">
[<xsl:value-of select="name(.)"/>]
</xsl:for-each>
</xsl:template>
</xsl:transform>


You should get [audi] [bmw] as output in both cases now.

Best Regards,
George
---------------------------------------------------------------------
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com


Sven Waibel wrote:
Sorry,

you are right it was not well formed.

Your example is okay, i get into the match, but i can't get the right
content inside version or car.

I know it sounds confusing, but it's hard to explain.

Results should be the following:

audi
bmw

for both possibilities.

It should not care about the tag "version".

Sven

George Cristian Bina schrieb:
Hi Sven,

It is helpful to actually describe what exactly do you mean by it does
not work and eventually post a full cut down of course example.
I tried a stylesheet like
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
   <xsl:template match="car | car/version">
       got it
   </xsl:template>
</xsl:transform>
and I get the "got it" with both your intended input documents. I said
intended because they are not wellformed, I assumed you mean:

<car>
  <version>
     <audi/>
     <bmw/>
  </version>
</car>

and

<car>
    <audi/>
    <bmw/>
</car>

Best Regards,
George
---------------------------------------------------------------------
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com


Sven Waibel wrote:


Hi all,

i have these xml:

1.

<car>
  <audi>
  <bmw>
</car>

2.

<car>
  <version>
     <audi>
     <bmw>
  </version>
</car>

These are the two possibilities that can occur.

I tried: match="car | car/version" but it does not match correctly resp.
it does not work.

Some ideas?

Thanks
Sven

Current Thread