You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by lu...@apache.org on 2002/10/28 20:25:47 UTC
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler JspDocumentParser.java
luehe 2002/10/28 11:25:47
Modified: jasper2/src/share/org/apache/jasper/compiler
JspDocumentParser.java
Log:
Added support for URIs of the form:
urn:jsptagdir:<path>
Revision Changes Path
1.21 +50 -25 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspDocumentParser.java
Index: JspDocumentParser.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspDocumentParser.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- JspDocumentParser.java 22 Oct 2002 03:00:20 -0000 1.20
+++ JspDocumentParser.java 28 Oct 2002 19:25:47 -0000 1.21
@@ -87,6 +87,7 @@
private static final String XMLNS_JSP = "xmlns:jsp";
private static final String JSP_VERSION = "version";
private static final String URN_JSPTLD = "urn:jsptld:";
+ private static final String URN_JSPTAGDIR = "urn:jsptagdir:";
private static final String LEXICAL_HANDLER_PROPERTY
= "http://xml.org/sax/properties/lexical-handler";
@@ -505,7 +506,8 @@
}
return new Node.CustomTag(attrs, start, qName, prefix, shortName,
- tagInfo, tagFileInfo, tagHandlerClass, parent);
+ tagInfo, tagFileInfo, tagHandlerClass,
+ parent);
}
/*
@@ -533,35 +535,58 @@
continue;
}
- // get the uri
- String uri = attrs.getValue(i);
- if (uri.startsWith(URN_JSPTLD)) {
- // uri value is of the form "urn:jsptld:path"
- uri = uri.substring(URN_JSPTLD.length());
- }
-
- TldLocationsCache cache
- = ctxt.getOptions().getTldLocationsCache();
- TagLibraryInfo tl = cache.getTagLibraryInfo(uri);
- if (tl == null) {
- // get the location
- String[] location = ctxt.getTldLocation(uri);
-
- tl = new TagLibraryInfoImpl(ctxt, parserController, prefix,
- uri, location, err);
- }
if( taglibs.containsKey( prefix ) ) {
// Prefix already in taglib map.
throw new JasperException( err.getString(
"jsp.error.xmlns.redefinition.notimplemented",
prefix ) );
}
- else {
- taglibs.put(prefix, tl);
- result.removeAttribute( i );
- }
+
+ // get the uri
+ String uri = attrs.getValue(i);
+
+ TagLibraryInfo tagLibInfo = null;
+ if (uri.startsWith(URN_JSPTAGDIR)) {
+ /*
+ * uri references tag file directory
+ * (is of the form "urn:jsptagdir:path")
+ */
+ String tagdir = uri.substring(URN_JSPTAGDIR.length());
+ tagLibInfo = new ImplicitTagLibraryInfo(ctxt,
+ parserController,
+ prefix,
+ tagdir,
+ err);
+ } else {
+ /*
+ * uri references TLD file
+ */
+ if (uri.startsWith(URN_JSPTLD)) {
+ // uri is of the form "urn:jsptld:path"
+ uri = uri.substring(URN_JSPTLD.length());
+ }
+
+ TldLocationsCache cache
+ = ctxt.getOptions().getTldLocationsCache();
+ tagLibInfo = cache.getTagLibraryInfo(uri);
+ if (tagLibInfo == null) {
+ // get the location
+ String[] location = ctxt.getTldLocation(uri);
+
+ tagLibInfo = new TagLibraryInfoImpl(ctxt,
+ parserController,
+ prefix,
+ uri,
+ location,
+ err);
+ }
+ }
+
+ taglibs.put(prefix, tagLibInfo);
+ result.removeAttribute( i );
}
}
+
return result;
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>