Subject: Re: [xsl] "Tunneling" a parameter in document order From: "Christopher R. Maden" <crism@xxxxxxxxx> Date: Fri, 13 Apr 2012 11:58:44 -0400 |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 04/13/2012 04:31 AM, Christian Roth wrote: > that's why I did not give an example in the first place :-) A simpler > example, unfortunately, would not be "covering the various > possibilities". > > As for the basic requirement, I tried to describe it with: "Keeping a > global variable's value current while doing a depth-first traversal > of a document, where the variable's value is not scoped by either the > document's element hierarchy, nor the nesting of XSLT template > calls." > > I'll try in a different way: Imagine someone has laid a rope along > the path of a depth-first traversal of the document tree. The initial > color of the rope is red. However, any node in the tree may decide to > change its color (e.g. to green), which the rope then has from the > start of that node on for all later (=following::) ones until we > reach the document end, or up to the next node that chooses to change > the rope's color again. All nodes along the path can query the rope's > color (that's the parameter I need to 'tunnel' through the document > in document order) it has when it reaches them. > > Which new color a node changes the rope's color to depends on its > context and(!) the current color of the rope it has when it reaches > it. This sounds very similar to the problem I was trying to solve last week; I ended up just implementing a manual traversal of the nodes, keeping some state around. Not a very XSLTish solution, but it was the best I could come up with. Check the archives. ~Chris - -- Chris Maden, text nerd <URL: http://crism.maden.org/ > bBe wary of great leaders. Hope that there are many, many small leaders.b b Pete Seeger GnuPG fingerprint: DB08 CF6C 2583 7F55 3BE9 A210 4A51 DBAC 5C5C 3D5E -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJPiE00AAoJEEpR26xcXD1eASQH/3y9wsX15Gq1Bf6h/AmFBKe7 J2/IY+BtGTTDOnd6CSlYFTqcDN1pso8zGWZPZ54N6rdw9X875IaqsoCAiz0ewJk9 MLvtlm7mtXu2tA4vBtj38vNxeTRRakYXlrOKP7j/FGB6U3ey9IZsYFkwD20O1hPS KX4Sv4Y7yPiHy9recB5oUmV7dJtKiYT/cirZoFuRAcL7crG4m3GZ4hRhQXC4GDGf PDHvzhlfNKKjvo55UOS1X8Rq10I43NPsIbqmoaib1jPgL2K9ppW73/Pnez5Ymr1t OExD/JflLHVhGdRzHxffYJiB4HV4b6ylbwGriOXJw991TmC4mOOuUfug6ENpcSM= =hw5H -----END PGP SIGNATURE-----
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] "Tunneling" a parameter i, David Carlisle | Thread | Re: [xsl] "Tunneling" a parameter i, G. Ken Holman |
Re: [xsl] "Tunneling" a parameter i, David Carlisle | Date | Re: [xsl] "Tunneling" a parameter i, G. Ken Holman |
Month |