xsl-list
[Top] [All Lists]

Re: Re: Re: Re: Sibling in the Pattern(match)

2003-11-25 12:13:06
However, "Member[(_at_)name
='acc1']/Member[(_at_)name='acc11']]" seems not okay in the
match. It only recognized the "Member[(_at_)name='acc1'],
not the full path.

Not true!

Probably you are using some buggy XSLT processor?

Here's the very simple xslt code:

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

 <xsl:output omit-xml-declaration="yes"/>

  <xsl:template match="@* | node()">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template
   match="Member[(_at_)name='acc1']/Member[(_at_)name='acc11']"/>

</xsl:stylesheet>

when applied on your source.xml:

<D>
   <Member comment="" name="acc1">
     <Calc>+</Calc>
     <Member comment="" name="acc11">
       <Calc>+</Calc>
       <Member name="account3_1"/>
     </Member>
     <Member comment="" name="acc12">
       <Calc>+</Calc>
       <Member name="acc121"/>
     </Member>
   </Member>
   <Member comment="" name="acc2">
     <Calc>+</Calc>
   </Member>
   <Member comment="" name="acc3">
     <Calc>+</Calc>
     <Member comment="" name="acc31">
       <Calc>+</Calc>
     </Member>
     <Member comment="" name="acc11">
       <Calc>+</Calc>
     </Member>
   </Member>
</D>

the wanted result is produced:

<D>
   <Member comment="" name="acc1">
     <Calc>+</Calc>

     <Member comment="" name="acc12">
       <Calc>+</Calc>
       <Member name="acc121"></Member>
     </Member>
   </Member>
   <Member comment="" name="acc2">
     <Calc>+</Calc>
   </Member>
   <Member comment="" name="acc3">
     <Calc>+</Calc>
     <Member comment="" name="acc31">
       <Calc>+</Calc>
     </Member>
     <Member comment="" name="acc11">
       <Calc>+</Calc>
     </Member>
   </Member>
</D>

As you can see, the first "Member" withname="acc11" is removed, but the
second is in the result tree. I tested this with all 8 different XSLT 1.0
processors I have installed -- all produced exactly the same result.



=====
Cheers,

Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL







 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list