XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
- Stylus Studio Technical Forum (14621)
-> + XPath documentation confusion (2)
-> + Extra block/CR generated (6)
-> + Apache FOP (2)
-> + Inserting Java Script (2)
-> + Convert EDIFACT to X12 or vice... (6)
-> + XSD: Restricting an attribute ... (2)
-> - Creating dynamically named ele... (2)
-> ->Creating dynamically name...
-> + Report reverts back to XHTML-C... (2)
-> + Certificate error (7)
-> + Opening DITA files and associa... (4)
-> + Cannot see links from source d... (10)
-> + SS 2007 vs. SS 2008 calling a ... (3)
-> + Unable to compile java file (8)
-> + Unable to use xsi:type attribu... (2)
-> + Unable to save xslt file after... (5)
-> + .NET XslTransform Compiled out... (3)
-> + Reporting Comparison (2)
-> + problems setting up the fonts ... (3)
-> + XML conversion (5)
-> + XQUERY: Application Crash (3)
-- Previous [1321-1340] [1341-1360] [1361-1380] Next
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
hungry backspaceSubject: Creating dynamically named elements
Author: hungry backspace
Date: 26 Dec 2007 02:51 PM
hello,

i've read a few posts on the subject of creating dynamically-named elements using the name() function. that technique seems to work for me, but only in limited applications. specifically, i'm finding that using it is problematic within certain templates. for example, this template is called within another template, which is in turn called by yet another template:

<xsl:template match="quote">
<xsl:for-each select="*">
<xsl:for-each select="*">

<xsl:variable name="itemName">
<xsl:value-of select="php:function('translateItems', string(name()))" />
</xsl:variable>

<xsl:element name="example">
<xsl:value-of select="$itemName" />
</xsl:element>

<xsl:element name="{$itemName}">
<xsl:value-of select="$itemName" />
</xsl:element>

</xsl:for-each>
</xsl:for-each>
</xsl:template>


the variable assignment to a value that passes through PHP is no problem; i can define that statically and the result is the same, which is this: the next element, <example>, is properly added to the document, and the dynamically generated variable $itemname is properly contained within the element. the element after that, however, causes a runtime error in the XSLT processor, and the only discernible difference to me is that i'm assigning the element name to a variable.

i'm admittedly quite new to XSLT! so there's likely something basic i missed. any advice or comments are greatly appreciated.

thanks very much.

Posttop
Minollo I.Subject: Creating dynamically named elements
Author: Minollo I.
Date: 26 Dec 2007 06:45 PM
This question seems unrelated to Stylus Studio or out other XML products. You may find better assistance asking your general XSLT question to the XSLT list hosted at mulberrytech dot com.

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.