|
Subject: RE: [xsl] Combining xml file manipulation into one xsl From: "Karen Dunstall" <kdunstall@xxxxxxxxxxxxxxx> Date: Thu, 2 Oct 2003 10:58:30 +1000 |
David
This combines the two files beautifully, but it doesn't weed out the duplicates.
I made a couple of minor changes to the apply templates command (which seem reasonable, as the sort works):
<xsl:apply-templates select="doxygenindex/compound[not(key('x',name))] | document('tblMasterFile.xml')/CodeLibrary/File">
<xsl:sort select="name|Name"/>
</xsl:apply-templates>
but I don't know enough keys to really know what I'm doing. Any suggestions.
Thanks
Karen
-----Original Message-----
From: David Carlisle [mailto:davidc@xxxxxxxxx]
Sent: Thursday, 2 October 2003 9:33 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Combining xml file manipulation into one xsl
wel...
given your (2nd pass) input I think
<File>
<Name>
<xsl:value-of select="./Name"/>
</Name>
<Type><xsl:value-of select="./Type"/></Type>
<BriefDescription><xsl:value-of select="./BriefDescription"/></BriefDescription>
<SourceFileName><xsl:value-of select="./SourceFileName"/></SourceFileName>
<IgnoreFlag><xsl:value-of select="./IgnoreFlag"/></IgnoreFlag>
</File>
can be replaced by
<xsl:copy-of select="."/>
which means that basically you should be able to merge this in to your
first stylesheet. (In general in pure xslt 1 to merge the results of two
stylesheets you need to do what you are doing, produce an intermediate
documemt, but as one of your transforms is just a copy I think you want
something like
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:key name="x" match="File" use="Name"/>
<xsl:template match="/">
<CodeLibrary>
<xsl:apply-templates
select="doxygenindex/compound[not(key('x',@name)]|document('tblMasterFile.xml')/CodeLibrary/File">
<xsl:sort select="@name|Name"/>
</xsl:apply-templates>
</CodeLibrary>
</xsl:template>
<xsl:template match="doxygenindex/compound">
<File>
<Name><xsl:value-of select="name"/></Name>
<Type><xsl:value-of select="@kind"/></Type>
<BriefDescription/>
<SourceFileName><xsl:value-of select="@refid"/></SourceFileName>
<IgnoreFlag>77</IgnoreFlag>
</File>
</xsl:template>
<xsl:template match="File">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
David
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Combining xml file manipu, David Carlisle | Thread | Re: [xsl] Combining xml file manipu, David Carlisle |
| RE: [xsl] Handling Mixed Child Elem, Americo Albuquerque | Date | Re: [xsl] Handling Mixed Child Elem, Brook Ellingwood |
| Month |