Date: 03/22/01
- Next message: john <email protected>: "[PHP-DEV] PHP 4.0 Bug #9924: Warning: Undefined index: Service[1]"
- Previous message: m.fanciulli <email protected>: "[PHP-DEV] PHP 4.0 Bug #9922: Error compiling Zend Parser"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
From: A.Veremyev <email protected>
Operating system: Linux
PHP version: 4.0.3pl1
PHP Bug Type: Sablotron XSL
Bug description: Wrong behavior of xsl output method 'html'
The "W3C Recommendation 16 November 1999" says:
-----------------------------
The html output method should not perform escaping for the content of the script and style elements. For example, a literal result element written in the stylesheet as
<script>if (a < b) foo()</script>
or
<script><![CDATA[if (a < b) foo()]]></script>
should be output as
<script>if (a < b) foo()</script>
[...]
-----------------------------
But Sablotron's xslt_run() function outputs
'if (a < b) foo()'
It also violates other constraints described in the section 16.2 HTML Output Method (http://www.w3.org/TR/xslt#section-HTML-Output-Method) of the "W3C Recommendation 16 November 1999".
---------------------------------------------------------
Example:
------ test1.php -------------------------------
<?php
$parser = xslt_create();
xslt_run($parser, './test1.xsl', './test1.xml');
print xslt_fetch_result($parser);
xslt_free($parser);
?>
------------------------------------------------
------ test1.xml -------------------------------
<?xml version="1.0"?>
<articles>
<article>
<title>Title 1</title>
<author>Author 1</author>
<comment>
Comment 1
</comment>
</article>
<article>
<title>Title 2</title>
<author>Author 2</author>
<comment>
Comment 2
</comment>
</article>
</articles>
------------------------------------------------
------ test1.xsl -------------------------------
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<xsl:apply-templates/>
</html>
</xsl:template>
<xsl:template match="articles">
<HEAD>
<TITLE>XML/XSLT test
</TITLE>
<script>if (a < b) foo()</script>
<script><![CDATA[if (a < b) foo()]]></script>
</HEAD>
<body>
<H1>Test</H1>
<hr/>
<table border="1">
<xsl:apply-templates select="article"/>
</table>
</body>
</xsl:template>
<xsl:template match="article">
<tr>
<td width="30%">
<xsl:value-of select="title"/>
</td>
<td width="20%">
<xsl:value-of select="title"/>
</td>
<td width="20%">
<xsl:value-of select="comment"/>
</td>
</tr>
</xsl:template>
</xsl:stylesheet>
------------------------------------------------
------ output ----------------------------------
<html><HEAD><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><TITLE>XML/XSLT test
</TITLE><script>if (a < b) foo()</script><script>if (a < b) foo()</script></HEAD><body><H1>Test</H1><hr><table border="1"><tr><td width="30%">Title 1</td><td width="20%">Title 1</td><td width="20%">
Comment 1
</td></tr><tr><td width="30%">Title 2</td><td width="20%">Title 2</td><td width="20%">
Comment 2
</td></tr></table></body></html>
------------------------------------------------
-- Edit Bug report at: http://bugs.php.net/?id=9923&edit=1-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>
- Next message: john <email protected>: "[PHP-DEV] PHP 4.0 Bug #9924: Warning: Undefined index: Service[1]"
- Previous message: m.fanciulli <email protected>: "[PHP-DEV] PHP 4.0 Bug #9922: Error compiling Zend Parser"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

