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] how to best integrate XML in a programming language

[ Lists Home | Date Index | Thread Index ]

On Friday, Feb 20, 2004, at 13:27 Europe/Berlin, G. Ken Holman wrote:

> At 2004-02-19 23:25 -0800, Mark Lentczner wrote:
>> At 2004-02-18 11:11 +0100, Burak Emir wrote:
>>> No matter whether you are more concerned about documents or data,
>>> writing XML syntax to describe XML makes life easier.
>> Not clear to me.  I don't find XSLT particularly easy or concise to 
>> write lexically.
>> ...
>> It is unrealistic that a program wants to embed a literal that is an 
>> entire XML document.  It would be more likely that a program wants to 
>> output an XML document composed of XML literals and data values from 
>> the running program.  Therefore, it is highly unlikely that the 
>> compiler could do much in the way of ensuring schema conformance.
> ...
> For example, where would the following be checked?
>             <?script for ($i = 1; $i < 10; $i++) { ?>
>               <p><?script $i ?>
>             <?script } ?>
>            </p>
> There would appear to be nothing preventing the above from being 
> considered incorrect until the result was created and then verified 
> for being well formed.  The well-formed requirement of XML as utilized 
> by XSLT ensures that the above could not be written, therefore, the 
> input syntax guarantees that the output syntax is well-formed, which 
> means the output need never be checked for being well-formed and it, 
> therefore, need not be cached when produced.
> This is why disable-output-escaping= in XSLT is so dangerous to use, 
> as the stylesheet writer can shoot themselves in the foot.  No-one 
> should advocate d-o-e= except in the most dire of situations where 
> nothing else will do.
> This is why *any* out-of-line system adds an entire level of 
> complexity and a burden for the stylesheet writer because they cannot 
> take advantage of well-formedness to help them ensure the 
> well-formedness of the bits of XML they are working with.

would those who propose typed "out-of-line" expressions agree with 
this? it depends on the out-of-line language. my impression is that the 
papers on ml-based xml processing, the document by meijer et al which 
was referenced in the initial post, and even x-query argue against that 

> Also, I believe any out-of-line system treats XML as a syntax stream, 
> not as a data model of nodes.

in that they posit a mechanism which establishes a type equivalence 
between an xml data model and a process, expressed in a syntax other 
than xml, which can be demonstrated to produce a correct data model 
and/or a well-formed encoded stream.

> ...  XSLT is *not* an angle-bracket processor, it is a node processor 
> where the nodes usually (but not always) happen to come from and go to 
> XML angle brackets.  An out-of-line system is going to require users 
> to consider syntactic issues rather than let the processors consider 
> syntactic issues.  XSLT relieves the users of this and lets people 
> focus on their information, not on their syntax.
> The designers of XSLT make this claim up front and don't try to hide 
> it: XSLT was not designed to preserve or manipulate the syntax of a 
> document, it was designed to be totally general purpose with the 
> information structure of a document: when the document is used by a 
> processor downstream, the choice of syntax is irrelevant as long as it 
> is correct.
> Now if you claim that the processor of an out-of-line system can take 
> on the burden of checking the above for well-formedness, then you've 
> given that development team a lot of responsibility (and opportunity 
> for error) that could have just been handled by an XML processor ... 
> just like XSLT does.

with the benefit, that the result "lets people focus on their 
information, not their syntax." (the statement, after all, has more 
than one sense.)

>   An XSLT processor doesn't need to check well-formedness of templates 
> because the XML processor inside the XSLT processor checks this and it 
> is available off-the-shelf.

whereby, well-formedness is a rather low bar.
>> It is this very problem that lead Wheat to use templates.  With 
>> templates there is clear separation: The XML document looks, feels 
>> and is authored as XML.  The code is clear, concise and compact.  The 
>> trick is making sure that the code one writes to connect the two is 
>> easy and clear.
> You don't describe the syntax of your system here, but I'm assuming it 
> isn't like the script above ... I don't quickly see any examples on 
> your web site of how you would do the above, but if you aren't using 
> XML syntax then I'm not sure how you can guarantee well-formedness.
> So, I'm not trying to measure your system or comment on it, I just 
> wanted to comment on your observations and derisions about XSLT.  It 
> seemed to me that your criticisms of XSLT were misplaced when you turn 
> around and say "templating is better" ... XSLT *is* templating ...

from the descriptions, and the reference to zope/tal, one distinction 
could be that they will be more monolithic with a recursive control 
structure, in contrast to element/component and rewrite-based.



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

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