You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sb...@locus.apache.org on 2000/03/02 21:39:18 UTC
cvs commit: xml-xalan/src/org/apache/xalan/xslt ElemTemplateElement.java
sboag 00/03/02 12:39:18
Modified: src/org/apache/xalan/xslt ElemTemplateElement.java
Log:
Allow non-xslt namespaces for isAttrOK. This now does exactly the same thing as Stylesheet.isAttrOK, except for the tokenization optimization. In response to
SPR #PDIK4GZRHZ.
Revision Changes Path
1.26 +17 -3 xml-xalan/src/org/apache/xalan/xslt/ElemTemplateElement.java
Index: ElemTemplateElement.java
===================================================================
RCS file: /home/cvs/xml-xalan/src/org/apache/xalan/xslt/ElemTemplateElement.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- ElemTemplateElement.java 2000/03/02 10:23:03 1.25
+++ ElemTemplateElement.java 2000/03/02 20:39:18 1.26
@@ -369,11 +369,25 @@
boolean isAttrOK(int tok, String attrName, AttributeList atts, int which)
throws SAXException
{
- boolean isXMLNS = (Constants.TATTRNAME_XMLNSDEF == tok)
+ boolean isAttrOK = (Constants.TATTRNAME_XMLNSDEF == tok)
|| attrName.startsWith(Constants.ATTRNAME_XMLNS);
- // TODO: Well, process it...
- return isXMLNS;
+ if(!isAttrOK)
+ {
+ int indexOfNSSep = attrName.indexOf(':');
+ if(indexOfNSSep >= 0)
+ {
+ String prefix = attrName.substring(0, indexOfNSSep);
+ String ns = m_stylesheet.getNamespaceForPrefixFromStack(prefix);
+ isAttrOK = (!ns.equals(XSLTEngineImpl.m_XSLNameSpaceURL));
+ }
+ else
+ {
+ isAttrOK = true; // default namespace, flag it as OK
+ }
+ }
+
+ return isAttrOK;
}
/**