Subject: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:-
Subject:XSLT to output XML( which conforms to certain given conditions). Author:(Deleted User) 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.
Subject: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>
Subject:XSLT to output XML( which conforms to certain given conditions). Author:(Deleted User) 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.
Subject: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.
Subject: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.
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.
Subject: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
Subject:XSLT to output XML( which conforms to certain given conditions). Author:(Deleted User) 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.