Re: [xsl] document('') and URIResolver

Subject: Re: [xsl] document('') and URIResolver
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 18 May 2005 09:38:30 +0100
     Someone here had said something to the effect that the document
  ('') does cause the stylesheet to be processed twice. But I don't know the
  underlying mechanics of this.

Not processed twice as XSL instructions, but parsed twice as an XML
file: Once when the input is processed as xsl and again when it is read
as any other XML input file.

While in principle it would be possible for a system to special case
this argument to document() and instead of reparsing the XML just to
re-use some in-memory tree constructed when the stylesheet was parsed,
this might be difficult in practice for a system to achieve as for
example the default white space stripping rules are different, and a
system might have done other in-place changes to teh stylesheet tree,
for example related to processing xsl:include or code-re-writing in a
code optimiser, and any such internal changes must not be reflected when
in teh tree returned by document('') so I believe that most systems do
in fact just parse the input again. But I don't really have any
knowledge of the internals of any XSL system, so this is a
user-observable description of the processing not an implementor's one.

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

Current Thread
  • [xsl] document('') and URIResolver
    • jpk - Tue, 17 May 2005 15:11:20 -0700 (PDT)
      • <Possible follow-ups>
      • omprakash . v - Wed, 18 May 2005 12:46:23 +0530
        • David Carlisle - Wed, 18 May 2005 09:38:30 +0100 <=
      • jpk - Wed, 18 May 2005 08:20:41 -0700 (PDT)
      • jpk - Wed, 18 May 2005 08:45:39 -0700 (PDT)