Subject: [xsl] XSL for CSV to XML From: "Rahul Singh rahulsinghindia15@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 14 Feb 2019 05:53:06 -0000 |
Hi, I wrote XSL for CSV to XML conversion but i am not getting proper output for #Id 3. and Also I need output as per given expected output. Need yours help please for given Input CSV, XSL Code, Current Output, Expected Output: *Input CSV:* <root>ID|Value|Number|descr1|descr2|descr3|descr4 1|AAAAA|1|aaaaaaaaaaa|aaaaaaaaaaa|aaaaaaaaaaa|aaaaaaaaaaa 2|AAAAA|2|aaaaaaaaaaa|aaaaaaaaaa|aaaaaaaa|aaaaaaaaaaaa 3|AAAAA|3|aaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|aaaaaaaaaaa|aaaaaaaaaaa|aaaaaaaaaaa</root> *XSL Code:* <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns:xsl=" http://www.w3.org/1999/XSL/Transform" xmlns:xs=" http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs"> <xsl:output method="xml" indent="yes" encoding="UTF-8"/> <xsl:template match="/"> <root> <xsl:call-template name="texttorows"> <xsl:with-param name="StringToTransform" select="root"/> </xsl:call-template> </root> </xsl:template> <xsl:template name="texttorows"> <xsl:param name="StringToTransform" select="''"/> <xsl:choose> <xsl:when test="contains($StringToTransform,'
')"> <row> <xsl:call-template name="csvtoxml"> <xsl:with-param name="StringToTransform" select="substring-before($StringToTransform,'
')"/> </xsl:call-template> </row> <xsl:call-template name="texttorows"> <xsl:with-param name="StringToTransform"> <xsl:value-of select="substring-after($StringToTransform,'
')"/> </xsl:with-param> </xsl:call-template> </xsl:when> <xsl:otherwise> <row> <xsl:call-template name="csvtoxml"> <xsl:with-param name="StringToTransform" select="$StringToTransform"/> </xsl:call-template> </row> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="csvtoxml"> <xsl:param name="StringToTransform" select="''"/> <xsl:choose> <xsl:when test="contains($StringToTransform,'|')"> <elem> <xsl:value-of select="substring-before($StringToTransform,'|')"/> </descr1> <xsl:call-template name="csvtoxml"> <xsl:with-param name="StringToTransform"> <xsl:value-of select="substring-after($StringToTransform,'|')"/> </xsl:with-param> </xsl:call-template> </xsl:when> <xsl:otherwise> <elem> <xsl:value-of select="$StringToTransform"/> </descr1> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet> *Current Output:* <?xml version="1.0" encoding="UTF-8"?> <root> <row> <elem>ID</descr1> <elem>Value</descr1> <elem>Number</descr1> <elem>descr1</descr1> <elem>descr2</descr1> <elem>descr3</descr1> <elem>descr4</descr1> </row> <row> <elem>1</descr1> <elem>AAAAA</descr1> <elem>1</descr1> <elem>aaaaaaaaaaa</descr1> <elem>aaaaaaaaaaa</descr1> <elem>aaaaaaaaaaa</descr1> <elem>aaaaaaaaaaa</descr1> </row> <row> <elem>2</descr1> <elem>AAAAA</descr1> <elem>2</descr1> <elem>aaaaaaaaaaa</descr1> <elem>aaaaaaaaaa</descr1> <elem>aaaaaaaa</descr1> <elem>aaaaaaaaaaaa</descr1> </row> <row> <elem>3</descr1> <elem>AAAAA</descr1> <elem>3</descr1> <elem>aaaaaaaaaaa</descr1> </row> <row> <elem>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</descr1> <elem>aaaaaaaaaaa</descr1> <elem>aaaaaaaaaaa</descr1> <elem>aaaaaaaaaaa</descr1> </row> </root> *Expected Output:* <?xml version="1.0" encoding="UTF-8"?> <root> <row> <ID>1</ID> <Value>AAAAA</Value> <Number>1</Number> <descr1>aaaaaaaaaaa</descr1> <descr2>aaaaaaaaaaa</descr3> <descr3>aaaaaaaaaaa</descr3> <descr4>aaaaaaaaaaa</descr4> </row> <row> <ID>2</ID> <Value>AAAAA</Value> <Number>2</Number> <descr1>aaaaaaaaaaa</descr1> <descr2>aaaaaaaaaa</descr2> <descr3>aaaaaaaa</descr3> <descr4>aaaaaaaaaaaa</descr4> </row> <row> <Id>3</Id> <Value>AAAAA</Value> <Number>3</Number> <descr1>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</descr1> <descr2>aaaaaaaaaaa</descr2> <descr3>aaaaaaaaaaa</descr3> <descr4>aaaaaaaaaaa</descr4> </row> </root> Thanks, Rahul.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: typescript [was: Re: [xsl] How , Mukul Gandhi gandhi. | Thread | Re: [xsl] XSL for CSV to XML, Liam R. E. Quin liam |
Re: typescript [was: Re: [xsl] How , Liam R. E. Quin liam | Date | Re: [xsl] XSL for CSV to XML, Liam R. E. Quin liam |
Month |