rwaldhoff 2002/10/23 16:54:16 Modified: jelly/src/java/org/apache/commons/jelly/util TagXMLDoclet.java Log: add nominal support for {@link} tags within the tag reference (better still to link these to the appropriate tag if available, but this at least renders correctly) Revision Changes Path 1.4 +35 -27 jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/util/TagXMLDoclet.java Index: TagXMLDoclet.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/util/TagXMLDoclet.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- TagXMLDoclet.java 22 Jul 2002 10:49:11 -0000 1.3 +++ TagXMLDoclet.java 23 Oct 2002 23:54:16 -0000 1.4 @@ -81,6 +81,7 @@ * * @author <a href="mailto:gopi@;aztecsoft.com">Gopinath M.R.</a> * @author <a href="mailto:jstrachan@;apache.org">James Strachan</a> + * @author Rodney Waldhoff */ // #### somehow we need to handle taglib inheritence... @@ -276,38 +277,45 @@ */ private void docXML(Doc doc) throws SAXException { cm.startElement(xmlns, localName, "doc", emptyAtts); - String commentText = doc.commentText(); - if (! commentText.equals("")) { - parseHTML(commentText); - // cm.characters(commentText.toCharArray(), 0, commentText.length()); - } - Tag[] tags = doc.tags(); - for (int i = 0; i < tags.length; ++i) { - javadocTagXML(tags[i]); - } - cm.endElement(xmlns, localName, "doc"); -/* - String commentText = ""; - boolean createDoc = false; - commentText = doc.commentText(); - if (! commentText.equals("")) { - createDoc = true; - } - Tag[] tags = doc.tags(); - if (tags.length > 0) { - createDoc = true; - } - if (createDoc) { - cm.startElement(xmlns, localName, "doc", emptyAtts); - if (! commentText.equals("")) { - cm.characters(commentText.toCharArray(), 0, commentText.length()); + // handle the "comment" part, including {@link} tags + { + Tag[] tags = doc.inlineTags(); + for(int i=0;i<tags.length;i++) { + // if tags[i] is an @link tag + if(tags[i] instanceof SeeTag) { + String label = ((SeeTag)tags[i]).label(); + // if the label is null or empty, use the class#member part of the link + if(null == label || "".equals(label)) { + StringBuffer buf = new StringBuffer(); + String className = ((SeeTag)tags[i]).referencedClassName(); + if("".equals(className)) { className = null; } + String memberName = ((SeeTag)tags[i]).referencedMemberName(); + if("".equals(memberName)) { memberName = null; } + if(null != className) { + buf.append(className); + if(null != memberName) { + buf.append("."); + } + } + if(null != memberName) { + buf.append(memberName); + } + label = buf.toString(); + } + parseHTML(label); + } else { + parseHTML(tags[i].text()); + } } + } + // handle the "tags" part + { + Tag[] tags = doc.tags(); for (int i = 0; i < tags.length; ++i) { javadocTagXML(tags[i]); } - cm.endElement(xmlns, localName, "doc"); } -*/ + cm.endElement(xmlns, localName, "doc"); } protected void parseHTML(String text) throws SAXException {
-- To unsubscribe, e-mail: <mailto:commons-dev-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:commons-dev-help@;jakarta.apache.org>