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
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Kevin SawyerSubject: Instructions In Mapper
Author: Kevin Sawyer
Date: 12 Mar 2007 11:51 AM
I am evaluating Stylus Studio for some of our XML Mapping tasks. Using the Mapper feature I can add an instruction (e.g., choose) and link it, but I cannot specify any of the tests or results. Double clicking does nothing. Right-clicking reveals Delete or Add When (for choose.) The version is an Evaluation Version of XML Enterprise Suite, Build 735f. Bug? Artifact of evaluation? Hard to evaluate without this.
Thanks,
Kevin

Postnext
Alberto MassariSubject: Instructions In Mapper
Author: Alberto Massari
Date: 13 Mar 2007 09:59 AM
Hi Kevin,
the xsl:choose instruction in Mapper has an equal number of ports on the left and right sides, one for every "xsl:when" sub-instruction, plus a special (square) port on the right side for the "xsl:otherwise".
You build the XSL code by dragging a node from the source tree to the input port on the left of the glyph; then you drag from the corresponding output port to one node of the target tree.

Hope this helps,
Alberto

Postnext
Kevin SawyerSubject: Instructions In Mapper
Author: Kevin Sawyer
Date: 15 Mar 2007 08:23 AM
Thanks Alberto,

Building the connections works OK. My main question is how do I enter the "when" criteria.

Kevin

Postnext
Alberto MassariSubject: Instructions In Mapper
Author: Alberto Massari
Date: 15 Mar 2007 08:43 AM
Kevin,
the "when" instruction is filled as soon as you drag something on the ports on the left.
As an example of a possible usage of xsl:choose, I created a new XSL stylesheet, switched to Mapper,
- selected books.xml as source and catalog.xml as target (from the examples\simpleMappings folder)
- dragged the "book" node to the "Book" node
- right clicked on the canvas, and chose XSLT Instructions | choose
- right clicked on the canvas, and chose XSLT Functions | count
- right clicked on the canvas, and chose Condition Tests | =
- dragged "author" to the left port of the "count()" block
- dragged the right port of the "count()" block into the top left port of the "=" block
- double clicked on the bottom left port of the "=" block and entered 1 in the dialog box
- dragged the right port of the "=" port into the left port of the "choose" block
- right clicked on the "Book" node in the target tree and selected Add Child Element, entering "SingleAuthor" as the node name
- dragged the top right port of the "choose" to the "SingleAuthor" node in the target tree
- dragged "author" from the source tree to "SingleAuthor" of the target tree

This generates

<xsl:choose>
<xsl:when test="count(authors/author) = 1">
<SingleAuthor>
<xsl:value-of select="authors/author"/>
</SingleAuthor>
</xsl:when>
<xsl:otherwise/>
</xsl:choose>

Then, I
- dragged from the square right port of the "choose" block to the "Authors" node of the target tree
- dragged "author" to "Author" twice (the first builds the for-each, the second copies the data)

This builds the xsl:otherwise part

<xsl:otherwise>
<Authors>
<xsl:for-each select="authors/author">
<Author>
<xsl:value-of select="."/>
</Author>
</xsl:for-each>
</Authors>
</xsl:otherwise>

Hope this helps,
Alberto


ImageMapper(1).JPG
Screenshot

Postnext
Kevin SawyerSubject: Instructions In Mapper
Author: Kevin Sawyer
Date: 15 Mar 2007 09:35 AM
Great. That clears things up for me.

On a related note, are there any other resources on using Stylus Studio for XML mapping? The product documentation is a little light so far.

Thanks again.

Kevin

Posttop
Alberto MassariSubject: Instructions In Mapper
Author: Alberto Massari
Date: 15 Mar 2007 12:44 PM
Hi Kevin,
there a few videos on the web site that show the Mapper interface; if you want to see step-by-step instructions you can have a look at http://www.stylusstudio.com/videos/xquery1/xquery1.html and http://www.stylusstudio.com/videos/xquery2/xquery2.html; they show the XQuery mapper interface (so they use XQuery instructions) but the same principles apply.

Hope this helps,
Alberto

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
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.