xsl-list
[Top] [All Lists]

Re: [xsl] Reading recursive from a list

2007-10-01 06:21:09
Houman Khorasani wrote:

My Selection list:

<UnitInfos xmlns="Animals">
        <Type>UNIT_LION</Type>
        <Type>UNIT_DOG</Type>
</UnitInfos>


According to my selection List, I would like to copy all UnitInfo
elements with their children that have a type element which is listed in
the small list above.


Here is an XSLT 1.0 stylesheet that has the "selection list" in the stylesheet:

<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  xmlns:a="Animals"
  exclude-result-prefixes="a"
  version="1.0">

  <xsl:output method="xml" indent="yes"/>
  <xsl:strip-space elements="*"/>

  <UnitInfos xmlns="Animals">
        <Type>UNIT_LION</Type>
        <Type>UNIT_DOG</Type>
  </UnitInfos>

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

  <xsl:template match="a:UnitInfos">
    <xsl:copy>
      <xsl:apply-templates select="@*"/>
<xsl:apply-templates select="a:UnitInfo[a:Type = document('')/xsl:stylesheet/a:UnitInfos/a:Type]"/>
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>


--

        Martin Honnen
        http://JavaScript.FAQTs.com/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--