[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] Reading recursive from a list
Subject: Re: [xsl] Reading recursive from a list
From: Martin Honnen <Martin.Honnen@xxxxxx>
Date: Mon, 01 Oct 2007 15:20:42 +0200
|
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/
|