DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=5141>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=5141

xsltc incorrectly output ?> in data part of PI (output72)

           Summary: xsltc incorrectly output ?> in data part of PI
                    (output72)
           Product: XalanJ2
           Version: 2.0.0
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Minor
          Priority: Other
         Component: org.apache.xalan.xsltc
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


The output72 test is designed to test against section 7.3 in the XSLT 1.0 spec,
where the very last section states: 

  "[...]It is an error if the result of instantiating the content of the
   xsl:processing-instruction contains the string ?>. An XSLT processor may
  signal the error; if it does not signal the error, it must recover by
  inserting a space after any occurrence of ? that is followed by a >.". 

Other processors output '? >', xsltc outputs '?>'.

Running xalan on output72
<?xml version="1.0" encoding="UTF-8"?>

  <out><?my-pi href="book.css" type="text/css"?><?mytag Hello
       ? >
  ?></out>

Running XSLTC with Xerces Parser on output72
<?xml version="1.0" encoding="UTF-8" ?>

  <out><?my-pi href="book.css" type="text/css"?><?mytag Hello
       ?>
  ?></out>

output72.xsl
------------
<?xml version="1.0"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0">

  <!-- FileName: outp72 -->
  <!-- Document: http://www.w3.org/TR/xslt -->
  <!-- DocVersion: 19991116 -->
  <!-- Section: 7.3 Creating Processing Instructions. -->
  <!-- Purpose: Test the generation of Processing instructions. -->

<xsl:template match="doc/tag">
<out>
  <?PI1 Dothis ?>
  <?PI2 Dothat ?>
  <xsl:processing-instruction name="my-pi">href="book.css"
type="text/css"</xsl:processing-instruction>
  <xsl:processing-instruction name="mytag">
      <xsl:value-of select="."/>
       ?>
  </xsl:processing-instruction>
</out>
</xsl:template>
 
</xsl:stylesheet> 

output72.xml
------------
<?xml version="1.0"?> 
<doc>
  <tag>Hello</tag>
</doc>

Reply via email to