Hi, Kai,
Here are two layouts of a file structure. (To appear correctly, they need
to be viewed with a monospace font.) Since I don't like to send images to
mailing lists, I have used text symbols as shown below:
Key:
|-A node that is not the last node at its level
-A node that is the last node at its level
| Continuation of an ancestor level
Root
|-Dir1
| |-File11
| -File12
|-Dir2
| |-File21
| |-File22
| |-Dir21
| | |-File211
| | -File212
| -Dir22
| -File221
-Dir3
Root
|-Dir1
|-File11
-File12
|-Dir2
|-File21
|-File22
|-Dir21
|-File211
-File212
-Dir22
-File221
-Dir3
Which one are you after? Or have I not grasped the problem?
In the first case, you need either a for-each or a recursive template to
generate all the "continuation" images and space them properly. In the
second, you don't, because you can just multiply the level by the indent
amount per level. (If you are writing to HTML rather than PDF, you could
use a for-each to generate the right number of nbsp characters or empty
table cells or whatever.)
>From a user-interface design point of view, by the way, the second view is
much better. The first is very cluttered. All those lines draw the eye
away from the information that matters without adding any value. If you
must do the first, you should make the lines NOT stand out (light grey and
thin lines would do).
By the way, the Windows XP Explorer just has boxes with + and - signs. It
has no lines at all, relying purely on indentation to show the relation
between levels. In my view, that's one of the things Microsoft did right.
Jay Bryant
Bryant Communication Services
(presently consulting at Synergistic Solution Technologies)
"Kai Hackemesser" <[EMAIL PROTECTED]>
02/21/2005 11:45 AM
Please respond to
[EMAIL PROTECTED]
To
[EMAIL PROTECTED]
cc
Subject
Re: XSLT Question
Hi J,
Partly you are right, with your test I can tell what image I need for the
current level of the tree, but I can't see how to retrieve the required
images from lower levels. the test you described needs to be done for
every
element up to level 0. It's not just the Indent which I want to show, but
also some lines and branches, depending from the structure. Like the
folder
tree in an windows explorer window.
Ciao!
Kai
> Hi, Kai,
>
> I don't think you need to call a template for that. You can test for the
> characteristics of the node from within the matching template and get
the
> image you need.
>
> Several xsl:when statements within an xsl:choose block should let you
> figure out which images to use when. For example, <xsl:when
> test="generate-id(.)=generate-id(../*[last()])"> will tell you whether
the
> current node is the last child node of its parent. Also, to indent
> properly, you can read the Level attribute and put the appropriate
number
> of indentation objects (blank table cells, spaces, whatever you use)
> before the image.
>
> J
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]