[xsl] XSLT2.0 compatibility

Subject: [xsl] XSLT2.0 compatibility
From: "Lin, Jessica" <jlin@xxxxxxxxxxx>
Date: Fri, 1 Sep 2006 17:54:24 -0700
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(ElementCreator.java:1
62)
      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(ApplyTemplates.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(ElementCreator.java:1
62)
      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(ApplyTemplates.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(ElementCreator.java:1
62)
      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(ApplyTemplates.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(ApplyTemplates.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