Lists Home |
Date Index |
the trick with xslt is that it's a specification of what to do, not an
instruction to do something. ie it is truly non-procedural.
the paradigm shift is from programming (giving a clear step by step set
of instructions) to specifying (if you have an x then do y). this is
subtle but critical.
my experience training practicing programmers to make this paradigm
shift is that they struggle. they're programmers because they can build
a detailed set of instructions. if you talk to managers you'll find they
can actually do this sort of work better because their day-to-day work
is based on broad directions not detailed instructions.
the trick is to remember you're not writing a program to work in an
orderly fashion through a document. you're writing a specification for
something that tells it what to do should it come across something.
there's only a very small class of languages that work like this. prolog
is possibly the nearest of the "traditional" languages
Peter Hunsberger wrote:
>On Wed, 10 Nov 2004 15:43:23 +0000 (GMT), Richard Tobin
><snip>why people don't get recursion</snip>
>>While this may be true, it's certainly a deficiency of XSLT that it
>>often requires you to use recursion to perform tasks that are more
>>naturally described in a non-recursive way. A programmer may be quite
>>happy using recursion to implement tasks he thinks of as recursive,
>>but still find it frustrating to translate, say, simple string-editing
>>to a recursive algorithm.
>I don't think I'd call it a deficiency, but yes one person's natural
>act might be painful for another...
>I'd be willing to hazard a guess that there's a percentage of people
>who get recursion but find translating it into the XSLT syntax the
>straw that breaks the Camel's back, so to speak? I'm usually OK with
>the XSLT syntax up until the point I've got to do something like you
>describe. At that point the syntax becomes heavy weight enough that
>writing the simple algorithm with all that extra verbiage is a pain.
>I think this is something where XSLT 2 and XPath 2 help a lot, with
>them, for some things, recursion is no longer necessary...
tel;cell:+61 411 287 530