DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13106>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13106 Abbreviated syntax for Java extensions no longer works Summary: Abbreviated syntax for Java extensions no longer works Product: XalanJ2 Version: 2.4 Platform: Other OS/Version: Other Status: NEW Severity: Critical Priority: Other Component: org.apache.xalan.xsltc AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] My stylesheet worked just fine up to and including under Xalan 2.3.1. Since I moved to Xalan 2.4.0, I get errors. I haven't changed anything in the stylesheet. I can't find anything wrong with how I declared the extension, using the abbreviated notation discussed in the documentation. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:validator="xalan://com.jeantessier.diff.Validator" xmlns:listvalidator="xalan://com.jeantessier.diff.ListBasedValidator" exclude-result-prefixes="validator"> The error is, from running org.apache.xalan.xslt.Process with -edump: org.apache.xpath.XPathProcessorException: Extension function xalan://com.jeantessier.diff.Validator : IsPackageAllowed is unknown at org.apache.xalan.extensions.ExtensionsTable.extFunction (ExtensionsTable.java:241) at org.apache.xalan.transformer.TransformerImpl.extFunction (TransformerImpl.java:460) at org.apache.xpath.functions.FuncExtFunction.execute (FuncExtFunction.java:196) at org.apache.xpath.patterns.StepPattern.executePredicates (StepPattern.java:765) at org.apache.xpath.patterns.StepPattern.execute(StepPattern.java:443) at org.apache.xalan.templates.TemplateList.getTemplateFast (TemplateList.java:593) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes (ElemApplyTemplates.java:327) at org.apache.xalan.templates.ElemApplyTemplates.execute (ElemApplyTemplates.java:215) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java:2324) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java:710) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java:2324) at org.apache.xalan.templates.ElemLiteralResult.execute (ElemLiteralResult.java:710) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes (ElemApplyTemplates.java:426) at org.apache.xalan.templates.ElemApplyTemplates.execute (ElemApplyTemplates.java:215) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates (TransformerImpl.java:2324) at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode (TransformerImpl.java:2147) at org.apache.xalan.transformer.TransformerImpl.transformNode (TransformerImpl.java:1203) at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java:665) at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java:1119) at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java:1097) at org.apache.xalan.xslt.Process.main(Process.java:893) I tried the full notation and it works fine. It seems that somewhere between 2.3.1 and 2.4.0, someone took out the abbreviated notation. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:lxslt="http://xml.apache.org/xslt" xmlns:validator="Validator" xmlns:listvalidator="ListBasedValidator" exclude-result-prefixes="validator listvalidator"> <lxslt:component prefix="validator"> <lxslt:script lang="javaclass" src="xalan://com.jeantessier.diff.Validator"/> </lxslt:component> <lxslt:component prefix="listvalidator"> <lxslt:script lang="javaclass" src="xalan://com.jeantessier.diff.ListBasedValidator"/> </lxslt:component> According to the documentation, these two forms should be equivalent, but one works and the other doesn't.
