Committed several changes to Arabica::XPath today to finish off compiling and executing XSLT patterns (with the exception of the id and key functions). Tweaked dev code to use these changes and rebuilt.
One of the nice things about implementing a spec which is going on seven years old is that there are existing implementations you can use for reference. Most peoples XSLT implementation of choice is Saxon, so I'm mainly using that. I'm thrilled to announce then, that for a very, very, very simple stylesheet
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:text disable-output-escaping="yes">yes: & poo + </xsl:text> <xsl:text disable-output-escaping="no">no : & poo + </xsl:text> <xsl:text>def: & poo</xsl:text> <xsl:apply-templates/> </xsl:template> <xsl:template match="*"> hello </xsl:template> </xsl:stylesheet>my code matches Saxon (modulo whitespace) and is also significantly faster :D