Subject: XSLT: Restructuring/Grouping From: Wolfgang May <may@xxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Sat, 4 Mar 2000 19:45:39 +0100 (MET) |
Hi, I want to "group" elements by one of their attributes, e.g., <org id="org-WEU"> <name>Western European Union</name> <abbrev>WEU</abbrev> <member type="member" ref="Greece"/> <member type="member" ref="France"/> <member type="member" ref="Spain"/> <member type="member" ref="Germany"/> <member type="member" ref="Italy"/> <member type="member" ref="Belgium"/> <member type="member" ref="Luxembourg"/> <member type="member" ref="Netherlands"/> <member type="member" ref="Portugal"/> <member type="member" ref="United-Kingdom"/> <member type="associate member" ref="Turkey"/> <member type="associate member" ref="Norway"/> <member type="associate member" ref="Iceland"/> <member type="observer" ref="Austria"/> <member type="observer" ref="Denmark"/> <member type="observer" ref="Finland"/> <member type="observer" ref="Sweden"/> <member type="observer" ref="Ireland"/> <member type="associate partner" ref="Czech-Republic"/> <member type="associate partner" ref="Hungary"/> <member type="associate partner" ref="Slovakia"/> <member type="associate partner" ref="Latvia"/> <member type="associate partner" ref="Lithuania"/> <member type="associate partner" ref="Poland"/> <member type="associate partner" ref="Bulgaria"/> <member type="associate partner" ref="Romania"/> <member type="associate partner" ref="Estonia"/> </org> into <org id="org-WEU"> <name>Western European Union</name> <abbrev>WEU</abbrev> <member type="member" countries="Greece France Spain Germany Italy Belgium Luxembourg Netherlands Portugal United-Kingdom"/> <member type="associate member" countries="Turkey Norway Iceland"/> <member type="observer" countries="Austria Denmark Finland Sweden Ireland"/> <member type="associate partner" countries="Czech-Republic Hungary Slovakia Latvia Lithuania Poland Bulgaria Romania Estonia"/> </org> . A "solution" based on <xsl:template match="org"> <organization> <xsl:copy-of select="@id|name|abbrev"/> <xsl:for-each select="member/@type"> <member> ... collect all members of that type ... </member> </xsl:for-each> </organization> </xsl:template> does *not* work since duplicates in [[member/@type]] are not removed. The solution must not assume that the domain where the type value is taken from is known when writing the program - thus the values must be selected from the input file. ... I am missing a possibility to define views in XSLT which are not output but can be used in the computation. Wolfgang to avoid questions: That's not my homework. -- ----------------------------------------------------------------- Wolfgang May E-mail: may@xxxxxxxxxxxxxxxxxxxxxxxxxx Universitaet Freiburg http://www.informatik.uni-freiburg.de/~may/ Institut fuer Informatik D-79110 Freiburg / Germany Lehrstuhl fuer Datenbanken und Informationssysteme Tel ++49 761 203-8131 Fax ++49 761 203-8122 XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: XSLT: Does an element know abou, Mike Brown | Thread | RE: XSLT: Restructuring/Grouping, Mike Brown |
XSLT: Does an element know about it, Wolfgang May | Date | Re: XSLT vs Omnimark, Paul Tchistopolskii |
Month |