note 63666 added to ref.xslt
| From: | bat at flurf dot net | Date: | Tue, 28 Mar 2006 00:40:29 +0000 |
| Subject: | note 63666 added to ref.xslt | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-106796@lists.php.net to get a copy of this message | ||
maurits says that libxslt should be preferred over Sablotron, but I disagree. libxslt only
implements a fraction of the capabilities of Sablotron; in particular, this doesn't work in
libxslt:
<xsl:variable name="x">
<a>One</a>
<a>Two</a>
<a>Three</a>
</xsl:variable>
<xsl:for-each select="$x/a">
<xsl:value-of select="."/>
</xsl:for-each>
In Sablotron, which implements XSLT 1.1, this works fine. In libxslt's version, XSLT 1.0, a
variable is a "result tree fragment", not a nodeset, and you are arbitrarily not allowed
to do as much with it.
Further, Sablotron allows callbacks via the document() function (see information on
xslt_set_scheme_handler()) and appears to give /slightly/ more informative error messages -- they
identify the line number in the XSLT file at least.
In general, I can't recommend libxslt, which appears very underpowered. Sablotron is
considerably more impressive.
----
Server IP: 203.220.0.234
Probable Submitter: 152.91.8.100 (proxied: unknown)
----
X-Spam-Status: No, hits=3.3 required=5.0 tests=DATE_MISSING,FROM_NO_LOWER,
HTML_MESSAGE autolearn=no version=2.64
----
Manual Page -- http://www.php.net/manual/en/ref.xslt.php
Edit -- http://master.php.net/note/edit/63666
Del: integrated -- http://master.php.net/note/delete/63666/integrated
Del: useless -- http://master.php.net/note/delete/63666/useless
Del: bad code -- http://master.php.net/note/delete/63666/bad+code
Del: spam -- http://master.php.net/note/delete/63666/spam
Del: non-english -- http://master.php.net/note/delete/63666/non-english
Del: in docs -- http://master.php.net/note/delete/63666/in+docs
Del: other reasons-- http://master.php.net/note/delete/63666
Reject -- http://master.php.net/note/reject/63666
Search -- http://master.php.net/manage/user-notes.php