XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
+ Stylus Studio Technical Forum (14621)
+ Website Feedback (249)
- XSLT Help and Discussion (7625)
-> + Use of before and after string (3) Sticky Topic
-> - How do I substitute element ty... (1)
-> + How does one add working days ... (4)
-> - Help, I have existing XLT and... (1)
-> + Need help on XSLT issue - (2)
-> + EDI to XML Conversion (7)
-> - XML To JSON Conversion using X... (1)
-> + Formatting Paragraphs to same ... (2)
-> - Grouping of records (1)
-> + Problems with xsd 1.1 (4)
-> + XML to HL7 mapping (3)
-> + XSLT 3 and Iterate (2)
-> + XSL-FO to PDF preview (3)
-> + java.lang.RuntimeException: Er... (2)
-> + Create Acroforms with Stylus X... (2)
-> + How to change XSLT parameter s... (3)
-> + how to change format of the da... (2)
-> + Search "Next 8 Results " doesn... (2)
-> - Support for Git (1)
-> + newbee (8)
-- [1-20] [21-40] [41-60] Next
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Ian ShulerSubject: 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('&quot;', . , '&quot;')"/>
<xsl:if test="position() &lt; 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

Postnext
(Deleted User) Subject: One more transform issue....I hope!
Author: (Deleted User)
Date: 22 Jun 2005 05:00 PM
you xml input seems to have problem, <record> element should be <sf:record>. if not, you xpath shouldn't use //sf: prefix.

Hope this helps

song.

Postnext
Ivan PedruzziSubject: 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('&quot;', . , '&quot;')"/>
<xsl:if test="position() &lt; last()">,</xsl:if>
<xsl:if test="position() = last()">)</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Ivan

Posttop
Ian ShulerSubject: One more transform issue....I hope!
Author: Ian Shuler
Date: 23 Jun 2005 11:34 PM
Thanks Ivan and Song for your help...The namespace issue was masking another problem with the application I'm working on, so I was able to kill 2 birds with one stone so to speak...

Again many thanks...

Ian

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.