This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Which engine? (RE: JavaScript and XSL)



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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]