-----Original Message-----
From: Kalkunda, Venkat <Kalkunda(_dot_)Venkat(_at_)principal(_dot_)com>
Sent: Mon, 27 Dec 2004 08:40:33 -0600
To: <cknell(_at_)onebox(_dot_)com>
Subject: XSL Transformation!!
I have attached 2 xml files. The first XML file contains the data with the
complete tag
structure in the actual input file but just the part I want help with
transformation. And teh
DesiredOutput.xml file shows how the output file should look like after the
transformation.
The input and output are XML files.
Does this represent the mapping between input and output elements you want?
SeqNumber -> NULL
ExistingProductType -> ExistingProductType(x)
ExistingPolNumber -> ExistingPolNumber(x)
ExistingInsuranceAmt -> ExistingInsuranceAmt(x)
ExistingInsuranceName -> ExistingInsuranceName(x)
ExistingInsurancePending -> ExistingInsurancePending(x)
ExistingInsuranceEP -> ExistingInsuranceEP(x)
ExistingInsuranceInd -> ExistingInsurancePaidByInd(x)
ExistingInsuranceBP -> ExistingInsuranceBP(x)
ExistingInsuranceReplacement1 -> ExistingInsuranceReplacement(x)
Where (x) represents a sequential integer indicating the position of the
element in the source document relative to all other similarly-named elements?
Also I have another question, can you tell how we can declare variables in
XSLT, such that we can use it at various places in our transformation and if
the tag, that I am populationg this variable with, does not exist in the
input
file how do I assign it a default value?
First, watch your language. XML documents (at least once they have been parsed)
have no tags. They have nodes of various types. The kind of node you are
describing is an "element node".
XSLT variables are simple, but likely to be confusing to a Java programmer in
that once declared, they are immutable. They are, in a sense, like declaring a
Java variable to be "Static". If you want the variable to be accessible from
any point in the transformation, declare it outside the first match template,
e.g.,
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" encoding="UTF-8" />
<xsl:strip-space elements="*" />
<xsl:variable name="johnson">
<comedian>
<name>Raymond J. Johnson, Jr.</name>
<type>standup</type>
</comedian>
</xsl:variable>
Thereafter, you can refer to the variable as "$johnson". You can get the value
of the "type" element with an expression like this: <xsl:value-of
select="$johnson/comedian/type" />
--
Charles Knell
cknell(_at_)onebox(_dot_)com - email
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--