[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] XSLT2.0 compatibility


Subject: RE: [xsl] XSLT2.0 compatibility
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Sat, 2 Sep 2006 09:11:25 +0100

This was a warning condition in XSLT 1.0 that has become a hard error in
XSLT 2.0. Perhaps you didn't display the warnings when running with 1.0: it
would have meant that the attribute was ignored rather than being copied.

Can't help you find what's wrong with your stylesheet without seeing the
stylesheet, I'm afraid.

Michael Kay
http://www.saxonica.com/



> -----Original Message-----
> From: Lin, Jessica [mailto:jlin@xxxxxxxxxxx]
> Sent: 02 September 2006 01:54
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] XSLT2.0 compatibility
>
> I used to run my xslt 1.0 fine with saxon xslt processor1.0.
> After I migrated to xslt processor2.0, I meet the strange
> error. It complains a simple attribute copy command in my
> xslt file which is <xsl:copy-of select="@*"/>. The error message is
>
> Error at xsl:copy-of on line 141 of
> file:///C:/trex-dev/Trunk/Projects/BFW/bde.bfw.core/resources/
> transform.xslt:
>   XTDE0410: An attribute node (key) cannot be created after
> the children of the containing element
> ** Transformation error
>
> ; SystemID:
> file:///C:/trex-dev/Trunk/Projects/BFW/bde.bfw.core/resources/
> transform.xslt; Line#: 141; Column#: -1
> net.sf.saxon.trans.DynamicError: An attribute node (key)
> cannot be created after the children of the containing element
>       at
> net.sf.saxon.instruct.CopyOf.processLeavingTail(CopyOf.java:138)
>    An attribute node (key) cannot be created after the
> children of the containing element
>       at
> net.sf.saxon.instruct.Block.processLeavingTail(Block.java:330)
>       at
> net.sf.saxon.instruct.Instruction.process(Instruction.java:90)
>       at
> net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> tCreator.java:162)
>       at
> net.sf.saxon.instruct.Block.processLeavingTail(Block.java:330)
>       at net.sf.saxon.instruct.Template.expand(Template.java:95)
>       at
> net.sf.saxon.instruct.Template.processLeavingTail(Template.java:79)
>       at
> net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTempl
> ates.java:290)
>       at
> net.sf.saxon.instruct.ApplyTemplates.apply(ApplyTemplates.java:169)
>       at
> net.sf.saxon.instruct.ApplyTemplates.process(ApplyTemplates.java:129)
>       at
> net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> tCreator.java:162)
>       at net.sf.saxon.instruct.Copy.processLeavingTail(Copy.java:123)
>       at net.sf.saxon.instruct.Template.expand(Template.java:95)
>       at
> net.sf.saxon.instruct.Template.processLeavingTail(Template.java:79)
>       at
> net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTempl
> ates.java:290)
>       at
> net.sf.saxon.instruct.ApplyTemplates.apply(ApplyTemplates.java:169)
>       at
> net.sf.saxon.instruct.ApplyTemplates.process(ApplyTemplates.java:129)
>       at
> net.sf.saxon.instruct.ElementCreator.processLeavingTail(Elemen
> tCreator.java:162)
>       at net.sf.saxon.instruct.Copy.processLeavingTail(Copy.java:123)
>       at net.sf.saxon.instruct.Template.expand(Template.java:95)
>       at
> net.sf.saxon.instruct.Template.processLeavingTail(Template.java:79)
>       at
> net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTempl
> ates.java:290)
>       at
> net.sf.saxon.instruct.ApplyTemplates.apply(ApplyTemplates.java:169)
>       at
> net.sf.saxon.instruct.ApplyTemplates.process(ApplyTemplates.java:129)
>       at net.sf.saxon.instruct.Copy.processLeavingTail(Copy.java:170)
>       at net.sf.saxon.instruct.Template.expand(Template.java:95)
>       at
> net.sf.saxon.instruct.Template.processLeavingTail(Template.java:79)
>       at
> net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTempl
> ates.java:290)
>       at
> net.sf.saxon.Controller.transformDocument(Controller.java:1406)
>       at net.sf.saxon.Controller.transform(Controller.java:1234)
>      
>
> The strange situation is the saxon xslt 2.0 processor does
> not complain all attribute copy. Many <xsl:copy-of
> select="@*"/> work fine. I want to know do any of you
> experience this before? Have any clue?
>
>
> Thanks,
>  Jessica


Current Thread
Keywords