[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
|