Subject: [xsl] Using a second xml document as a lookup table From: John Sands <WonkoWatson@xxxxxxxxx> Date: Thu, 9 May 2002 17:14:59 -0400 |
I want to output a node only if it is referenced in a second XML file. Here's my main XML file: <columns> <column dbcolumn="col1"/> <column dbcolumn="col2" /> <column dbcolumn="col3" /> </columns> Here's my lookup XML file, dbdef.xml: <ElementType> <AttributeType name='col2'/> <AttributeType name='col3' /> <AttributeType name='col4' /> </ElementType> Eventually I'm going to build a SQL select statement, so I want to output: col2, col3 But first I'm trying to just match the values and output all of them like this: col1=, col2=col2, col3=col3, Then I'll figure out how to eliminate the one that has no matching value in the lookup document. My XSLT is: <xsl:key name="dbdef-cols" match="AttributeType" use="@name" /> <xsl:variable name="dbdef" select="document('dbdef.xml')" /> <xsl:template match="/"> <xsl:variable name="all-columns" select="//column"/> <xsl:for-each select="$all-columns"> <xsl:variable name="dbcolumn" select="@dbcolumn" /> <xsl:for-each select="$dbdef"> <xsl:variable name="dbdef-col" select="key('dbdef-cols', $dbcolumn)" /> <xsl:value-of select="$dbcolumn"/>=<xsl:value-of select="$dbdef-col"/>, </xsl:for-each> </xsl:for-each> </xsl:template> I'm getting: col1=, col2=, col3=, So my lookup is not working. Can anyone see why? Also, is this a good way to do this kind of lookup, or is there a simpler way? I'm using MSXML4. Thanks, John Sands XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Dealing with footnotes, Wendell Piez | Thread | Re: [xsl] Using a second xml docume, Joerg Heinicke |
[xsl] Dealing with footnotes, Scott Meadows | Date | Re: [xsl] Dealing with footnotes, Wendell Piez |
Month |