cvs commit: jakarta-alexandria/src/java/org/apache/alexandria/doclets XMLDoclet.java

2003-04-01 Thread nicolaken
nicolaken2003/04/01 05:56:43

  Modified:src/java/org/apache/alexandria/doclets XMLDoclet.java
  Log:
  Change encoding to ISO-8859-1.
  
  Revision  ChangesPath
  1.3   +1 -1  
jakarta-alexandria/src/java/org/apache/alexandria/doclets/XMLDoclet.java
  
  Index: XMLDoclet.java
  ===
  RCS file: 
/home/cvs/jakarta-alexandria/src/java/org/apache/alexandria/doclets/XMLDoclet.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XMLDoclet.java17 Mar 2003 14:50:25 -  1.2
  +++ XMLDoclet.java1 Apr 2003 13:56:43 -   1.3
  @@ -65,7 +65,7 @@
   public class XMLDoclet extends Doclet {
   
   private String xmlns = jvx;
  -private String encodingFormat=UTF-8;
  +private String encodingFormat=ISO-8859-1;
   private String localName = javadoc;
   private ContentHandler cm = null;
   private String targetFileName=simple.xml;
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-alexandria/src/java/org/apache/alexandria/doclets XMLDoclet.java

2003-04-01 Thread nicolaken
nicolaken2003/04/01 08:35:26

  Modified:src/java/org/apache/alexandria/doclets XMLDoclet.java
  Log:
  Convert to use JAXP.
  
  Revision  ChangesPath
  1.4   +72 -56
jakarta-alexandria/src/java/org/apache/alexandria/doclets/XMLDoclet.java
  
  Index: XMLDoclet.java
  ===
  RCS file: 
/home/cvs/jakarta-alexandria/src/java/org/apache/alexandria/doclets/XMLDoclet.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XMLDoclet.java1 Apr 2003 13:56:43 -   1.3
  +++ XMLDoclet.java1 Apr 2003 16:35:26 -   1.4
  @@ -52,7 +52,9 @@
   import java.io.*;
   import java.util.*;
   import com.sun.javadoc.*;
  -import org.apache.xml.serialize.*;
  +import javax.xml.transform.*;
  +import javax.xml.transform.sax.*;
  +import javax.xml.transform.stream.*;
   import org.xml.sax.*;
   import org.xml.sax.helpers.*;
   
  @@ -60,6 +62,7 @@
* Main Doclet class to generate JavaDocXML.  This doclet generates the
* document conforming to DTD specified in javadoc-v04draft.dtd.
* @author a href=mailto:[EMAIL PROTECTED]Gopinath M.R./a
  + * @author a href=mailto:[EMAIL PROTECTED]Nicola Ken Barozzi/a
*/
   
   public class XMLDoclet extends Doclet {
  @@ -67,27 +70,35 @@
   private String xmlns = jvx;
   private String encodingFormat=ISO-8859-1;
   private String localName = javadoc;
  -private ContentHandler cm = null;
  +private TransformerHandler handler = null;
   private String targetFileName=simple.xml;
   private Attributes emptyAtts = new AttributesImpl();
   
   public XMLDoclet (RootDoc root) throws Exception {
  -FileWriter writer = new FileWriter(targetFileName);
  -try {
  -OutputFormat format = new OutputFormat();
  -format.setEncoding(encodingFormat);
  -format.setIndenting(true);
  -format.setIndent(4);
  -format.setLineWidth(4);
  -format.setDoctype(-//APACHE//DTD JavaDoc V0.4//EN, 
javadoc-v04draft.dtd);
  -XMLSerializer serializer = new XMLSerializer(writer, format);
  -cm = serializer.asContentHandler();
  -javadocXML(root);
  -writer.close();
  -} catch (IOException e) {
  -writer.close();
  -throw e;
  -}
  +
  +  SAXTransformerFactory tFactory = (SAXTransformerFactory) 
SAXTransformerFactory.newInstance();
  +  if (!(tFactory.getFeature(javax.xml.transform.sax.SAXSource.FEATURE)  
  +tFactory.getFeature(javax.xml.transform.stream.StreamResult.FEATURE))){
  +  
  +throw new Exception(The supplied TrAX transformer library is inadeguate.+
  +Please upgrade to the latest version.);
  +  }
  +  
  + File writer = new File(targetFileName);
  + StreamResult result = new StreamResult(writer);
  +
  +  // SAX2.0 ContentHandler.
  +  handler = tFactory.newTransformerHandler();
  +
  +  Transformer serializer = handler.getTransformer();
  +  serializer.setOutputProperty(OutputKeys.ENCODING, encodingFormat);
  +  serializer.setOutputProperty(OutputKeys.INDENT , yes);  
  +  serializer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC , -//APACHE//DTD 
JavaDoc V0.4//EN);   
  +  serializer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM , 
javadoc-v04draft.dtd);
  +
  +  handler.setResult(result);
  +
  +  javadocXML(root);
   }
   
   /**
  @@ -95,7 +106,10 @@
* xmp!ELEMENT javadoc (package*, class*, interface*)/xmp
*/
   private void javadocXML(RootDoc root) throws SAXException {
  -cm.startElement(xmlns, localName, javadoc, emptyAtts);
  +   
  +handler.startDocument();
  + 
  +handler.startElement(xmlns, localName, javadoc, emptyAtts);
   PackageDoc[] packageArray = root.specifiedPackages();
   
   // Generate for packages.
  @@ -120,7 +134,9 @@
   ClassDoc interfaceDoc = (ClassDoc)interfaceEnum.nextElement();
   interfaceXML(interfaceDoc);
   }
  -cm.endElement(xmlns, localName, javadoc);
  +handler.endElement(xmlns, localName, javadoc);
  +
  +handler.endDocument();
   }
   
  /**
  @@ -132,7 +148,7 @@
   private void packageXML(PackageDoc packageDoc) throws SAXException {
   AttributesImpl atts = new AttributesImpl();
   atts.addAttribute(xmlns, localName, name, String, packageDoc.name());
  -cm.startElement(xmlns, localName, package, atts);
  +handler.startElement(xmlns, localName, package, atts);
   
   // generate Doc element.
   docXML(packageDoc);
  @@ -163,7 +179,7 @@
   interfaceXML(interfaceArray[i]);
   }
   
  -cm.endElement(xmlns, localName, package);
  +