|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Reference problem
Hi Jarno,
First of all, thanks of answering me. I have copied your xslt program and
tried to run it, but the xslt processor declares 3 errors (for x unknown
namespace) so i have removed the 'x' and placed the datatypes at the start
of the document (as below) but it does not suceeded. What's wrong with this.
Can we simply make a named template (getDaTyID) with a parameter for doing
the job?.
Thanks again.
-----------------------------------------
<xsl:template match="/">
<document>
<dataTypes>
<dataType id="1" name="string"/>
<dataType id="2" name="integer"/>
<dataType id="3" name="float"/>
</dataTypes>
<xsl:apply-templates select="variables"/>
</document>
</xsl:template>
----------------------------------------------
<xsl:template match="var">
<xsl:copy>
<xsl:apply-templates select="@name"/>
<xsl:for-each select="@type">
<xsl:element name="{local-name()}">
<xsl:attribute name="idref">
<xsl:value-of select="document('')/*/dataTypes/dataType[@name =
current()]/@id"/>
</xsl:attribute>
</xsl:element>
</xsl:for-each>
</xsl:copy>
</xsl:template>
-----------------------------------------
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
----- Original Message -----
From: <Jarno.Elovirta@xxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Monday, October 20, 2003 9:31 AM
Subject: RE: Reference problem
> Hi,
>
> > The problem is with idref attribute. How am i going to refer
> > to these newly
> > created dataTypes nodes with their IDs ?it is possible or not ?
> > Thanks a lot.
>
> Something in the lines of
>
> <xsl:template match="/">
> <document>
> <dataTypes>
> <xsl:apply-templates
select="document('')/*/x:dataTypes/dataType"/>
> </dataTypes>
> <xsl:apply-templates select="variables"/>
> </document>
> </xsl:template>
> <xsl:template match="var">
> <xsl:copy>
> <xsl:apply-templates select="@name"/>
> <xsl:for-each select="@type">
> <xsl:element name="{local-name()}">
> <xsl:attribute name="idref">
> <xsl:value-of
select="document('')/*/x:dataTypes/dataType[@name = current()]/@id"/>
> </xsl:attribute>
> </xsl:element>
> </xsl:for-each>
> </xsl:copy>
> </xsl:template>
> <xsl:template match="@* | node()">
> <xsl:copy>
> <xsl:apply-templates select="@* | node()"/>
> </xsl:copy>
> </xsl:template>
> <x:dataTypes>
> <dataType id="1" name="string"/>
> <dataType id="2" name="integer"/>
> <dataType id="3" name="float"/>
> </x:dataTypes>
>
> Cheers,
>
> Jarno - VNV Nation: Arclight
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








