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)
-> + 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)
-> + How to substitute element or t... (2)
-> + Xalan support in x16? (2)
-> + The context item for axis step... (5)
-> - ASP to XSL (1)
-> + xsl report, with xml feed, SVG... (7)
-> + XSLT code to transform CSV typ... (2)
-> + Make xstl file working in brow... (4)
-> + identity template, result-docu... (6)
-> - identity template and xsl:resu... (1)
-> + java.lang.RuntimeException: Er... (5)
-> + How to check matching parenthe... (2)
-> - Error only on using xalan:eval... (1)
-> + XSLT not displaying SOAP respo... (2)
-> + How do i delete the node from ... (2)
-> + How to break xslt lines to mak... (4)
-> - Marge node using attribute val... (1)
-> - Replce utf to unicode using xs... (1)
-> - getting different instances of... (1)
-> + XML to Flat (4)
-> + non breaking space   in e... (2)
-> - How can i attach a empty names... (1)
-> + Cannot find a matching 1-argum... (7)
-> - get value from different docum... (1)
-> + How can I change the XML heade... (2)
-> + Stylus Studio and Datapower (9)
-> + Generate XML form a XSD (2)
-> + There is no way to run xslt tr... (3)
-> + XML-Source NS is copied into t... (3)
-> + new guy attempting xslt (2)
-> + XML 2011 question (7)
-> + Manipulating XML with external... (2)
-> + removing duplicates from xml w... (8)
-> + Wnat to use presence of tag t... (2)
-> + modifing Andrew Welch's csv 2 ... (5)
-> + Can't use (or see) XSLT or WYS... (3)
-> + Delete the xsi:nil attribute ... (2)
-> + FOTY0012: Cannot get the typed... (20)
-> + XSLT Mapper - Two way xslt map... (2)
-> + EDI (5)
-> + XSL Test for lack of XML eleme... (4)
-> + Trouble Calling a java functio... (4)
-> + How to generate EDI 997 (2)
-> + followup on tokenize with /r (5)
-> + tokenize a string with \r (4)
-> + How to convert XML to XLS file... (2)
-> - How to convert XML to XLS file... (1)
-> + how to pass value to xsl for t... (3)
-> + entity expansion liimit exceed... (4)
-> + Creating XSLT Stylesheet (2)
-> + Create XSLT from XSD (2)
-> + How to remove nodes from xml b... (4)
-> + Highlighting text in XSL file (4)
-> - XSLT to Excel, predefine cell ... (1)
-> + CSaxon8Driver issue...time out (2)
-> + Is it possible to generate a X... (2)
-> + Is there any tool which genera... (2)
-> + xslt to html producing double ... (2)
-> - ADD 2 XML 2 Generate Single XM... (1)
-> + converting XML1 to XML2 struct... (2)
-> + How to remove the name space i... (2)
-> + Dump Payload into String (4)
-> + Converting Global EDIFACT into... (2)
-> + Auto mapping of XSLT? (3)
-> + Numbering a list broken into m... (3)
-> + help in xsl:analyze-string (2)
-> + Use XSLT with SOAP (2)
-> + Order of Processing Child Elem... (2)
-> + XSL finding a node based on va... (2)
-> - grouping a group? (11)
-> ->grouping a group?
-> ->grouping a group?
-> ->grouping a group?
-> ->grouping a group?
-> ->grouping a group?
-> ->grouping a group?
-> ->grouping a group?
-> ->grouping a group?
-> ->grouping a group?
-> ->grouping a group?
-> + Query on Looping (5)
-> + java.lang.Assertionerror_: Slo... (7)
-> + CONVERT SQL Server data to XML... (11)
-> + Error using "xsltproc" command... (3)
-> + XML refresh via web broswer (3)
-> + XSL-mapping usage for csv file... (4)
-> + form controls with xslt (2)
-> + Stylus Studio 2011 XML Enterpr... (2)
-> + Looping through Itema and gett... (2)
-> + Image src through System Varia... (3)
-> + XSL-mapping usage for csv file... (3)
-> + How to achieve UTF-8 encoding ... (2)
-> + sorting Using JavaScript (6)
-> + Display values from .xml horiz... (5)
-> + query on xslt for-each (3)
-> + query on xslt for-each (2)
-> + issue for First occurance (2)
-> + XSL: Mapping 2 XSD to 1 XSD (2)
-> + xslt mapper looses linkage fro... (2)
-> - How to Modify only few nodes a... (1)
-> + XSLT autocomplete function (2)
-> + i need to display dynamic list... (2)
-> + How to group when source has m... (11)
-> - Using EXCEL to create XSLT for... (1)
-> + Mapper generating XSLT, popula... (2)
-> + multiple columns (2)
-- [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
Glory LeungSubject: grouping a group?
Author: Glory Leung
Date: 27 Feb 2012 10:57 AM
So basically I have Source and Target XML.

The gist of it is that I need to get the data on the target XML so that

H | W | L
1 | 2 | 3
4 | 5 | 6
7 | 8 | 9

I can't pinpoint whether the issue is with the Source XML or the XSLT

In the Target XML, I the <Values> in <AttributeCollections> Grouped based on the <attribute> tags above.


UnknownClienteeee.xml
source xml

UnknownClienteeee.xsd
Source XSD

UnknownUntitled13.xsl
XSL I have atm

UnknownClientFeaturesImportMaster.xml
Target XML

Postnext
Ivan PedruzziSubject: grouping a group?
Author: Ivan Pedruzzi
Date: 27 Feb 2012 02:36 PM

I am sure I can follow, could you post an XML document that shows the desired result, given as input Clienteeee.xml?

Ivan Pedruzzi
Stylus Studio Team

Postnext
Glory LeungSubject: grouping a group?
Author: Glory Leung
Date: 27 Feb 2012 03:19 PM
Originally Posted: 27 Feb 2012 03:06 PM
i'm working on massaging the xml to the desired output, here is a screencap for now

Just to add the complexity, Each MultiDimension can have a different number of Attributes vs Values.

In the screen it's like a 4 x 4 grid, but the next set can be a 3x3 grid or a 6x7 grid


Image2-27-20123-02-53PM.jpg
screenshot

Postnext
Glory LeungSubject: grouping a group?
Author: Glory Leung
Date: 27 Feb 2012 03:39 PM
<MultiDimension>
<Name>Posters</Name>
<Profiles>
<Profile>
<ProfileName>Fixtures</ProfileName>
</Profile>
</Profiles>
<Attributes>
<Attribute>
<Name>Height</Name>
<DataType>AlphaNumeric</DataType>
</Attribute>
<Attribute>
<Name>Width</Name>
<DataType>AlphaNumeric</DataType>
</Attribute>
<Attribute>
<Name>Type</Name>
<DataType>AlphaNumeric</DataType>
</Attribute>
<Attribute>
<Name>Language</Name>
<DataType>AlphaNumeric</DataType>
</Attribute>
</Attributes>
<AttributeCollections>
<AttributeCollection>
<Value>25</Value>
<Value>55</Value>
<Value>Ambassador Station &amp; ASC's</Value>
<Value>English</Value>
</AttributeCollection>
<AttributeCollection>
<Value>25</Value>
<Value>55</Value>
<Value>Banking Wall, Brochure Wall &amp; Waiting Area Wall</Value>
<Value>English</Value>
</AttributeCollection>
<AttributeCollection>
<Value>25</Value>
<Value>55</Value>
<Value>Imperial Service Flagship Poster Posts</Value>
<Value>English</Value>
</AttributeCollection>
<AttributeCollection>
<Value>25</Value>
<Value>55</Value>
<Value>Retail Flagship Poster Posts</Value>
<Value>English</Value>
</AttributeCollection>
<AttributeCollection>
<Value>44</Value>
<Value>19</Value>
<Value>Imperial Service Flagship Poster Posts</Value>
<Value>English</Value>
</AttributeCollection>
<AttributeCollection>
<Value>44</Value>
<Value>19</Value>
<Value>Retail Flagship Poster Posts</Value>
<Value>English</Value>
</AttributeCollection>
</AttributeCollections>
</MultiDimension>

Postnext
Ivan PedruzziSubject: grouping a group?
Author: Ivan Pedruzzi
Date: 27 Feb 2012 04:28 PM

It seems like there is no way to correlate AttributeCollection to Attribute. The attached solution uses the number of Attribute to group the AttributeCollection elements.

Does it help?

Ivan Pedruzzi
Stylus Studio Team


DocumentUntitled13_grouped.xsl

Postnext
Glory LeungSubject: grouping a group?
Author: Glory Leung
Date: 27 Feb 2012 04:58 PM
>
>It seems like there is no way
>to correlate
>AttributeCollection to
>Attribute. The attached
>solution uses the number of
>Attribute to group the
>AttributeCollection elements.
>
>Does it help?
>
>Ivan Pedruzzi
>Stylus Studio Team

It's helping a bit. Certainly has given me more ideas. Let me play around with your XSL that you have given me.

Thanks for the help so far!

Postnext
Glory LeungSubject: grouping a group?
Author: Glory Leung
Date: 28 Feb 2012 04:38 PM
I couldn't get exactly what I wanted, so I rejigged the source from Access and changed the way i'm structuring the data.

now I have an issue with apply templates. This is what I have in the XSL:

<AttributeCollections>
<xsl:for-each select="AttributeCollection">
<AttributeCollection>
<Value>
<xsl:apply-templates select="Value1"/>
</Value>
<Value>
<xsl:apply-templates select="Value2"/>
</Value>
<Value>
<xsl:apply-templates select="Value3"/>
</Value>
<Value>
<xsl:apply-templates select="Value4"/>
</Value>
</AttributeCollection>
</xsl:for-each>
</AttributeCollections>

Where I find Value[x] and just take the value and template it to <value> on the target

is there a way to have a If/For clause to check that if the source has a tag that exists, apply template.. and if it doesn't, then skip?

Postnext
Ivan PedruzziSubject: grouping a group?
Author: Ivan Pedruzzi
Date: 28 Feb 2012 05:11 PM

Move the <Value> wrapper inside your template, if the value is not present in the input, it doesn't match the rule

<AttributeCollection>
<xsl:apply-templates select="Value1|Value2|Value3|Value4"/>
</AttributeCollection>

....

<xsl:template match="Value1|Value2|Value3|Value4">
<Value>
<xsl:value-of select="."/>
</Value>
</xsl:template>

Ivan Pedruzzi
Stylus Studio Team

Postnext
Glory LeungSubject: grouping a group?
Author: Glory Leung
Date: 28 Feb 2012 07:14 PM
>
>Move the <Value> wrapper
>inside your template, if the
>value is not present in the
>input, it doesn't match the
>rule
>
><AttributeCollection>
><xsl:apply-templates
>select="Value1|Value2|Value3|V
>alue4"/>
></AttributeCollection>
>
>....
>
><xsl:template
>match="Value1|Value2|Value3|Va
>lue4">
><Value>
><xsl:value-of
>select="."/>
></Value>
></xsl:template>
>
>Ivan Pedruzzi
>Stylus Studio Team


I'm guessing from the answer that there is no way to specify a wildcard or to have say Value1-99 or something like that, correct?

Postnext
Ivan PedruzziSubject: grouping a group?
Author: Ivan Pedruzzi
Date: 28 Feb 2012 09:02 PM
apply-templates select="*" for matching any element.

A More sophisticate technique could filter in only those with a name that starts with a prefix

apply-templates select=*[starts-with(local-name(),'Value')]

Ivan Pedruzzi
Stylus Studio Team

Posttop
Glory LeungSubject: grouping a group?
Author: Glory Leung
Date: 28 Feb 2012 10:01 PM
>
>Move the <Value> wrapper
>inside your template, if the
>value is not present in the
>input, it doesn't match the
>rule
>
><AttributeCollection>
><xsl:apply-templates
>select="Value1|Value2|Value3|V
>alue4"/>
></AttributeCollection>
>
>....
>
><xsl:template
>match="Value1|Value2|Value3|Va
>lue4">
><Value>
><xsl:value-of
>select="."/>
></Value>
></xsl:template>
>
>Ivan Pedruzzi
>Stylus Studio Team


I'm guessing from the answer that there is no way to specify a wildcard or to have say Value1-99 or something like that, correct?

   
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.