This is the valid style (work in my machine): page2svg.xsl
<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" > <xsl:template match="page"> <html> <head> <title><xsl:value-of select="title"/></title> </head> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template name="input-filter-text"> <xsl:param name="txt"/> <xsl:param name="size"/> <svg:text fill="red" font-family="TrebuchetMS-Bold" x="10" y="13" xmlns:svg="http://www.w3.org/2000/svg"> <xsl:attribute name="font-size"><xsl:value-of select="$size"/></xsl:attribute> <xsl:value-of select="$txt"/> </svg:text> </xsl:template> <xsl:template name="input-text"> <xsl:param name="txt"/> <xsl:param name="size"/> <xsl:param name="color"/> <xsl:param name="x"/> <xsl:param name="y"/> <svg:text font-family="TrebuchetMS-Bold" xmlns:svg="http://www.w3.org/2000/svg"> <xsl:attribute name="x"><xsl:value-of select="$x"/></xsl:attribute> <xsl:attribute name="y"><xsl:value-of select="$y"/></xsl:attribute> <xsl:attribute name="font-size"><xsl:value-of select="$size"/></xsl:attribute> <xsl:attribute name="fill"><xsl:value-of select="$color"/></xsl:attribute> <xsl:value-of select="$txt"/> </svg:text> </xsl:template> <xsl:template name="input-line"> <xsl:param name="x1"/> <xsl:param name="x2"/> <xsl:param name="y1"/> <xsl:param name="y2"/> <xsl:param name="color"/> <xsl:param name="width"/> <svg:g xmlns:svg="http://www.w3.org/2000/svg"> <xsl:attribute name="stroke"><xsl:value-of select="$color"/></xsl:attribute> <xsl:attribute name="stroke-width"><xsl:value-of select="$width"/></xsl:attribute> <svg:line> <xsl:attribute name="x1"><xsl:value-of select="$x1"/></xsl:attribute> <xsl:attribute name="y1"><xsl:value-of select="$y1"/></xsl:attribute> <xsl:attribute name="x2"><xsl:value-of select="$x2"/></xsl:attribute> <xsl:attribute name="y2"><xsl:value-of select="$y2"/></xsl:attribute> </svg:line> </svg:g> </xsl:template> <xsl:template name="input-poly"> <xsl:param name="points"/> <xsl:param name="color"/> <svg:polyline fill="none" stroke-width="1px" xmlns:svg="http://www.w3.org/2000/svg"> <xsl:attribute name="stroke"><xsl:value-of select="$color"/></xsl:attribute> <xsl:attribute name="points"><xsl:value-of select="$points"/></xsl:attribute> </svg:polyline> </xsl:template> <xsl:template name="input-rect"> <xsl:param name="width"/> <xsl:param name="fill"/> <xsl:param name="height"/> <svg:rect x="0" y="0" stroke="green" stroke-width="1px" xmlns:svg="http://www.w3.org/2000/svg"> <xsl:attribute name="fill"><xsl:value-of select="$fill"/></xsl:attribute> <xsl:attribute name="width"><xsl:value-of select="$width"/></xsl:attribute> <xsl:attribute name="height"><xsl:value-of select="$height"/></xsl:attribute> </svg:rect> </xsl:template> <xsl:template match="graph"> <svg:svg xmlns:svg="http://www.w3.org/2000/svg"> <xsl:attribute name="width"><xsl:value-of select="svg-width"/></xsl:attribute> <xsl:attribute name="height"><xsl:value-of select="svg-height"/></xsl:attribute> <svg:defs> <svg:filter id="blur1"><svg:feGaussianBlur stdDeviation="3"/></svg:filter> <svg:filter id="blur2"><svg:feGaussianBlur stdDeviation="1"/></svg:filter> </svg:defs> <xsl:apply-templates select="transform|ln|lnp|para|txt|ttxt|rect"/> </svg:svg> </xsl:template> <xsl:template match="transform"> <svg:g xmlns:svg="http://www.w3.org/2000/svg"> <xsl:attribute name="transform"><xsl:value-of select="value"/></xsl:attribute> <xsl:apply-templates select="transform|ln|lnp|para|txt|ttxt|rect"/> </svg:g> </xsl:template> <xsl:template match="rect"> <xsl:call-template name="input-rect"> <xsl:with-param name="fill"><xsl:value-of select="color"/></xsl:with-param> <xsl:with-param name="width"><xsl:value-of select="width"/></xsl:with-param> <xsl:with-param name="height"><xsl:value-of select="height"/></xsl:with-param> </xsl:call-template> </xsl:template> <xsl:template match="para"> <xsl:call-template name="input-filter-text"> <xsl:with-param name="txt"><xsl:value-of select="bod"/></xsl:with-param> <xsl:with-param name="size"><xsl:value-of select="size"/></xsl:with-param> </xsl:call-template> </xsl:template> <xsl:template match="txt"> <xsl:call-template name="input-text"> <xsl:with-param name="txt"><xsl:value-of select="bod"/></xsl:with-param> <xsl:with-param name="size">10</xsl:with-param> <xsl:with-param name="color">black</xsl:with-param> <xsl:with-param name="x"><xsl:value-of select="x"/></xsl:with-param> <xsl:with-param name="y"><xsl:value-of select="y"/></xsl:with-param> </xsl:call-template> </xsl:template> <xsl:template match="ttxt"> <xsl:call-template name="input-text"> <xsl:with-param name="txt"><xsl:value-of select="bod"/></xsl:with-param> <xsl:with-param name="size"><xsl:value-of select="size"/></xsl:with-param> <xsl:with-param name="color">black</xsl:with-param> <xsl:with-param name="x"><xsl:value-of select="x"/></xsl:with-param> <xsl:with-param name="y"><xsl:value-of select="y"/></xsl:with-param> </xsl:call-template> </xsl:template> <xsl:template match="lnp"> <xsl:call-template name="input-poly"> <xsl:with-param name="points"><xsl:value-of select="points"/></xsl:with-param> <xsl:with-param name="color"><xsl:value-of select="color"/></xsl:with-param> </xsl:call-template> </xsl:template> <xsl:template match="ln"> <xsl:call-template name="input-line"> <xsl:with-param name="x1"><xsl:value-of select="x1"/></xsl:with-param> <xsl:with-param name="x2"><xsl:value-of select="x2"/></xsl:with-param> <xsl:with-param name="y1"><xsl:value-of select="y1"/></xsl:with-param> <xsl:with-param name="y2"><xsl:value-of select="y2"/></xsl:with-param> <xsl:with-param name="color"><xsl:value-of select="color"/></xsl:with-param> <xsl:with-param name="width"><xsl:value-of select="width"/></xsl:with-param> </xsl:call-template> </xsl:template> <xsl:template match="@*|node()" priority="-2"> <xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy> </xsl:template> <xsl:template match="text()" priority="-1"> <xsl:value-of select="."/> </xsl:template> </xsl:stylesheet> Regards. Yury. --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>