xslt substring help

Here should go questions about transforming XML with XSLT and FOP.
techza
Posts: 9
Joined: Thu Dec 11, 2008 10:15 pm

xslt substring help

Post by techza »

Hello,

I have a xml file below from which I want to extract the data using xslt. I am trying to create the xslt but no results , I have some hard coated values in the xslt which I want in the output xml.
I also need the other values from the below xml file. But I don't know how to separate the special characters.
I want to display the date from the below xml , the last 2 lines in my xml has the date value(testdate), I don't know how to select it and display it in my xslt (just the date) with out the special characters.

Kindly help



XML File :

<DATA>
<TEST_NAME="null" CTO_ZZZ_ID="null" SHIP_DATE="" INVOICE_NUMBER="AT45748"

TEST_XML_DATA="<xml version="1.0" encoding="UTF-8">&#xD;&#xA;&#x9;<parent
testType= "T" display="N " gt;&#xD;&#xA;&#x9;&#x9;<
preview></preview>&#xD;&#xA;&#x9;<
testificate>&#xD;&#xA;&#x9;<
invoicelabel>Invoice Number: </invoicelabel>&#xD;&#xA;&#x9;<
invoicenumber>AT45748</invoicenumber>&#xD;&#xA;&#x9;<
stocklabel>Stock Number: </stocklabel>&#xD;&#xA;&#x9;<
iddesc>60-0200-1496-9 3TA98-AF COND 4.25 IN</iddesc>&#xD;&#xA;&#x9;<
testcontent expDisp="false"
testtype="T" font="" locale="en" orderInfoAvlbleFlag="true" previewFont="Arial" testCommDisp="false" cpsiaInvoice="false" optCommentFlag="false" >&#xD;&#xA;&#x9;&#x9;<logo></logo>&#xD;&#xA;&#x9;&#x9;<testtitle locale="en">&#xD;&#xA;&#x9;&#x9;<title>testificate of testing</title>&#xD;&#xA;&#x9;&#x9;</testtitle>&#xD;&#xA;&#x9;&#x9;<exception locale="en">&#xD;&#xA;&#x9;&#x9;<text></text>&#xD;&#xA;&#x9;&#x9;</exception>&#xD;&#xA;&#x9;&#x9;<locationAddress locale="en">&#xD;&#xA;&#x9;&#x9;<firstline1>YYYY</firstline1>&#xD;&#xA;&#x9;&#x9;<secondline1>Bldg 19-01-usa Rd</secondline1>&#xD;&#xA;&#x9;&#x9;<thirdline1>usa 55016</thirdline1>&#xD;&#xA;&#x9;&#x9;</locationAddress>&#xD;&#xA;&#x9;&#x9;<customerAddress locale="en">&#xD;&#xA;&#x9;&#x9;<firstline2>EMA US ACRES</firstline2>&#xD;&#xA;&#x9;&#x9;<secondline2>2222 AVE</secondline2>&#xD;&#xA;&#x9;&#x9;<thirdline2>HILLSBORO OR 971245506 </thirdline2>&#xD;&#xA;&#x9;&#x9;</customerAddress>&#xD;&#xA;&#x9;&#x9;<

testdate locale="en">&#xD;&#xA;&#x9;&#x9;<label>Date testificate is prepared:</label>&#xD;&#xA;&#x9;&#x9;<date>Jun-10-2009</date>&#xD;&#xA;&#x9;&#x9;</testdate >&#xD;&#xA;&#x9;&#x9;<


----



XSLT File:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="utf-8" omit-xml-declaration="no" indent="yes" />
<xsl:template match="/">
<xsl:element name="File" namespace="x-schema:../Schema/testificateSchema2001Jul.xml">
<xsl:element name="FileInfo" namespace="x-schema:../Schema/testificateSchema2001Jul.xml">
<xsl:element name="responsiblePartyEmail" namespace="x-schema:../Schema/ChemGasQualitytestificateSchema2001Jul.xml">tom@yahoo.com</xsl:element>
</xsl:element>
<xsl:element name="BusinessSites" namespace="x-schema:../Schema/testificateSchema2001Jul.xml">
<xsl:element name="Description" namespace="x-schema:../Schema/testificateSchema2001Jul.xml">
<xsl:element name="manufacturerNumber" namespace="x-schema:../Schema/testificateSchema2001Jul.xml">678748</xsl:element>
<xsl:element name="manufacturerName" namespace="x-schema:../Schema/testificateSchema2001Jul.xml">TEST</xsl:element>
<xsl:element name="manufacturingPlantCode" namespace="x-schema:../Schema/testificateSchema2001Jul.xml">341403</xsl:element>
<!-- <xsl:element name="incomingFaxNumber"></xsl:element> obsolete /-->
<!--DUNSPlusFour/-->
<xsl:element name="manufacturer" namespace="x-schema:../Schema/testificateSchema2001Jul.xml">TEST1</xsl:element>

<xsl:variable name="testingDate" select="//testdate/date" />
<xsl:variable name="testMonth" select="substring(//testdate/date,1,3)" />
<xsl:variable name="testMonthDigits">
<xsl:choose>
<xsl:when test="$testMonth='Jan'">01</xsl:when>
<xsl:when test="$testMonth='Feb'">02</xsl:when>
<xsl:when test="$testMonth='Mar'">03</xsl:when>
<xsl:when test="$testMonth='Apr'">04</xsl:when>
<xsl:when test="$testMonth='May'">05</xsl:when>
<xsl:when test="$testMonth='Jun'">06</xsl:when>
<xsl:when test="$testMonth='Jul'">07</xsl:when>
<xsl:when test="$testMonth='Aug'">08</xsl:when>
<xsl:when test="$testMonth='Sep'">09</xsl:when>
<xsl:when test="$testMonth='Oct'">10</xsl:when>
<xsl:when test="$testMonth='Nov'">11</xsl:when>
<xsl:when test="$testMonth='Dec'">12</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$testMonth" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
george
Site Admin
Posts: 2095
Joined: Thu Jan 09, 2003 2:58 pm

Re: xslt substring help

Post by george »

George Cristian Bina
Post Reply