XSLt Parameter Value is not inserted into Database.
Hello,
I have a following xml file .
T0020.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<T0020
xsi:schemaLocation="http://www.safersys.org/namespaces/T0020V1 T0020V1.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.safersys.org/namespaces/T0020V1">
<INTERFACE>
<NAME>SAFER</NAME>
<VERSION>04.02</VERSION>
</INTERFACE>
<TRANSACTION>
<VERSION>01.00</VERSION>
<OPERATION>REPLACE</OPERATION>
<DATE_TIME>2009-09-01T00:00:00</DATE_TIME>
<TZ>CT</TZ>
</TRANSACTION>
<IRP_ACCOUNT>
<IRP_CARRIER_ID_NUMBER>274845</IRP_CARRIER_ID_NUMBER>
<IRP_BASE_COUNTRY>US</IRP_BASE_COUNTRY>
<IRP_BASE_STATE>AR</IRP_BASE_STATE>
<IRP_ACCOUNT_NUMBER>55002</IRP_ACCOUNT_NUMBER>
<IRP_ACCOUNT_TYPE>I</IRP_ACCOUNT_TYPE>
<IRP_STATUS_CODE>100</IRP_STATUS_CODE>
<IRP_STATUS_DATE>2007-11-06</IRP_STATUS_DATE>
<IRP_UPDATE_DATE>2009-08-03</IRP_UPDATE_DATE>
</IRP_ACCOUNT>
</T0020>
I have to insert this xml data into following table
IRP_ACCOUNT
Name Null Type
-------------------------------------------------
FILE_NAME VARCHAR2(120)
IRP_ACCOUNT_NUMBER VARCHAR2(32)
IRP_ACCOUNT_TYPE VARCHAR2(1)
IRP_CARRIER_ID_NUMBER VARCHAR2(12)
IRP_BASE_COUNTRY VARCHAR2(12)
IRP_BASE_STATE VARCHAR2(12)
IRP_STATUS_CODE VARCHAR2(12)
IRP_STATUS_DATE VARCHAR2(10)
IRP_UPDATE_DATE VARCHAR2(10)
so that i have used following xslt to Remove Name space from XML and insert Data using OracleXMLSave.insert(xslt) file Name.
Transform.xslt
<?xml version="1.0" encoding="UTF-8"?>
<!-- Edited by XMLSpy® -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="FILE_NAME" select="'fileName'" />
<xsl:template match="/">
<xsl:element name="T0020">
<xsl:apply-templates select="* | T0020/IRP_ACCOUNT"/>
</xsl:element>
</xsl:template>
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="text()">
<xsl:copy/>
</xsl:template>
<xsl:template match="T0020/IRP_ACCOUNT">
<xsl:element name="IRP_ACCOUNT">
<xsl:element name="FILE_NAME">
<xsl:value-of select="$FILE_NAME"/>
</xsl:element>
<xsl:element name="IRP_CARRIER_ID_NUMBER">
<xsl:value-of select="IRP_CARRIER_ID_NUMBER"/>
</xsl:element>
<xsl:element name="IRP_BASE_COUNTRY">
<xsl:value-of select="IRP_BASE_COUNTRY"/>
</xsl:element>
<xsl:element name="IRP_BASE_STATE">
<xsl:value-of select="IRP_BASE_STATE"/>
</xsl:element>
<xsl:element name="IRP_ACCOUNT_NUMBER">
<xsl:value-of select="IRP_ACCOUNT_NUMBER"/>
</xsl:element>
<xsl:element name="IRP_ACCOUNT_TYPE">
<xsl:value-of select="IRP_ACCOUNT_TYPE"/>
</xsl:element>
<xsl:element name="IRP_STATUS_CODE">
<xsl:value-of select="IRP_STATUS_CODE"/>
</xsl:element>
<xsl:element name="IRP_STATUS_DATE">
<xsl:value-of select="IRP_STATUS_DATE"/>
</xsl:element>
<xsl:element name="IRP_UPDATE_DATE">
<xsl:value-of select="IRP_UPDATE_DATE"/>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
When applying this xslt to insert to Database only FILE_NAME value which has been passed through xslt parameter is not inserted into Database.
See below all value are inserted except FILE_NAME.
FILE_NAME IRP_ACCOUNT_NUMBER IRP_ACCOUNT_TYPE IRP_CARRIER_ID_NUMBER IRP_BASE_COUNTRY IRP_BASE_STATE IRP_STATUS_CODE IRP_STATUS_DATE IRP_UPDATE_DATE
--------------------- -------------------------------------------- -------------------------
<!-- File Name is not inserted here--> 55002 I 274845 US AR 100 2007-11-06 2009-08-03
I have stuck on this point Pls help me....
Thanks in Advance.
-Nisarg
Last edited by nisargmca; December 28th, 2009 at 08:10 AM..
|