Hello,
I've attached a patch for a couple issues. First, I've added a
filename attribute to the <jsptaglib> tag so that you can specify a
name other than "taglib.tld". Second, I've updated taglib_tld.j to
work with JSP version 1.2. Some things changed in the DTD like
<tagclass> is now <tag-class>.
-Dave
Index: core/resources/xdoclet/web/taglib_tld.j
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet/core/resources/xdoclet/web/taglib_tld.j,v
retrieving revision 1.7
diff -u -r1.7 taglib_tld.j
--- core/resources/xdoclet/web/taglib_tld.j 2001/09/19 16:26:11 1.7
+++ core/resources/xdoclet/web/taglib_tld.j 2001/10/22 06:28:06
@@ -59,6 +59,7 @@
<XDoclet:forAllClasses
type="javax.servlet.jsp.tagext.Tag,javax.servlet.jsp.tagext.TagSupport">
<tag>
+ <XDoclet:ifConfigParamEquals paramName="Jspversion" value="1.1">
<name><XDoclet:classTagValue tagName="jsp:tag" paramName="name"/></name>
<tagclass><XDoclet:fullClassName/></tagclass>
<XDoclet:ifHasClassTag tagName="jsp:tag" paramName="tei-class">
@@ -127,6 +128,77 @@
<XDoclet:merge file="tag-example-{0}.xml">
</XDoclet:merge>
+ </XDoclet:ifConfigParamEquals>
+ <XDoclet:ifConfigParamEquals paramName="Jspversion" value="1.2">
+ <name><XDoclet:classTagValue tagName="jsp:tag" paramName="name"/></name>
+ <tag-class><XDoclet:fullClassName/></tag-class>
+ <XDoclet:ifHasClassTag tagName="jsp:tag" paramName="tei-class">
+ <tei-class><XDoclet:classTagValue tagName="jsp:tag"
+paramName="tei-class"/></tei-class>
+ </XDoclet:ifHasClassTag>
+ <XDoclet:ifHasClassTag tagName="jsp:tag" paramName="body-content"
+values="JSP,empty,tagdependent">
+ <body-content><XDoclet:classTagValue tagName="jsp:tag"
+paramName="body-content"/></body-content>
+ </XDoclet:ifHasClassTag>
+ <XDoclet:ifHasClassTag tagName="jsp:tag" paramName="display-name">
+ <display-name><XDoclet:classTagValue tagName="jsp:tag"
+paramName="display-name"/></display-name>
+ </XDoclet:ifHasClassTag>
+ <XDoclet:ifHasClassTag tagName="jsp:tag" paramName="small-icon">
+ <small-icon><XDoclet:classTagValue tagName="jsp:tag"
+paramName="small-icon"/></small-icon>
+ </XDoclet:ifHasClassTag>
+ <XDoclet:ifHasClassTag tagName="jsp:tag" paramName="large-icon">
+ <large-icon><XDoclet:classTagValue tagName="jsp:tag"
+paramName="large-icon"/></large-icon>
+ </XDoclet:ifHasClassTag>
+ <XDoclet:ifHasClassTag tagName="jsp:tag" paramName="description">
+ <description><XDoclet:classTagValue tagName="jsp:tag"
+paramName="description"/></description>
+ </XDoclet:ifHasClassTag>
+
+ <XDoclet:forAllClassTags tagName="jsp:variable">
+ <variable>
+ <XDoclet:ifHasClassTag tagName="jsp:variable" paramName="name-given">
+ <name-given><XDoclet:classTagValue tagName="jsp:variable"
+paramName="name-given"/></name-given>
+ </XDoclet:ifHasClassTag>
+ <XDoclet:ifDoesntHaveClassTag tagName="jsp:variable" paramName="name-given">
+ <XDoclet:ifHasClassTag tagName="jsp:variable" paramName="name-from-attribute">
+ <name-from-attribute><XDoclet:classTagValue tagName="jsp:variable"
+paramName="name-from-attribute"/></name-from-attribute>
+ </XDoclet:ifHasClassTag>
+ </XDoclet:ifDoesntHaveClassTag>
+ <XDoclet:ifHasClassTag tagName="jsp:variable" paramName="class">
+ <variable-class><XDoclet:classTagValue tagName="jsp:variable"
+paramName="class"/></variable-class>
+ </XDoclet:ifHasClassTag>
+ <XDoclet:ifHasClassTag tagName="jsp:variable" paramName="declare">
+ <declare><XDoclet:classTagValue tagName="jsp:variable" paramName="declare"
+values="true,false,yes,no"/></declare>
+ </XDoclet:ifHasClassTag>
+ <XDoclet:ifHasClassTag tagName="jsp:variable" paramName="scope">
+ <scope><XDoclet:classTagValue tagName="jsp:variable" paramName="scope"
+values="NESTED,AT_BEGIN,AT_END"/></scope>
+ </XDoclet:ifHasClassTag>
+ <XDoclet:ifHasClassTag tagName="jsp:variable" paramName="description">
+ <description><XDoclet:classTagValue tagName="jsp:variable"
+paramName="description"/></description>
+ </XDoclet:ifHasClassTag>
+ </variable>
+ </XDoclet:forAllClassTags>
+
+ <XDoclet:forAllMethods>
+ <XDoclet:ifHasMethodTag tagName="jsp:attribute">
+ <attribute>
+ <name><XDoclet:propertyName/></name>
+ <XDoclet:ifHasMethodTag tagName="jsp:attribute" paramName="required">
+ <required><XDoclet:methodTagValue tagName="jsp:attribute"
+paramName="required" values="true,false,yes,no"/></required>
+ </XDoclet:ifHasMethodTag>
+ <XDoclet:ifHasMethodTag tagName="jsp:attribute" paramName="rtexprvalue">
+ <rtexprvalue><XDoclet:methodTagValue tagName="jsp:attribute"
+paramName="rtexprvalue" values="true,false,yes,no"/></rtexprvalue>
+ </XDoclet:ifHasMethodTag>
+ <XDoclet:ifHasMethodTag tagName="jsp:attribute" paramName="type">
+ <type><XDoclet:methodType/></type>
+ </XDoclet:ifHasMethodTag>
+ <XDoclet:ifHasMethodTag tagName="jsp:attribute" paramName="description">
+ <description><XDoclet:methodTagValue tagName="jsp:attribute"
+paramName="description"/></description>
+ </XDoclet:ifHasMethodTag>
+ </attribute>
+ </XDoclet:ifHasMethodTag>
+ </XDoclet:forAllMethods>
+
+ <XDoclet:merge file="tag-example-{0}.xml">
+ </XDoclet:merge>
+ </XDoclet:ifConfigParamEquals>
</tag>
</XDoclet:forAllClasses>
Index: core/src/xdoclet/web/JspTaglibSubTask.java
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet/core/src/xdoclet/web/JspTaglibSubTask.java,v
retrieving revision 1.6
diff -u -r1.6 JspTaglibSubTask.java
--- core/src/xdoclet/web/JspTaglibSubTask.java 2001/08/14 22:03:07 1.6
+++ core/src/xdoclet/web/JspTaglibSubTask.java 2001/10/22 06:28:06
@@ -32,8 +32,8 @@
protected String smallicon = "";
protected String largeicon = "";
protected String description = "";
+ protected String filename = "taglib.tld";
private static String DEFAULT_TEMPLATE_FILE = "taglib_tld.j";
- private static String GENERATED_FILE_NAME = "taglib.tld";
public void setXmlencoding( String xmlEncoding )
{
@@ -80,6 +80,11 @@
description = new_description;
}
+ public void setFilename( String new_filename )
+ {
+ filename = new_filename;
+ }
+
public String getXmlencoding()
{
return xmlEncoding;
@@ -125,11 +130,16 @@
return description;
}
+ public String getFilename()
+ {
+ return filename;
+ }
+
public void execute() throws BuildException
{
Category cat = getCategory( JspTaglibSubTask.class, "execute" );
- System.out.println( "Create " + GENERATED_FILE_NAME );
- generateFileUsingTemplate( GENERATED_FILE_NAME, DEFAULT_TEMPLATE_FILE
);
+ System.out.println( "Create " + filename );
+ generateFileUsingTemplate( filename, DEFAULT_TEMPLATE_FILE );
}
/**