Wrox Programmer Forums
Go Back   Wrox Programmer Forums > XML > XSLT
|
XSLT General questions and answers about XSLT. For issues strictly specific to the book XSLT 1.1 Programmers Reference, please post to that forum instead.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the XSLT section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old December 28th, 2009, 08:04 AM
Authorized User
 
Join Date: Dec 2009
Posts: 23
Thanks: 3
Thanked 0 Times in 0 Posts
Question 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..
 
Old December 28th, 2009, 08:23 AM
mhkay's Avatar
Wrox Author
 
Join Date: Apr 2004
Posts: 4,962
Thanks: 0
Thanked 292 Times in 287 Posts
Default

Your question is probably specific to the Oracle database, so I suggest you try and find a forum specific to that product. It will be pure luck if anyone on this forum knows the product you are using.
__________________
Michael Kay
http://www.saxonica.com/
Author, XSLT 2.0 and XPath 2.0 Programmer\'s Reference
 
Old December 28th, 2009, 08:56 AM
Authorized User
 
Join Date: Dec 2009
Posts: 23
Thanks: 3
Thanked 0 Times in 0 Posts
Default

Before this XSLT, I have used two step solution ...

[1] Using 1st XSLT i have removed namespace from input xml to intermediate xml say process.xml
[2] then i have processed that intermediate xml using 2nd XSLT to insert into the Database.

That time FILE_NAME which is passed throug XSTL Param has been inserted into Database.

Then i have merged both xslt into one xslt for better performance in which i want to include both functionality which removes unwanted namespace and insert into Database.

Can you please suggest me any xslt which does the both ?





Similar Threads
Thread Thread Starter Forum Replies Last Post
How to pass parameter to XSLT Hari7 XSLT 1 November 7th, 2009 07:50 AM
Passing parameter from javascript to xslt !! suersh79 XSLT 3 November 17th, 2006 03:08 AM
XSLT Parameter to ASP.NET Variable kwilliams XSLT 9 February 9th, 2006 04:27 PM
Data to be inserted into the database countmedream BOOK: Beginning PHP4/PHP 5 ISBN: 978-0-7645-4364-7; v5 ISBN: 978-0-7645-5783-5 0 November 2nd, 2004 03:19 AM
Passing a parameter into the XSLT thru a link Liska XSLT 0 July 16th, 2004 08:19 PM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.