|
next
|
 Subject: One more transform issue....I hope! Author: Ian Shuler Date: 22 Jun 2005 04:21 PM
|
Hi gang....
First off, thanks a ton to all who have repsonded to my posts. You've been an immense help.
I am in the last stretch with a project and need a little more assistance. The following XML is returned from another XSLT. This XML is then transformed to a text file to perform an insert into a db. I cannot get the values placed into the insert and need some help.
Input:
<iwsoap><queryResponse xmlns="urn:foo.soap.bar.com"> <result> <done>
true</done> <queryLocator xsi:nil="true"/> <records xsi:type="sf:sObject" xmlns:sf="urn:foo1.foo.soap.bar.com"> <sf:type>Opportunity</sf:type> <sf:Id>006300000028CZ9AAM</sf:Id> <sf:AccountId>00130000005dsmAAAQ</sf:AccountId> <sf:Amount>147250.0</sf:Amount> <sf:CloseDate>2005-05-12</sf:CloseDate> <sf:ExpectedRevenue>132525.0</sf:ExpectedRevenue> <sf:Expiration_Date__c>2005-01-01</sf:Expiration_Date__c> <sf:Id>006300000028CZ9AAM</sf:Id> <sf:LastModifiedById>00530000000f1aXAAQ</sf:LastModifiedById> <sf:LastModifiedDate>2005-06-14T18:51:53.000Z</sf:LastModifiedDate> <sf:Name>Mickey Mouse</sf:Name> <sf:StageName>Approved</sf:StageName> </records> <size>1</size> </result> </queryResponse></iwsoap>
This is the XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sf="urn:foo1.foo.soap.bar.com" xmlns:a="urn.foo.soap.bar.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:output method="text" encoding="UTF-8"/>
<xsl:template match="/">
<xsl:text>insert into `my_demo`.`mytable`( AccountId, Amount, CloseDate, ExpectedRevenue, ExpiryDate, LastModified, LastModifiedBy, Id, Name, StageName ) values (</xsl:text>
<xsl:for-each select="//sf:records/*">
<xsl:value-of select="concat('"', . , '"')"/>
<xsl:if test="position() < last()">,</xsl:if>
<xsl:if test="position() = last()">)</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
I think the namespaces I am referring to are either not declared properly or not declared at all. Any suggestions?
Thanks a million in advance...
Ian
|
next
|
 Subject: One more transform issue....I hope! Author: Ivan Pedruzzi Date: 22 Jun 2005 05:59 PM
|
sf is pointing to the wrong namespace.
It should be xmlns:sf="urn:foo.soap.bar.com"
The following works
Ivan
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:sf="urn:foo.soap.bar.com" xmlns:a="urn.foo.soap.bar.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:output method="text" encoding="UTF-8"/>
<xsl:template match="/">
<xsl:text>insert into `my_demo`.`mytable`( AccountId, Amount, CloseDate, ExpectedRevenue, ExpiryDate, LastModified, LastModifiedBy, Id, Name, StageName ) values (</xsl:text>
<xsl:for-each select="//sf:records/*">
<xsl:value-of select="concat('"', . , '"')"/>
<xsl:if test="position() < last()">,</xsl:if>
<xsl:if test="position() = last()">)</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Ivan
|
|
|
|