nu.validator.htmlparser.sax
Class XmlSerializer

java.lang.Object
  extended by nu.validator.htmlparser.sax.XmlSerializer
All Implemented Interfaces:
ContentHandler, LexicalHandler
Direct Known Subclasses:
NameCheckingXmlSerializer

public class XmlSerializer
extends Object
implements ContentHandler, LexicalHandler


Nested Class Summary
private  class XmlSerializer.PrefixMapping
           
private  class XmlSerializer.StackNode
           
 
Field Summary
private  LinkedList<XmlSerializer.StackNode> stack
           
private static Map<String,String> WELL_KNOWN_ATTRIBUTE_PREFIXES
           
private static Map<String,String> WELL_KNOWN_ELEMENT_PREFIXES
           
private  Writer writer
           
 
Constructor Summary
XmlSerializer(OutputStream out)
           
XmlSerializer(Writer out)
           
 
Method Summary
 void characters(char[] ch, int start, int length)
           
protected  void checkNCName(String name)
           
 void comment(char[] ch, int start, int length)
           
 void endCDATA()
           
 void endDocument()
           
 void endDTD()
           
 void endElement(String uri, String localName, String qName)
           
 void endEntity(String name)
           
 void endPrefixMapping(String prefix)
           
private  void generatePrefix(String uri)
           
 void ignorableWhitespace(char[] ch, int start, int length)
           
private  String lookupPrefixAttribute(String ns)
           
private  String lookupUri(String prefix)
           
private  String pop()
           
 void processingInstruction(String target, String data)
           
private  void push(String uri, String local, String prefix)
           
 void setDocumentLocator(Locator locator)
           
 void skippedEntity(String name)
           
 void startCDATA()
           
 void startDocument()
           
 void startDTD(String name, String publicId, String systemId)
           
 void startElement(String uri, String localName, String q, Attributes atts)
           
 void startEntity(String name)
           
 void startPrefixMapping(String prefix, String uri)
           
 void startPrefixMappingPrivate(String prefix, String uri)
           
private static Writer wrap(OutputStream out)
           
private  void writeAttributeValue(String val)
           
private  boolean xmlNsQname(String name)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WELL_KNOWN_ATTRIBUTE_PREFIXES

private static final Map<String,String> WELL_KNOWN_ATTRIBUTE_PREFIXES

WELL_KNOWN_ELEMENT_PREFIXES

private static final Map<String,String> WELL_KNOWN_ELEMENT_PREFIXES

stack

private final LinkedList<XmlSerializer.StackNode> stack

writer

private final Writer writer
Constructor Detail

XmlSerializer

public XmlSerializer(OutputStream out)

XmlSerializer

public XmlSerializer(Writer out)
Method Detail

wrap

private static final Writer wrap(OutputStream out)

checkNCName

protected void checkNCName(String name)
                    throws SAXException
Throws:
SAXException

push

private final void push(String uri,
                        String local,
                        String prefix)

pop

private final String pop()

lookupPrefixAttribute

private final String lookupPrefixAttribute(String ns)

lookupUri

private final String lookupUri(String prefix)

xmlNsQname

private final boolean xmlNsQname(String name)

writeAttributeValue

private final void writeAttributeValue(String val)
                                throws IOException
Throws:
IOException

generatePrefix

private final void generatePrefix(String uri)
                           throws SAXException
Throws:
SAXException

characters

public final void characters(char[] ch,
                             int start,
                             int length)
                      throws SAXException
Specified by:
characters in interface ContentHandler
Throws:
SAXException

endDocument

public final void endDocument()
                       throws SAXException
Specified by:
endDocument in interface ContentHandler
Throws:
SAXException

endElement

public final void endElement(String uri,
                             String localName,
                             String qName)
                      throws SAXException
Specified by:
endElement in interface ContentHandler
Throws:
SAXException

ignorableWhitespace

public final void ignorableWhitespace(char[] ch,
                                      int start,
                                      int length)
                               throws SAXException
Specified by:
ignorableWhitespace in interface ContentHandler
Throws:
SAXException

processingInstruction

public final void processingInstruction(String target,
                                        String data)
                                 throws SAXException
Specified by:
processingInstruction in interface ContentHandler
Throws:
SAXException

setDocumentLocator

public final void setDocumentLocator(Locator locator)
Specified by:
setDocumentLocator in interface ContentHandler

startDocument

public final void startDocument()
                         throws SAXException
Specified by:
startDocument in interface ContentHandler
Throws:
SAXException

startElement

public final void startElement(String uri,
                               String localName,
                               String q,
                               Attributes atts)
                        throws SAXException
Specified by:
startElement in interface ContentHandler
Throws:
SAXException

comment

public final void comment(char[] ch,
                          int start,
                          int length)
                   throws SAXException
Specified by:
comment in interface LexicalHandler
Throws:
SAXException

endCDATA

public final void endCDATA()
                    throws SAXException
Specified by:
endCDATA in interface LexicalHandler
Throws:
SAXException

endDTD

public final void endDTD()
                  throws SAXException
Specified by:
endDTD in interface LexicalHandler
Throws:
SAXException

endEntity

public final void endEntity(String name)
                     throws SAXException
Specified by:
endEntity in interface LexicalHandler
Throws:
SAXException

startCDATA

public final void startCDATA()
                      throws SAXException
Specified by:
startCDATA in interface LexicalHandler
Throws:
SAXException

startDTD

public final void startDTD(String name,
                           String publicId,
                           String systemId)
                    throws SAXException
Specified by:
startDTD in interface LexicalHandler
Throws:
SAXException

startEntity

public final void startEntity(String name)
                       throws SAXException
Specified by:
startEntity in interface LexicalHandler
Throws:
SAXException

startPrefixMapping

public final void startPrefixMapping(String prefix,
                                     String uri)
                              throws SAXException
Specified by:
startPrefixMapping in interface ContentHandler
Throws:
SAXException

startPrefixMappingPrivate

public final void startPrefixMappingPrivate(String prefix,
                                            String uri)
                                     throws SAXException
Throws:
SAXException

endPrefixMapping

public final void endPrefixMapping(String prefix)
                            throws SAXException
Specified by:
endPrefixMapping in interface ContentHandler
Throws:
SAXException

skippedEntity

public final void skippedEntity(String name)
                         throws SAXException
Specified by:
skippedEntity in interface ContentHandler
Throws:
SAXException