[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: "Scott Trenda" <Scott.Trenda@xxxxxxxx> Date: Mon, 1 Oct 2007 09:44:19 -0500 |
Keys are cool too: <stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" xmlns:ani="Animals"> <key name="ani:mals" match="ani:UnitInfo" use="ani:Type"/> <template match="ani:UnitInfos"> <copy> <apply-templates/> </copy> </template> <template match="ani:Type"> <!-- trap the context node's contents: --> <param name="ani:type" select="."/> <!-- switch the context document for the key: --> <for-each select="document('animals-list.xml')"> <copy-of select="key('ani:mals', $ani:type)"/> </for-each> </template> </stylesheet> ~ Scott -----Original Message----- From: Michael Kay [mailto:mike@xxxxxxxxxxxx] Sent: Monday, October 01, 2007 8:42 AM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: [xsl] Reading recursive from a list Ignoring namespaces, it's: <xsl:copy-of select="/AllUnitInfos/UnitInfos/UnitInfo[Type = document('selection.xml')/UnitInfos/Type"/> In 2.0, specify xpath-default-namespace="Animals". In 1.0, prefix each name in the expression above with "a:" and bind xmlns:a="Animals" in the stylesheet. Michael Kay http://www.saxonica.com/ > > > Input file: > > <AllUnitInfos xmlns="Animals"> > <UnitInfos> > <UnitInfo> > <Class>UNITCLASS_LION</Class> > <Type>UNIT_LION</Type> > <bla/> > </UnitInfo> > <UnitInfo> > <Class>UNITCLASS_CAT</Class> > <Type>UNIT_CAT</Type> > <bla/> > </UnitInfo> > <UnitInfo> > <Class>UNITCLASS_WOLF</Class> > <Type>UNIT_WOLF</Type> > <bla/> > </UnitInfo> > <UnitInfo> > <Class>UNITCLASS_DOG</Class> > <Type>UNIT_DOG</Type> > <bla/> > </UnitInfo> > <UnitInfos> > </AllUnitInfos> > > > > 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. > > > Output should be this: > > <AllUnitInfos xmlns="Animals"> > <UnitInfos> > <UnitInfo> > <Class>UNITCLASS_LION</Class> > <Type>UNIT_LION</Type> > <bla/> > </UnitInfo> > <UnitInfo> > <Class>UNITCLASS_DOG</Class> > <Type>UNIT_DOG</Type> > <bla/> > </UnitInfo> > <UnitInfos> > </AllUnitInfos> > > > The list above could be placed in a file or anywhere that > would make it possible/easier. > > Many thanks for any idea, > Houman > > > Tribold News Alert! Tribold Accelerates Growth With New CEO > Appointment. > > Tribold Limited. Registered Office: Carmelite, 50 Victoria > Embankment, Blackfriars, London EC4Y 0DX, United Kingdom. > Registered in England and Wales No: 4942611
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Reading recursive from a , Michael Kay | Thread | [xsl] iterate through nodes and det, Mario Madunic |
RE: [xsl] Reading recursive from a , Michael Kay | Date | [xsl] XSL Help, Waqar Ali |
Month |