|
Subject: Re: [xsl] XML reformatting <xsl:element & <xsl:for-each From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Tue, 7 Jan 2003 14:41:19 +0000 |
Hi Alan,
> I'm trying to use the <xsl:element> in the template for the <Table>
> section and loop through all the child nodes of <Table> to put them
> in the output xml, but It keeps saying that the element name is not
> a QName, How can I accomplish this???
You're trying to create the element name dynamically, from a function,
so the name attribute of <xsl:element> should be an attribute value
template: put {}s around the function call. Rather than:
> <xsl:element name="name()">
> <xsl:value-of select="current()/text()"/>
> </xsl:element>
use:
<xsl:element name="{name()}">
<xsl:value-of select="." />
</xsl:element>
or, better, since you're just copying an existing element, use
xsl:copy:
<xsl:copy>
<xsl:value-of select="." />
</xsl:copy>
or, since none of your elements have child elements, this is
equivalent to:
<xsl:copy-of select="." />
> I'm also getting Odd errors about <xsl:text>, 'Unexpected Child'.
In XSLT 1.0, <xsl:text> can't have children. Rather than:
> <xsl:text>
> <xsl:value-of select="current()/text()"/>
> </xsl:text>
you should use just:
<xsl:value-of select="current()/text()" />
or even just:
<xsl:value-of select="." />
I think that the easiest way to create your output is to just copy all
the element children of the <Table> element directly using
<xsl:copy-of>. For example, you could do your transformation with:
<xsl:template match="NewDataSet">
<data>
<xsl:copy-of select="Table/*" />
<fabrics>
<xsl:copy-of select="Table1/FabricId" />
</fabrics>
<attributes>
<xsl:for-each select="Table2">
<attribute id="{Attributeid}">
<xsl:value-of select="Setting" />
</attribute>
</xsl:for-each>
</attributes>
</data>
</xsl:template>
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] XML reformatting <xsl:element, Alan Flaherty | Thread | Re: [xsl] XML reformatting <xsl:ele, David Carlisle |
| Re: [xsl] in-document references, Jeni Tennison | Date | [xsl] Re: 'Problems getting '&' out, Edward L. Knoll |
| Month |