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 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
xmlxmlxml xmlxmlxmlSubject: XSLT to output XML( which conforms to certain given conditions).
Author: xmlxmlxml xmlxmlxml
Date: 12 Dec 2007 02:14 PM
Hi! Stlusstudio is doing a wonderful job.Hats-off to the SSDN team.I have this problem to solve.

(1)Consider the following xml doc:-

<?xml version='1.0' encoding='ISO-8859-1' standalone='no'?>
<?xml-stylesheet type="text/xsl" href="recipe2html.xsl"?>
<!DOCTYPE recipe SYSTEM "recipe.dtd">
<recipe name="Meat loaf" type="Hot meal" serving-size="4 people">
<ingredients>
<ingredient count="500g">Minced beef</ingredient>
<ingredient count="1">Onion</ingredient>
<ingredient count="lots">Assorted spices</ingredient>
</ingredients>
<instructions>
<step>If the meat is in the freezer, take it out to thaw out.</step>
<step>Set oven to 175 degrees Celcius.</step>
<step>Chop onion finely.</step>
<step>Mix chopped onion with minced meat and place in oven-save container.</step>
<step>Place container in oven and bake until done.</step>
</instructions>
</recipe>
(2)Now I am required to make an xsl stylesheet(recipe2html.xsl)from this xml so that the quantities of ingredients are copied(i.e., in the number attribute in the xml file).All relevant fields in the recipe.xml file should be transferred to the new xml file generated.Relevent field refers to those fields necessary to use the recipe. Most importanly,DO NOT ASSUME A SPECIFIC NUMBER OF INGREDIENTS, THE FILE MUST HANDLE ANY NUMBER.The new xml file generated by the stylesheet should be validatable with the dtd provided below:-

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- shopping-list -->
<!ELEMENT shopping-list (grocery*) >
<!-- grocery -->
<!ELEMENT grocery (#PCDATA) >
<!ATTLIST grocery
number CDATA #REQUIRED >
-----------------------------------------------------------------------

Postnext
Alberto MassariSubject: XSLT to output XML( which conforms to certain given conditions).
Author: Alberto Massari
Date: 13 Dec 2007 10:03 AM
Hi,
you can use the XSLT mapper to perform the mappings; create a new XSLT, associate your source XML to the scenario, switch to the mapper view, load the DTD in the target schema tree, drag a link between the "ingredient" node in the source schema tree and the "grocery" node in the right schema tree, then drag the same nodes again (the first created the loop, the second link carries the data), then drag another one from the "count" attribute to the "number" attribute and you are done.

Alberto

Postnext
xmlxmlxml xmlxmlxmlSubject: XSLT to output XML( which conforms to certain given conditions).
Author: xmlxmlxml xmlxmlxml
Date: 13 Dec 2007 02:38 PM
Hi! Mr. Alberto.Thanks but how to do this:"drag the same nodes again (the first created the loop, the second link carries the data)". I am missing something here as I only get this and not all the values follow.Could you paste your xsl here.Thanks

Thats what I get:-<?xml version='1.0' ?>
<shopping-list><grocery number="500g">Minced beef</grocery></shopping-list>

Postnext
Alberto MassariSubject: XSLT to output XML( which conforms to certain given conditions).
Author: Alberto Massari
Date: 14 Dec 2007 03:07 AM
Hi,
an alternative way to create the two links is by clicking on the right button of the mouse to create the link (place the mouse over the "ingredient" element in the source tree, click and keep pressed the right mouse button, drag until you reach the "grocery" element in the target schema tree, release the button) then select "Create Repeatable Value Link" from the popup menu.

Hope this helps,
Alberto

Postnext
xmlxmlxml xmlxmlxmlSubject: XSLT to output XML( which conforms to certain given conditions).
Author: xmlxmlxml xmlxmlxml
Date: 14 Dec 2007 02:44 PM
Hi!Alberto.Thanks for your help but I have an older version of stylusstudio ; copyright 2004, it doesn,t show what u have mentioned when the window pops up.Please copy the resulting xsl which meets the conditions mentioned in the original message.

Postnext
xmlxmlxml xmlxmlxmlSubject: XSLT to output XML( which conforms to certain given conditions).
Author: xmlxmlxml xmlxmlxml
Date: 16 Dec 2007 01:45 PM
Hi! Alberto. I am waiting for your reply.Anybody there Alberto, David Huter, etc?

Postnext
Alberto MassariSubject: XSLT to output XML( which conforms to certain given conditions).
Author: Alberto Massari
Date: 17 Dec 2007 03:37 AM
Hi,
what is the exact version (including build number) of the Stylus Studio copy you have? (you can find it in the About box)

Thanks,
Alberto

Postnext
xmlxmlxml xmlxmlxmlSubject: XSLT to output XML( which conforms to certain given conditions).
Author: xmlxmlxml xmlxmlxml
Date: 17 Dec 2007 12:54 PM
copyright 1999-2004 unlimited version.Framework version 5.1, build 173h.Please paste the resultant xsl file here.Did you achieve the desired result or not? If not please ask David Huter, etc., to help out.Thanks for your effort.

Postnext
Alberto MassariSubject: XSLT to output XML( which conforms to certain given conditions).
Author: Alberto Massari
Date: 18 Dec 2007 11:39 AM
This is the XSLT generated by mapper:

<?xml version='1.0' ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<shopping-list>
<xsl:for-each select="recipe/ingredients/ingredient">
<grocery>
<xsl:attribute name="number">
<xsl:value-of select="@count"/>
</xsl:attribute>
<xsl:value-of select="."/>
</grocery>
</xsl:for-each>
</shopping-list>
</xsl:template>
</xsl:stylesheet>

However, I would suggest you to switch to the Mapper tab and learn how to use the interface, as learning how to use the tool is much more useful than simply copying and pasting a small snippet of code.

Alberto

Postnext
xmlxmlxml xmlxmlxmlSubject: XSLT to output XML( which conforms to certain given conditions).
Author: xmlxmlxml xmlxmlxml
Date: 18 Dec 2007 12:55 PM
Thanks Alberto!Thats one small snippet for you... a giant headache for me.Anyways now that you know the version number etc could you please repeat how to get the same results using the mapper.Secondly can I have your email address too.Bye

Posttop
Alberto MassariSubject: XSLT to output XML( which conforms to certain given conditions).
Author: Alberto Massari
Date: 18 Dec 2007 01:10 PM
Hi,
unfortunately I don't have a copy of Stylus 5.1 around (the oldest version I can test is Stylus Studio 2006 Release 3); I would suggest you to update your copy to the latest Stylus Studio 2008 and benefit from over 3 years of improvements in both functionalities and usability.

Alberto

 
Topic Page 1 2 3 4 5 6 7 8 9 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.