Sign Up
Search
Options
search
Chat
Help
News
Log in
Not Logged in
Home
»
Boards
»
Stylus Studio Developer Network
»
XSLT Help and Discussion
»
Regarding repeating element in XML-XML mapping using XSLT
Topic
Topic Page
1
2
3
4
5
6
7
8
9
Prev Topic
Next Topic
next
Subject:
Regarding repeating element in XML-XML mapping using XSLT
Author:
James Durning
Date:
09 Jul 2007 11:24 AM
one to two
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="
http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:template match="/">
<root>
<xsl:for-each select="root/company">
<companytest>
<xsl:for-each select="name">
<xsl:variable name="elementName">name<xsl:number/></xsl:variable>
<xsl:element name="{$elementName}">
<xsl:value-of select="."/>
</xsl:element>
</xsl:for-each>
</companytest>
</xsl:for-each>
</root>
</xsl:template>
</xsl:stylesheet>
next
Subject:
Regarding repeating element in XML-XML mapping using XSLT
Author:
James Durning
Date:
09 Jul 2007 11:26 AM
Two to one.
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="
http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:template match="/">
<root>
<xsl:for-each select="root/companytest">
<company>
<xsl:for-each select="*">
<name>
<xsl:value-of select="."/>
</name>
</xsl:for-each>
</company>
</xsl:for-each>
</root>
</xsl:template>
</xsl:stylesheet>
top
Subject:
Regarding repeating element in XML-XML mapping using XSLT
Author:
amith cn
Date:
09 Jul 2007 01:03 PM
Thank you for your updates.
when coverting form one.xml to two.xml
name can start with any number say 102,2 etc and not always 1
I modified the xsl to start from 2
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="
http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:template match="/">
<root>
<xsl:for-each select="root/company">
<companytest>
<xsl:for-each select="name">
<xsl:variable name="elementName">name<xsl:number value="count(preceding::name) + 2" format="1"/></xsl:variable>
<xsl:element name="{$elementName}">
<xsl:value-of select="."/>
</xsl:element>
</xsl:for-each>
</companytest>
</xsl:for-each>
</root>
</xsl:template>
</xsl:stylesheet>
but in the output the names elements are incrementing for next loop also as shown below. <name6> should have been <name2>. Let me know how to do this.
<?xml version='1.0' ?>
<root>
<companytest>
<name2>A</name2>
<name3>B</name3>
<name4>C</name4>
<name5>D</name5>
</companytest>
<companytest>
<name6>A</name6>
<name7>B</name7>
<name8>C</name8>
<name9>D</name9>
</companytest>
</root>
Topic Page
1
2
3
4
5
6
7
8
9
Prev Topic
Next Topic
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 to Conference:
Select Conference
Stylus Studio Feature Requests
Stylus Studio Technical Forum
Website Feedback
XSLT Help and Discussion
XQuery Help and Discussion
Stylus Studio FAQs
Stylus Studio Code Samples & Utilities
Stylus Studio Announcements
go
Log In Options
Username:
Password:
Site Map
|
Privacy Policy
|
Terms of Use
|
Trademarks
Stylus Scoop XML Newsletter:
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.