Re: [xsl] xslt processing order

Subject: Re: [xsl] xslt processing order
From: "Ilya Lifshits" <chehlo@xxxxxxxxx>
Date: Wed, 16 Apr 2008 14:47:45 +0300
Thanks,

I added the include to the xsl file and problem fixed.

Ilya.


On Tue, Apr 15, 2008 at 11:40 PM, Manfred Staudinger
<manfred.staudinger@xxxxxxxxx> wrote:
> Hi Ilya,
>
>
>  >  Error on line 369 column 28 of
>  >  file:/C:/cygwin/home/ilya/srcs/private/xml/first_stage.xsl:
>  >   SXXP0003: Error reported by XML parser: The entity
>  >  "usb_spec_ref_name" was referenced, but
>  >   not declared.
>  Before XSLT processing can start, both the input XML and the
>  stylesheet have to be processed by the XML parser (get "parsed* into a
>  node-tree). It seems the parser cannot find the line
>
> >  <!ENTITY usb_spec_ref_name "USB Specification">
>  in first_stage.xsl, where it has found the entity. If you would
>  include it (or preemble.ent) at the beginning of your XSLT it would
>  parse.
>
>
>  >  It seems like the error i got is some sanity validation before
>  >  the actual transformation is started since it's happened very fast and
>  >  the template is used at the end of quite big document.
>  Correct, the XSLT gets parsed first. The XSLT processor acts on the
>  node-tree, so it has done nothing up to that point.
>
>  Regards,
>
>  Manfred
>
>
>
>  On 15/04/2008, Ilya Lifshits <chehlo@xxxxxxxxx> wrote:
>  > Hi,
>  >
>  >  I have a problem using entities in named template. To fix the problem
>  >  i want to understand how processing of xsl is working.
>  >  In my situation i have  one xml file that include preamble.ent with
>  >  some entities defined in there.  I'm, processing this file this some
>  >  xsl with number of templates to another xml.
>  >  Then i try using any of the entities in xml file it's work as
>  >  expected, but if i use any entity in the template i got the following
>  >  error:
>  >
>  >  Error on line 369 column 28 of
>  >  file:/C:/cygwin/home/ilya/srcs/private/xml/first_stage.xsl:
>  >   SXXP0003: Error reported by XML parser: The entity
>  >  "usb_spec_ref_name" was referenced, but
>  >   not declared.
>  >
>  >  I'm using saxon 9. and xslt 2.0.
>  >
>  >  Command line:
>  >
>  >  java -jar c:/utils/saxon/java/saxon9.jar  -s:ut_man.xml -xi:on
>  >  -xsl:first_stage.xsl -o:out/ut_man_docbook.xml
>  >
>  >  the snipsets of the relevant part of the files are the following :
>  >  preemble.ent
>  >  ------------------
>  >  <!ENTITY usb_spec_ref_name "USB Specification">
>  >
>  >  ut_man.xml
>  >  -----------------
>  >  <listitem>
>  >                 <j_desc_verify/>
>  >  <listitem>
>  >
>  >
>  >  first_stage.xsl
>  >  --------------------
>  >
>  >  <xsl:template match="j_desc_verify">
>  >     <xsl:param name="param" select="Verify"/>
>  >     <xsl:value-of select="$param"/> that the returned descriptor
>  >  compiles with the
>  >         &usb_spec_ref_name;
>  >  </xsl:template>
>  >
>  >  Just a solution will be good, but the explanation why it's happened
>  >  will be much better :) It will be nice to understand the
>  >  transformation process at the level i understand compilation stages of
>  >  C code. It seems like the error i got is some sanity validation before
>  >  the actual transformation is started since it's happened very fast and
>  >  the template is used at the end of quite big document.
>  >
>  >  Regards Ilya.

Current Thread