OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   RE: [xml-dev] XML in the alleged Real World (was Re: [xml-dev]Does XML-D

[ Lists Home | Date Index | Thread Index ]

At 2:06 AM -0800 3/25/02, Dare Obasanjo wrote:

>I am actually curious as to how you've convinced people that the 
>fact that XSLT doesn't have variables [or semi-decent text 
>manipulation facilities] and it takes one a two page stylesheet to 
>simulate a for loop will give them as you put it " gain [that] is 
>worth the pain" ?

That's a bit of an exaggeration. For instance, consider this CS101 for loop:

for (int i=1; i < 10; i++) {

Here's the same loop in XSLT:

<xsl:template name="CS101">
   <xsl:param name="index" select="1"/>
   <xsl:if test="index &lt;= 10">
     <xsl:value-of select="$index"/>
     <xsl:call-template name="CS101">
       <xsl:param name="index" select="$index + 1"/>

It's a little more complicated, but most of that is a result of the 
XML syntax, not recursion or the lack of modifiable variables. And 
it's certainly not two pages more complicated.

If we were to rewrite the functional solution in Java for a more 
accurate comparison of functional vs. imperative approaches you'd 
have something like this:

public void loop(int i) {
   if (i < 10) loop(i+1);

That may be less familiar but it's hardly more fundamentally complex.


| Elliotte Rusty Harold | elharo@metalab.unc.edu | Writer/Programmer |
|          The XML Bible, 2nd Edition (Hungry Minds, 2001)           |
|             http://www.cafeconleche.org/books/bible2/              |
|   http://www.amazon.com/exec/obidos/ISBN=0764547607/cafeaulaitA/   |
|  Read Cafe au Lait for Java News:  http://www.cafeaulait.org/      |
|  Read Cafe con Leche for XML News: http://www.cafeconleche.org/    |


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS