[xml] continued problem with Python, libxml2 and entities



The continuing saga!

I seem to have moved the entity issue from libxml2 to libxslt...

Using the following testcase (using a standard identity transformation) now loses the entity.

replacing <xsl:copy> with <xsl:copy-of> on the <p> node produces output with the entity, as does using <xsl:value-of> on the same node.

===test.py===
import libxml2
import libxslt

sourcedoc = libxml2.parseFile( 'test.xml' )
styledoc = libxml2.parseFile( 'test.xsl' )
style = libxslt.parseStylesheetDoc(styledoc)
result = style.applyStylesheet(sourcedoc, None)
print style.saveResultToString( result )
style.freeStylesheet()
result.freeDoc()
sourcedoc.freeDoc()


===test.xml===
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="test.xsl" ?>

<!DOCTYPE content [
        <!ENTITY copy "&#169;">
]>

<content>
        <p>&copy;2007</p>
</content>


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

<xsl:template match="/">
        <xsl:apply-templates match="." />
</xsl:template>

<xsl:template match="@*|node()">
        <xsl:copy>
                <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
</xsl:template>

</xsl:stylesheet>


Cheers
Mike Kneller
ukchill mac com
http://www.mikekneller.com




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]