|
Subject: Re: [xsl] Table of contents for all groups at the beginning of each group From: <vwiswell@xxxxxxxxxxx> Date: Mon, 19 Nov 2007 14:12:06 -0600 (CST) |
Sorry for not being specific enough. the output would be something like:
<h1>Company Name</h1>
<hr/>
link to Department 1 group | link to Department 2 group | link to Department 3 group
<p><a id="department1 name"></a></p>
<h2>Department 1</h2>
<p>Employee Information</p>
<p>Employee Information</p>
...
<hr/>
link to Department 1 group | link to Department 2 group | link to Department 3 group
<p><a id="department2 name"></a></p>
<h2>Department 2</h2>
<p>Employee Information</p>
<p>Employee Information</p>
...
<hr/>
link to Department 1 group | link to Department 2 group | link to Department 3 group
<p><a id="department3 name"></a></p>
<h2>Department 3</h2>
<p>Employee Information</p>
<p>Employee Information</p>
...
<hr/>
Thanks for responding and I hope this clarifies what I need to do.
On Mon, 19 Nov 2007 14:50:30 -0500
"G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> wrote:
> At 2007-11-19 12:50 -0600, vwiswell@xxxxxxxxxxx wrote:
>>I've looked at a lot of examples but I still can't seem to figure out
>>how to do this. I am using XSLT 2.0. I am transforming XML to XHTML.
>
> There are some fundamental problems in your stylesheet, plus your
>question is not quite clear.
>
>>The XML is something like this:
>>
>><corporation>
>> <company>
>> <employee>
>> <department>a</department>
>> </employee>
>> <employee>
>> <department>a</department>
>> </employee>
>> <employee>
>> <department>a</department>
>> </employee>
>> </company>
>> <company>
>> <employee>
>> <department>a</department>
>> </employee>
>> <employee>
>> <department>a</department>
>> </employee>
>> <employee>
>> <department>b</department>
>> </employee>
>> <employee>
>> <department>c</department>
>> </employee>
>> </company>
>></corporation>
>>
>>
>>I need to group employees within a company (selected with a param) by
>>department. No problem. What I also need to do is include a table of
>>contents at the beginning of each department grouping linking to each
>>of the other department groups. If there is only one department in
>>the
>>company, I do not display a table of contents.
>
> I'm lost as to which groupings you need and which you do not. Could
>you please show an example of what you want output from the data
>above, rather than showing us the stylesheet. That shows us what
>doesn't work, not what you want.
>
>><xsl:for-each-group select="//company" group-by="department/text()">
>> <xsl:sort select="department/text()"/>
>
> It is dangerous to use "/text()" in the above because of mixed
>content. It is sufficient to say "department" because the text value
>of an element is the concatenation of the descendant text nodes.
>
>> <br/>
>> <p><a id="<xsl:value-of
>>select='current-grouping-key()'/>"></a></p>
>
> Your escaping of angle brackets in an attribute achieves nothing.
> There is no such thing as element markup in an attribute string.
> Use an attribute value template to do "value-of" in an attribute:
>
> <a id="{current-grouping-key()}">
>
>>I think my problem is that I don't thoroughly understand how the XML
>>doc is processed so that I can get the group names at the beginning
>>of
>>the the for-each-group.
>
> What do you mean by a "group name"? If you mean the current
>grouping key, then perhaps the above is all you need.
>
> Remember also that you always get a group even if the count of
>members of the group is one. If you don't want to do something if
>there is only one member of the group, then you'll have to check the
>count of the current group to determine that.
>
> I hope this helps.
>
> . . . . . . . . . Ken
>
> --
> Comprehensive in-depth XSLT2/XSL-FO1.1 classes: Austin TX,Jan-2008
> World-wide corporate, govt. & user group XML, XSL and UBL training
> RSS feeds: publicly-available developer resources and training
> G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
> Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
> Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
> Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/s/bc
> Legal business disclaimers: http://www.CraneSoftwrights.com/legal
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Table of contents for all, G. Ken Holman | Thread | [xsl] Help with multiple key groupi, Hix, Robert W CIV NS |
| Re: [xsl] Header Text Overflows Bod, G. Ken Holman | Date | [xsl] Help with multiple key groupi, Hix, Robert W CIV NS |
| Month |