[Home] [By Thread] [By Date] [Recent Entries]

  • From: "Oleg A. Paraschenko" <olpa@x...>
  • To: xml-dev <xml-dev@l...>
  • Date: Mon, 12 Mar 2007 13:16:55 +0300

Hello,

I thought that the following XPath steps are equivanent:

something[name()='lalala']
something[self::lalala]

However, it isn't so.

----- [test.xml]
<list type="bulleted" x="y">data</list>
----- [/test.xml]

----- [test.xsl]
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="list">
  <list1>
    <xsl:copy-of select="@*[name()='type']"/>
    <list2>
      <xsl:copy-of select="@*[self::type]"/>
      <xsl:copy-of select="node()"/>
    </list2>
  </list1>
</xsl:template>

</xsl:stylesheet>
----- [/test.xsl]

----- [result]
<list1 type="bulleted"><list2>data</list2></list1>
----- [/result]

I expected that "list2" will also have the attribute "type", but it
doesn't. Why does it so?

-- 
Oleg Parashchenko  olpa@ http://xmlhack.ru/  XML news in Russian
http://uucode.com/blog/  Generative Programming, XML, TeX, Scheme


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member