Subject: [xsl] Grouping-by appropriate values from external document. From: Xasima Xirohata <xasima@xxxxxxxxx> Date: Fri, 21 Oct 2005 13:44:16 +0300 |
My question could be expressed shorty as the following. How to make correct the idea that marked in this XSLT 2.0 wrong expression: <xsl:for-each-group select="/shop/product" group-by="document('registry.xml')//goods[@id=current()/pr_id]/@name"/> ---------- Extended discription: I have a registry looks like <registry> <goods id="g123" name="Sweet Cake"> <goods id="g124" name="Big Cake"> <goods id="g125" name="Royal"> </registry> Incoming XML documents looks like <shop> <product pr_id="g123"> <!--smth additional like package, container number, count--> </product> <product pr_id="g124"> <!-the same--></product> </registry> I'd like to group "product" by the name of this product (goods) in registry base, and sort them it that order. For Example: <grouping> <group name="Big Cake"> <product pr_id="g124"></product> <!-- all product with this pr_id --> </group> <group name="Sweet Cake"> <product pr_id="g123"></product> <!-- blah-blah --> </group> </grouping> Draw attention, that the ordering of "group" is the string ordering of goods name in registry (B - first) . By the way, I seem not be agreed with the exploring registry first (apply-template select="document('registry.xml')//product" + sort select="name") and populate appropriate product in in.xml. The registry may be much more greater than in.xml. Well, I tried the following code, but caught the failure <xsl:for-each-group select="/shop/product" group-by="document('registry.xml')//goods[@id=current()/pr_id]/@name"> </xsl:for-each-group> Would you be so kind to prompt to solution? Thanks in advance. -- Regards, ~ Xasima Xirohata ~
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Embedding stylesheet docu, G. Ken Holman | Thread | Re: [xsl] Grouping-by appropriate v, omprakash . v |
Re: [xsl] Help getting started with, Colin Paul Adams | Date | [xsl] RE : [xsl] xsl namespace prob, Stephane Dion |
Month |