[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Grouping-by appropriate values from external document.

Subject: Grouping-by appropriate values from external document.
From: Xasima Xirohata <xasima@xxxxxxxxx>
Date: Fri, 21 Oct 2005 13:44:16 +0300
xasima xirohata
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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.