xsl-list
[Top] [All Lists]

RE: XSL Transformation!!

2004-12-27 08:13:00
-----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>
--~--



<Prev in Thread] Current Thread [Next in Thread>