What's the difference between exclude-result-prefixes
and extension-element-prefix
? Both are used in the header of XSLTs. I've found extension-element-prefix
while using EXSLT and the EXSLT website Howto says that extension-element-prefix
is used for "prevent the extension namespaces from being output in the result tree".
But this is not true (using libxslt). Only exclude-result-prefixes
removes the extension namespace. So why do I need extension-element-prefix
???
Sample:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common" version="1.0"
extension-element-prefix="exsl">
<xsl:template match="/">
<blabla/>
</xsl:template>
</xsl:stylesheet>
My output with libxslt (xsltproc):
<?xml version="1.0"?>
<blabla xmlns:exsl="http://exslt.org/common"/>
extension-element-prefix
because I could remove it completely withhttp://exslt.org/common
. Seems the EXSLT documentation is wrong at this part. – Aftergrowth