|
Subject: Re: [xsl] Reference problem From: "belangour abdessamad" <abdessamad.belangour@xxxxxxxxxxxxxxxxxxx> Date: Mon, 20 Oct 2003 12:44:48 +0200 |
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: [xsl] 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
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] Reference problem, Jarno . Elovirta | Thread | RE: [xsl] Reference problem, Jarno . Elovirta |
| Re: [xsl] variable visibility, Ragulf Pickaxe | Date | Re: [xsl] XPath: selecting matching, andrew . curry |
| Month |