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)
-> - Stylus Studio - Registrar en o... (1)
-> + Stylus Studio - Registrar en o... (2)
-> + Can a pipeline send a file by ... (2)
-> + After Updateing WIN10 to WIN11... (12)
-> + Where do I add the custom java... (3)
-> + Where is the Diagram tab? (5)
-> + Applying XSLT to Word DOCX/XML (2)
-> - CSV conversion via ConvertToXM... (1)
-> + Text symbols in SS not same as... (4)
-> + Exposing xquery as webservice ... (6)
-> + Syntax Identifier (2)
-> + Saving a Converted XML as an X... (5)
-> + Output document cannot be pars... (4)
-> - Archiving output from conversi... (1)
-> + EDIFACT guideline from Stylus ... (3)
-> + CSV file putting all the data ... (5)
-> + Can't install Home version 64b... (5)
-> + presale - Can I covers this sc... (5)
-> + Problem with UNB (5)
-> + Splitting EDIFACT files pipeli... (4)
-- [1-20] [21-40] [41-60] Next
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Doug LundinSubject: WSCC to KML transform help
Author: Doug Lundin
Date: 10 Mar 2008 09:02 AM
Hello,

I am exploring the use of Web Service Call (.WSCC) in Stylus and trying to establish a proof-of-concept.

I'm not strong in XSLT, not sure this approach is possible or even a good idea and appreciate any thoughts.

Goal: Start from a Web Service Call, extract data and transform into XML that can be fed into Google Earth (.KML).

Thanks in advance
Doug


FILE: TAP_refuel_getRefuelView1.wscc
------------------------------------
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<types:getRefuelView1 xmlns:types="/model/common/types/">
<types:msnId>1</types:msnId>
<types:trackStart></types:trackStart>
<types:trackEnd/>
</types:getRefuelView1>
</SOAP-ENV:Body>
<stylus:stylus_studio xmlns:stylus="http://www.stylusstudio.com"><scenarios><scenario default="yes" name="Scenario1" processortype="Apache Axis 1.1" transport="http"><property name="ProxyServerBypass" value=""/><property name="_stylus_soapaction" value="/model/common/getRefuelView1"/><property name="ProxyUser" value=""/><property name="_stylus_endpoint" value="http://localhost:8988/EJB-TAP_refuel-Model-context-root/TAPService"/><property name="_stylus_soapclient" value="Apache Axis 1.1"/><property name="_stylus_operation" value="getRefuelView1"/><property name="ProxyPassword" value=""/><property name="ProxyServer" value=""/><property name="_stylus_wsdlurl" value="http://localhost:8988/EJB-TAP_refuel-Model-context-root/TAPService?WSDL"/></scenario></scenarios></stylus:stylus_studio></SOAP-ENV:Envelope>

FILE: Output of (TAP_refuel_getRefuelView1.wscc)
------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing"><env:Header/><env:Body><ns0:getRefuelView1Response xmlns:ns0="/model/common/types/"><ns6:result xsi:type="ns1:RefuelViewSDO" xmlns:ns1="/model/common/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns6="/model/common/types/"><ns1:MsnId>1</ns1:MsnId><ns1:LnoId>87998</ns1:LnoId><ns1:AcId>B-52</ns1:AcId><ns1:TankerId>KC-747</ns1:TankerId><ns1:TrackStart>8</ns1:TrackStart><ns1:TrackEnd>9</ns1:TrackEnd><ns1:Lat>12.34567</ns1:Lat><ns1:Lon>21.76543</ns1:Lon></ns6:result></ns0:getRefuelView1Response></env:Body></env:Envelope>

File: TAP_refuel_getRefuelView1.xsl
-----------------------------------
<?xml version='1.0' ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<kml>
<Document>
<Style id="default">
<IconStyle>
<Icon>
<href>root://icons/palette-4.png</href>
<y>128</y>
<w>32</w>
<h>32</h>
</Icon>
</IconStyle>
<LabelStyle>
<scale>0.7</scale>
</LabelStyle>
<LineStyle>
<color>19010000</color>
<width>0.5</width>
</LineStyle>
<PolyStyle>
<color>b03f85cd</color>
</PolyStyle>
</Style>
<xsl:apply-templates/>
</Document>
</kml>
</xsl:template>
<xsl:template match="ns4:result">
<Folder>
<name>
<xsl:value-of select="@name"/>
</name>
<xsl:for-each select="row">
<Placemark>
<LookAt>
<altitude>0</altitude>
<range>900</range>
<tilt>3.888617968917447e-011</tilt>
<heading>-12.05772031636419</heading>
</LookAt>
<styleUrl>#default</styleUrl>
<Point>
<coordinates>,</coordinates>
</Point>
</Placemark>
</xsl:for-each>
</Folder>
</xsl:template>
</xsl:stylesheet><!-- Stylus Studio meta-information - (c) 2004-2007. Progress Software Corporation. All rights reserved.

<metaInformation>
<scenarios>
<scenario default="yes" name="Scenario1" userelativepaths="yes" externalpreview="no" url="ws:///c:\WSI_Demo\kml\Misc Stylus\TAP_refuel_getRefuelView1.wscc" htmlbaseurl="" outputurl="" processortype="saxon8" useresolver="yes" profilemode="0"
profiledepth="" profilelength="" urlprofilexml="" commandline="" additionalpath="" additionalclasspath="" postprocessortype="none" postprocesscommandline="" postprocessadditionalpath="" postprocessgeneratedext="" validateoutput="no"
validator="internal" customvalidator="">
<advancedProp name="sInitialMode" value=""/>
<advancedProp name="bXsltOneIsOkay" value="true"/>
<advancedProp name="bSchemaAware" value="true"/>
<advancedProp name="bXml11" value="false"/>
<advancedProp name="iValidation" value="0"/>
<advancedProp name="bExtensions" value="true"/>
<advancedProp name="iWhitespace" value="0"/>
<advancedProp name="sInitialTemplate" value=""/>
<advancedProp name="bTinyTree" value="true"/>
<advancedProp name="bWarnings" value="true"/>
<advancedProp name="bUseDTD" value="false"/>
<advancedProp name="iErrorHandling" value="fatal"/>
</scenario>
</scenarios>
<MapperMetaTag>
<MapperInfo srcSchemaPathIsRelative="yes" srcSchemaInterpretAsXML="no" destSchemaPath="" destSchemaRoot="" destSchemaPathIsRelative="yes" destSchemaInterpretAsXML="no">
<SourceSchema srcSchemaPath="ws:///c:\WSI_Demo\kml\Misc Stylus\TAP_refuel_getRefuelView1.wscc" srcSchemaRoot="env:Envelope" AssociatedInstance="" loaderFunction="document" loaderFunctionUsesURI="no"/>
</MapperInfo>
<MapperBlockPosition>
<template match="/">
<block path="kml/Document/xsl:apply-templates" x="381" y="36"/>
</template>
<template match="sheet">
<block path="Folder/name/xsl:value-of" x="436" y="37"/>
<block path="Folder/xsl:for-each" x="393" y="80"/>
<block path="Folder/xsl:for-each/Placemark/name/xsl:value-of" x="341" y="85"/>
<block path="Folder/xsl:for-each/Placemark/description/xsl:value-of" x="301" y="85"/>
<block path="Folder/xsl:for-each/Placemark/LookAt/longitude/xsl:value-of" x="261" y="85"/>
<block path="Folder/xsl:for-each/Placemark/LookAt/latitude/xsl:value-of" x="221" y="85"/>
<block path="Folder/xsl:for-each/Placemark/Point/coordinates/xsl:value-of" x="181" y="85"/>
<block path="Folder/xsl:for-each/Placemark/Point/coordinates/xsl:value-of[1]" x="141" y="85"/>
</template>
<template match="ns4:result">
<block path="Folder/name/xsl:value-of" x="203" y="153"/>
<block path="Folder/xsl:for-each" x="353" y="151"/>
</template>
</MapperBlockPosition>
<TemplateContext></TemplateContext>
<MapperFilter side="source"></MapperFilter>
</MapperMetaTag>
</metaInformation>
-->

Desired output format:
-----------------------------------
<?xml version="1.0"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document><Style id="default"><IconStyle><Icon><href>root://icons/palette-4.png</href><y>128</y><w>32</w><h>32</h></Icon></IconStyle><LabelStyle><scale>0.7</scale></LabelStyle><LineStyle><color>19010000</color><width>0.5</width></LineStyle><PolyStyle><color>b03f85cd</color></PolyStyle></Style>
<Folder><name>Aruba</name><Placemark><name>Rooi Afó </name><description>Hidrográfico </description><LookAt><longitude>-70</longitude><latitude>12.5333333</latitude><altitude>0</altitude><range>900</range><tilt>3.888617968917447e-011</tilt><heading>-12.05772031636419</heading></LookAt><styleUrl>#default</styleUrl><Point><coordinates>-70,12.5333333</coordinates></Point></Placemark><Placemark><name>Ceru Alejandro </name><description>Orográfico </description><LookAt><longitude>-69.9333333</longitude><latitude>12.45</latitude><altitude>0</altitude><range>900</range><tilt>3.888617968917447e-011</tilt><heading>-12.05772031636419</heading></LookAt><styleUrl>#default</styleUrl><Point><coordinates>-69.9333333,12.45</coordinates></Point></Placemark><Placemark><name>Alto Vista </name><description>Orográfico </description><LookAt><longitude>-70.0166667</longitude><latitude>12.5666667</latitude><altitude>0</altitude><range>900</range><tilt>3.888617968917447e-011</tilt><heading>-12.05772031636419</heading></LookAt><styleUrl>#default</styleUrl><Point><coordinates>-70.0166667,12.5666667</coordinates></Point></Placemark><Placemark><name>Ceru Alto Vista </name><description>Orográfico </description><LookAt><longitude>-70.0166667</longitude><latitude>12.5666667</latitude><altitude>0</altitude><range>900</range><tilt>3.888617968917447e-011</tilt><heading>-12.05772031636419</heading></LookAt><styleUrl>#default</styleUrl><Point><coordinates>-70.0166667,12.5666667</coordinates></Point></Placemark><Placemark><name>Anaubi </name><description>Orográfico </description><LookAt><longitude>-70.0333333</longitude><latitude>12.6</latitude><altitude>0</altitude><range>900</range><tilt>3.888617968917447e-011</tilt><heading>-12.05772031636419</heading></LookAt><styleUrl>#default</styleUrl><Point><coordinates>-70.0333333,12.6</coordinates></Point></Placemark><Placemark><name>Andicouri </name><description>Hidrográfico </description><LookAt><longitude>-69.95</longitude><latitude>12.5333333</latitude><altitude>0</altitude><range>900</range><tilt>3.888617968917447e-011</tilt><heading>-12.05772031636419</heading></LookAt><styleUrl>#default</styleUrl><Point><coordinates>-69.95,12.5333333</coordinates></Point></Placemark><Placemark><name>Andicouri Baai </name><description>Hidrográfico </description><LookAt><longitude>-69.95</longitude><latitude>12.5333333</latitude><altitude>0</altitude><range>900</range><tilt>3.888617968917447e-011</tilt><heading>-12.05772031636419</heading></LookAt><styleUrl>#default</styleUrl><Point><coordinates>-69.95,12.5333333</coordinates></Point></Placemark><Placemark><name>Andicuri </name><description>Hidrográfico </description><LookAt><longitude>-69.95</longitude><latitude>12.5333333</latitude><altitude>0</altitude><range>900</range><tilt>3.888617968917447e-011</tilt><heading>-12.05772031636419</heading></LookAt><styleUrl>#default</styleUrl><Point><coordinates>-69.95,12.5333333</coordinates></Point></Placemark><Placemark><name>Angochi </name><description>Lugar poblado </description><LookAt><longitude>-69.95</longitude><latitude>12.5166667</latitude><altitude>0</altitude><range>900</range><tilt>3.888617968917447e-011</tilt><heading>-12.05772031636419</heading></LookAt><styleUrl>#default</styleUrl><Point><coordinates>-69.95,12.5166667</coordinates></Point></Placemark><Placemark><name>+++ Arashi +++</name><description>Hidrográfico </description><LookAt><longitude>-70.05</longitude><latitude>12.6</latitude><altitude>0</altitude><range>900</range><tilt>3.888617968917447e-011</tilt><heading>-12.05772031636419</heading></LookAt><styleUrl>#default</styleUrl><Point><coordinates>-70.05,12.6</coordinates></Point></Placemark><Placemark><name>Arasji </name><description>Hidrográfico </description><LookAt><longitude>-70.05</longitude><latitude>12.6</latitude><altitude>0</altitude><range>900</range><tilt>3.888617968917447e-011</tilt><heading>-12.05772031636419</heading></LookAt><styleUrl>#default</styleUrl><Point><coordinates>-70.05,12.6</coordinates></Point></Placemark><Placemark><name>Arasji </name><description>Lugar poblado </description><LookAt><longitude>-70.0666667</longitude><latitude>12.6166667</latitude><altitude>0</altitude><range>900</range><tilt>3.888617968917447e-011</tilt><heading>-12.05772031636419</heading></LookAt><styleUrl>#default</styleUrl><Point><coordinates>-70.0666667,12.6166667</coordinates></Point></Placemark><Placemark><name>Arikok </name><description>Orográfico </description><LookAt><longitude>-69.9333333</longitude><latitude>12.5166667</latitude><altitude>0</altitude><range>900</range><tilt>3.888617968917447e-011</tilt><heading>-12.05772031636419</heading></LookAt><styleUrl>#default</styleUrl><Point><coordinates>-69.9333333,12.5166667</coordinates></Point></Placemark><Placemark><name>Aruba </name><description>Orográfico </description><LookAt><longitude>-69.9666667</longitude><latitude>12.5</latitude><altitude>0</altitude><range>900</range><tilt>3.888617968917447e-011</tilt><heading>-12.05772031636419</heading></LookAt><styleUrl>#default</styleUrl><Point><coordinates>-69.9666667,12.5</coordinates></Point></Placemark><Placemark><name>Rooi Awa Marga </name><description>Hidrográfico </description><LookAt><longitude>-69.95</longitude><latitude>12.5333333</latitude><altitude>0</altitude><range>900</range><tilt>3.888617968917447e-011</tilt><heading>-12.05772031636419</heading></LookAt><styleUrl>#default</styleUrl><Point><coordinates>-69.95,12.5333333</coordinates></Point></Placemark></Folder>
</Document>
</kml>

Postnext
Doug LundinSubject: WSCC to KML transform help
Author: Doug Lundin
Date: 10 Mar 2008 11:58 AM
I guess my biggest challenge is how to extract the Namespace references out of the WSCC.

Postnext
Ivan PedruzziSubject: WSCC to KML transform help
Author: Ivan Pedruzzi
Date: 10 Mar 2008 04:38 PM
Hi Doug,

We have few questions about the message response and the XSLT you have posted.

Could you please contact us at stylus-field-report@progress.com?

Thanks
Ivan Pedruzzi
Stylus Studio Team

Postnext
Doug LundinSubject: WSCC to KML transform help
Author: Doug Lundin
Date: 12 Mar 2008 07:38 AM
Ivan,
Thanks for the response but I've figured it out. I'd be happy to share my solution if you are interested.
Doug

Posttop
Ivan PedruzziSubject: WSCC to KML transform help
Author: Ivan Pedruzzi
Date: 12 Mar 2008 10:51 AM
Doug,

My suggestion would be to move to XQuery.

You will be able to invoke the service and generate the result in a single step.

Have a look to the attached file.

Hope this helps
Ivan


DocumentInvoke.xquery

   
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.