I use the following form: <xtags:style xsl="/includes/menuSec.xsl"> <jsp:include page="/includes/menu.xml.jsp"/> </xtags:style> If I try to use similar construction on the same page I get org.xml.sax.SAXParseException: The root element is required in a well-formed document because field "xml" in StyleTag.java still holds the old StringReader value (obtained in doAfterBody() of the first tag call). The fix is to set "xml" and "xsl" to null in doEndTag() like it is done in release(). According to spec, release() is only guaranteed to be called before the class instance is garbage collected. I use Resin 2.0.5.
Resolving. Taglib has been retired.