This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Which engine? (RE: JavaScript and XSL)
- To: xsl-list at mulberrytech dot com
- Subject: Re: Which engine? (RE: JavaScript and XSL)
- From: Paul Tchistopolskii <paul at qub dot com>
- Date: Mon, 23 Oct 2000 01:33:14 -0700
- Organization: The Qub Group
- References: <200010230735.BAA43102@skew.org>
- Reply-To: xsl-list at mulberrytech dot com
From: Mike Brown <mike@skew.org>
> Paul Tchistopolskii wrote:
> > Mike Brown wrote:
> > > My opinion is that if I write a stylesheet with version="1.0" then it is
> > > my job as a document author to not attempt to do anything that isn't
> > > allowed by XSLT 1.0.
> > [...]
> > This was the header of my stylesheet. It says version="1.0".
> >
> > This means SAXON already allows me to write XSLT 1.1
> > using version="1.0". Right?
> >
> > This means stylesheets I write in SAXON are not portable.
> > ( in the universe of version="1.0" )
> Better yet, how do you define 'portable'?
>
> Does it mean you can execute the stylesheet with any processor?
> Does it mean you will achieve the same output with any processor?
> Does it mean the stylesheet contains nothing that is disallowed by the
> version of XSLT the stylesheet claims to conform to, except within the
> guidelines of 'forwards-compatible mode' processing?
>
> These are separate questions ... degrees of portability.
Mike, I already confessed that I give up. I don't understand
what does it mean when I write :
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
I simply don't understand what does it mean. If I can
insert constructions of XSLT v 1.1 into my stylesheet
and processor will not behave differently comparing to
situation when I use
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.1">
What can I say? Nothing. I have no understanding what is this
'version' about. Is it written somewhere ?
> XSLT provides function-available(), system-property(), xsl:version
> attributes and 'forwards-compatible mode' ... I think SAXON should require
> xsl:version="1.1" to be in effect to do the type cast, but I may be
> misunderstanding that somewhat obtuse section of the spec.
Hm. *That* I'l understand. No need in typecast in 1.1 - don't
write the typecast. But I'm writing 1.0 and can safely use
constructions which are *not* allowed in 1.0 ( processor does
not even gives me a warning). This I can not understand.
> I may have this wrong, but you see the idea... this stylesheet is
> 'portable' and may also be 'conformant' to XSLT 1.0, but does not
> necessarily produce the same results on all processors.
I know that. For example, sorting is specified in the way that
2 conformant processors can produce different results and
this will be not the error.
Not that bad way of standardization, actually. Let's say:
"the behavior of RTF node-set conversion is not specified.
This is OK for 2 conformant processors to provide different
feedback to RTF node-set conversion. Processor can report
the error, or it can make a conversion." Write it on paper,
call it 'standard' and enjoy. I think I started to understand
the way it goes. Why not? I think this is consistent and will
allow to explain any behavior of any engine. Something
tells me this is funny, but why is it funny, but allowing
different sorting is not funny?
Just one sad thing.
When I see your 'portable stylesheet snippet' - which tries
protecting itself from any possible disaster - I can not
say : "I like it" ( not because I think it is 'bad' XSLT
code. I think it is 'good' XSLT code).
I say ( to myself ) : "this is a hell of #ifdefs and I have been
there and I don't understand why this "new design" proposed
by W3C is in any way better than #ifdefs. I think it is
not better"
Also, now after your explanation I finally don't understand
what is this 'version' about. Before your explanation I was
thinking that in 5.5 SAXON just has a bug!
It was so simple for me: "O, Steve says that old version
of Saxon was reporting the 'no conversion allowed', now on the
same stylesheet Saxon is not reporting that 'no conversion'.
Nothing has changed ( there is no XSLT 1.1 ) - this is a
bug in SAXON. Right?
You say "wrong". Then you explained that this all happens
on purpose and MS were 'too early' but now
'SAXON is right on the time' - this makes me feel that
I'm crazy ( and I see that you really understand
this magic, when I don't ).
I think I'll better to stop participation in this thread,
to save a bit of my common sense which is leaking
with every letter ;-) Please don't get me wrong -
your letters are very helpful. I'm just absolutely
crushed with the way of things.
Again - I think you do understand situation really
much better than I do. Because, for example, I'll never
push myself learning all the "portability" magic you have
learned.
Rgds.Paul.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list