Sign Up
Search
Options
search
Chat
Help
News
Log in
Not Logged in
Home
»
Boards
»
Stylus Studio Developer Network
»
XSLT Help and Discussion
»
How to convert in multi level element (xml to xml)
Conferences
Stylus Studio Feature Requests
(1192)
Stylus Studio Technical Forum
(14621)
Website Feedback
(249)
XSLT Help and Discussion
(7625)
Use of before and after string
(3)
How do I substitute element ty...
(1)
How does one add working days ...
(4)
Help, I have existing XLT and...
(1)
Need help on XSLT issue -
(2)
EDI to XML Conversion
(7)
XML To JSON Conversion using X...
(1)
Formatting Paragraphs to same ...
(2)
Grouping of records
(1)
Problems with xsd 1.1
(4)
XML to HL7 mapping
(3)
XSLT 3 and Iterate
(2)
XSL-FO to PDF preview
(3)
java.lang.RuntimeException: Er...
(2)
Create Acroforms with Stylus X...
(2)
How to change XSLT parameter s...
(3)
how to change format of the da...
(2)
Search "Next 8 Results " doesn...
(2)
Support for Git
(1)
newbee
(8)
[1-20]
[21-40]
[41-60]
Next
XQuery Help and Discussion
(2017)
Stylus Studio FAQs
(159)
Stylus Studio Code Samples & Utilities
(364)
Stylus Studio Announcements
(113)
Topic
next
Subject:
How to convert in multi level element (xml to xml)
Author:
Selva Ganesh
Date:
01 May 2009 05:31 AM
I need below placed in the input file to output file throughout xslt conversion please help me. thanks
Input file
<reg>
<h2>Amendment</h2>
<sub1>
<p>2.</p>
<p>(2)</p>
<sub2>
<p>(a)</p>
<p>(b)</p>
<p>(c)</p>
<p>(d)</p>
</sub2>
<p>(3)</p>
<p>(4)</p>
<sub2>
<p>(a)</p>
<p>(b)</p>
<sub3>
<p>(i)</p>
<p>(ii)</p>
</sub3>
</sub2>
<p>(5)</p>
<p>(7)</p>
<p>(6)</p>
<p>(7)</p>
<p>(8)</p>
<p>(9)</p>
</sub1>
</reg>
Output file
<reg>
<ti>Amendment</ti>
<s1>
<pt>2.</pt>
</s1>
<s1>
<pt>(2)</pt>
<s2>
<pt>(a)</pt>
</s2>
<s2>
<pt>(b)</pt>
</s2>
<s2>
<pt>(c)</pt>
</s2>
<s2>
<pt>(d)</pt>
</s2>
</s1>
<s1>
<pt>(3)</pt>
</s1>
<s1>
<pt>(4)</pt>
<s2>
<pt>(a)</pt>
</s2>
<s2>
<pt>(b)</pt>
<s3>
<pt>(i)</pt>
</s3>
<s3>
<pt>(ii)</pt>
</s3>
</s2>
</s1>
<s1>
<pt>(5)</pt>
</s1>
<s1>
<pt>(7)</pt>
</s1>
<s1>
<pt>(6)</pt>
</s1>
<s1>
<pt>(7)</pt>
</s1>
<s1>
<pt>(8)</pt>
</s1>
<s1>
<pt>(9)</pt>
</s1>
</reg>
Advance thanks,
Selva
Noname(44).
next
Subject:
How to convert in multi level element (xml to xml)
Author:
John Bampton
Date:
01 May 2009 08:18 AM
Originally Posted: 01 May 2009 08:17 AM
Hello, here is the solution
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="
http://www.w3.org/1999/XSL/Transform"
xmlns:xs="
http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:output method="xml" indent="no"></xsl:output>
<xsl:template match="reg">
<xsl:copy>
<xsl:apply-templates></xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="h2">
<ti>
<xsl:apply-templates></xsl:apply-templates>
</ti>
</xsl:template>
<xsl:template match="sub1">
<xsl:apply-templates select="p"></xsl:apply-templates>
</xsl:template>
<xsl:template match="p">
<xsl:choose>
<xsl:when test="parent::sub1 and ( name(following-sibling::*[1]) = ( 'p','') )">
<s1>
<pt>
<xsl:apply-templates></xsl:apply-templates>
</pt>
</s1>
</xsl:when>
<xsl:when test="parent::sub1 and ( name(following-sibling::*[1]) = 'sub2' )">
<s1>
<pt>
<xsl:apply-templates></xsl:apply-templates>
</pt>
<xsl:apply-templates select="following-sibling::sub2[1]"></xsl:apply-templates>
</s1>
</xsl:when>
<xsl:when test="parent::sub2 and ( name(following-sibling::*[1]) = ( 'p','') )">
<s2>
<pt>
<xsl:apply-templates></xsl:apply-templates>
</pt>
</s2>
</xsl:when>
<xsl:when test="parent::sub2 and ( name(following-sibling::*[1]) = 'sub3' )">
<s2>
<pt>
<xsl:apply-templates></xsl:apply-templates>
</pt>
<xsl:apply-templates select="following-sibling::sub3[1]"></xsl:apply-templates>
</s2>
</xsl:when>
<xsl:when test="parent::sub3">
<s3>
<pt>
<xsl:apply-templates></xsl:apply-templates>
</pt>
</s3>
</xsl:when>
</xsl:choose>
</xsl:template>
<xsl:template match="sub2">
<xsl:apply-templates select="p"></xsl:apply-templates>
</xsl:template>
<xsl:template match="sub3">
<xsl:apply-templates select="p"></xsl:apply-templates>
</xsl:template>
</xsl:stylesheet>
Cheers, John Bampton.
next
Subject:
How to convert in multi level element (xml to xml)
Author:
Selva Ganesh
Date:
03 May 2009 07:49 AM
Hi John Bampton,
Thank you very much
Selva
top
Subject:
How to convert in multi level element (xml to xml)
Author:
Selva Ganesh
Date:
03 May 2009 07:51 AM
Hi John Bampton,
Thank you very much
Selva
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.