Package org.dom4j.io
Class SAXWriter
- java.lang.Object
 - 
- org.dom4j.io.SAXWriter
 
 
- 
- 
Field Summary
Fields Modifier and Type Field Description protected static StringFEATURE_NAMESPACE_PREFIXESprotected static StringFEATURE_NAMESPACESprotected static String[]LEXICAL_HANDLER_NAMES 
- 
Constructor Summary
Constructors Constructor Description SAXWriter()SAXWriter(ContentHandler contentHandler)SAXWriter(ContentHandler contentHandler, LexicalHandler lexicalHandler)SAXWriter(ContentHandler contentHandler, LexicalHandler lexicalHandler, EntityResolver entityResolver) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AttributesImpladdNamespaceAttribute(AttributesImpl attrs, Namespace namespace)If isDelcareNamespaceAttributes() is enabled then this method will add the given namespace declaration to the supplied attributes object, creating one if it does not exist.protected voidcheckForNullHandlers()Ensures non-null content handlers?protected AttributescreateAttributes(Element element, Attributes namespaceAttributes)protected voiddocumentLocator(Document document)TheLocatoris only really useful when parsing a textual document as its main purpose is to identify the line and column number.protected voiddtdHandler(Document document)We do not yet support DTD or XML Schemas so this method does nothing right now.protected voidendDocument()protected voidendElement(Element element)protected voidendPrefixMapping(NamespaceStack stack, int stackSize)Fires a SAX endPrefixMapping event for all the namespaceStack which have gone out of scopeprotected voidentityResolver(Document document)ContentHandlergetContentHandler()DOCUMENT ME!DTDHandlergetDTDHandler()DOCUMENT ME!EntityResolvergetEntityResolver()DOCUMENT ME!ErrorHandlergetErrorHandler()DOCUMENT ME!booleangetFeature(String name)Looks up the value of a feature.LexicalHandlergetLexicalHandler()DOCUMENT ME!ObjectgetProperty(String name)Gets the given SAX propertybooleanisDeclareNamespaceAttributes()Should namespace declarations be converted to "xmlns" attributes.protected booleanisIgnoreableNamespace(Namespace namespace, NamespaceStack namespaceStack)DOCUMENT ME!voidparse(String systemId)This method is not supported.voidparse(InputSource input)Parses an XML document.voidsetContentHandler(ContentHandler contentHandler)Sets theContentHandlercalled when SAX events are raisedvoidsetDeclareNamespaceAttributes(boolean declareNamespaceAttrs)Sets whether namespace declarations should be exported as "xmlns" attributes or not.voidsetDTDHandler(DTDHandler handler)Sets theDTDHandler.voidsetEntityResolver(EntityResolver entityResolver)Sets theEntityResolver.voidsetErrorHandler(ErrorHandler errorHandler)Sets theErrorHandler.voidsetFeature(String name, boolean value)This implementation does actually use any features but just stores them for later retrievalvoidsetLexicalHandler(LexicalHandler lexicalHandler)Sets theLexicalHandler.voidsetProperty(String name, Object value)Sets the given SAX propertyvoidsetXMLReader(XMLReader xmlReader)Sets theXMLReaderused to write SAX events toprotected voidstartDocument()protected voidstartElement(Element element, AttributesImpl namespaceAttributes)protected AttributesImplstartPrefixMapping(Element element, NamespaceStack namespaceStack)Fires a SAX startPrefixMapping event for all the namespaceStack which have just come into scopevoidwrite(String text)Generates SAX events for the given textvoidwrite(CDATA cdata)Generates SAX events for the given CDATAvoidwrite(Comment comment)Generates SAX events for the given Commentvoidwrite(Document document)Generates SAX events for the given Document and all its contentvoidwrite(Element element)Generates SAX events for the given Element and all its contentprotected voidwrite(Element element, NamespaceStack namespaceStack)voidwrite(Entity entity)Generates SAX events for the given Entityvoidwrite(Node node)A polymorphic method to write any Node to this SAX streamvoidwrite(ProcessingInstruction pi)Generates SAX events for the given ProcessingInstructionvoidwriteClose(Element element)Writes the closing tag of anElementprotected voidwriteContent(Branch branch, NamespaceStack namespaceStack)voidwriteOpen(Element element) 
 - 
 
- 
- 
Field Detail
- 
LEXICAL_HANDLER_NAMES
protected static final String[] LEXICAL_HANDLER_NAMES
 
- 
FEATURE_NAMESPACE_PREFIXES
protected static final String FEATURE_NAMESPACE_PREFIXES
- See Also:
 - Constant Field Values
 
 
- 
FEATURE_NAMESPACES
protected static final String FEATURE_NAMESPACES
- See Also:
 - Constant Field Values
 
 
 - 
 
- 
Constructor Detail
- 
SAXWriter
public SAXWriter()
 
- 
SAXWriter
public SAXWriter(ContentHandler contentHandler)
 
- 
SAXWriter
public SAXWriter(ContentHandler contentHandler, LexicalHandler lexicalHandler)
 
- 
SAXWriter
public SAXWriter(ContentHandler contentHandler, LexicalHandler lexicalHandler, EntityResolver entityResolver)
 
 - 
 
- 
Method Detail
- 
write
public void write(Node node) throws SAXException
A polymorphic method to write any Node to this SAX stream- Parameters:
 node- DOCUMENT ME!- Throws:
 SAXException- DOCUMENT ME!
 
- 
write
public void write(Document document) throws SAXException
Generates SAX events for the given Document and all its content- Parameters:
 document- is the Document to parse- Throws:
 SAXException- if there is a SAX error processing the events
 
- 
write
public void write(Element element) throws SAXException
Generates SAX events for the given Element and all its content- Parameters:
 element- is the Element to parse- Throws:
 SAXException- if there is a SAX error processing the events
 
- 
writeOpen
public void writeOpen(Element element) throws SAXException
- Parameters:
 element-Elementto output.- Throws:
 SAXException- DOCUMENT ME!
 
- 
writeClose
public void writeClose(Element element) throws SAXException
Writes the closing tag of an
Element- Parameters:
 element-Elementto output.- Throws:
 SAXException- DOCUMENT ME!
 
- 
write
public void write(String text) throws SAXException
Generates SAX events for the given text- Parameters:
 text- is the text to send to the SAX ContentHandler- Throws:
 SAXException- if there is a SAX error processing the events
 
- 
write
public void write(CDATA cdata) throws SAXException
Generates SAX events for the given CDATA- Parameters:
 cdata- is the CDATA to parse- Throws:
 SAXException- if there is a SAX error processing the events
 
- 
write
public void write(Comment comment) throws SAXException
Generates SAX events for the given Comment- Parameters:
 comment- is the Comment to parse- Throws:
 SAXException- if there is a SAX error processing the events
 
- 
write
public void write(Entity entity) throws SAXException
Generates SAX events for the given Entity- Parameters:
 entity- is the Entity to parse- Throws:
 SAXException- if there is a SAX error processing the events
 
- 
write
public void write(ProcessingInstruction pi) throws SAXException
Generates SAX events for the given ProcessingInstruction- Parameters:
 pi- is the ProcessingInstruction to parse- Throws:
 SAXException- if there is a SAX error processing the events
 
- 
isDeclareNamespaceAttributes
public boolean isDeclareNamespaceAttributes()
Should namespace declarations be converted to "xmlns" attributes. This property defaults tofalseas per the SAX specification. This property is set via the SAX feature "http://xml.org/sax/features/namespace-prefixes"- Returns:
 - DOCUMENT ME!
 
 
- 
setDeclareNamespaceAttributes
public void setDeclareNamespaceAttributes(boolean declareNamespaceAttrs)
Sets whether namespace declarations should be exported as "xmlns" attributes or not. This property is set from the SAX feature "http://xml.org/sax/features/namespace-prefixes"- Parameters:
 declareNamespaceAttrs- DOCUMENT ME!
 
- 
getContentHandler
public ContentHandler getContentHandler()
DOCUMENT ME!- Specified by:
 getContentHandlerin interfaceXMLReader- Returns:
 - the 
ContentHandlercalled when SAX events are raised 
 
- 
setContentHandler
public void setContentHandler(ContentHandler contentHandler)
Sets theContentHandlercalled when SAX events are raised- Specified by:
 setContentHandlerin interfaceXMLReader- Parameters:
 contentHandler- is theContentHandlercalled when SAX events are raised
 
- 
getDTDHandler
public DTDHandler getDTDHandler()
DOCUMENT ME!- Specified by:
 getDTDHandlerin interfaceXMLReader- Returns:
 - the 
DTDHandler 
 
- 
setDTDHandler
public void setDTDHandler(DTDHandler handler)
Sets theDTDHandler.- Specified by:
 setDTDHandlerin interfaceXMLReader- Parameters:
 handler- DOCUMENT ME!
 
- 
getErrorHandler
public ErrorHandler getErrorHandler()
DOCUMENT ME!- Specified by:
 getErrorHandlerin interfaceXMLReader- Returns:
 - the 
ErrorHandler 
 
- 
setErrorHandler
public void setErrorHandler(ErrorHandler errorHandler)
Sets theErrorHandler.- Specified by:
 setErrorHandlerin interfaceXMLReader- Parameters:
 errorHandler- DOCUMENT ME!
 
- 
getEntityResolver
public EntityResolver getEntityResolver()
DOCUMENT ME!- Specified by:
 getEntityResolverin interfaceXMLReader- Returns:
 - the 
EntityResolverused when a Document contains a DTD 
 
- 
setEntityResolver
public void setEntityResolver(EntityResolver entityResolver)
Sets theEntityResolver.- Specified by:
 setEntityResolverin interfaceXMLReader- Parameters:
 entityResolver- is theEntityResolver
 
- 
getLexicalHandler
public LexicalHandler getLexicalHandler()
DOCUMENT ME!- Returns:
 - the 
LexicalHandlerused when a Document contains a DTD 
 
- 
setLexicalHandler
public void setLexicalHandler(LexicalHandler lexicalHandler)
Sets theLexicalHandler.- Parameters:
 lexicalHandler- is theLexicalHandler
 
- 
setXMLReader
public void setXMLReader(XMLReader xmlReader)
Sets theXMLReaderused to write SAX events to- Parameters:
 xmlReader- is theXMLReader
 
- 
getFeature
public boolean getFeature(String name) throws SAXNotRecognizedException, SAXNotSupportedException
Looks up the value of a feature.- Specified by:
 getFeaturein interfaceXMLReader- Parameters:
 name- DOCUMENT ME!- Returns:
 - DOCUMENT ME!
 - Throws:
 SAXNotRecognizedException- DOCUMENT ME!SAXNotSupportedException- DOCUMENT ME!
 
- 
setFeature
public void setFeature(String name, boolean value) throws SAXNotRecognizedException, SAXNotSupportedException
This implementation does actually use any features but just stores them for later retrieval- Specified by:
 setFeaturein interfaceXMLReader- Parameters:
 name- DOCUMENT ME!value- DOCUMENT ME!- Throws:
 SAXNotRecognizedException- DOCUMENT ME!SAXNotSupportedException- DOCUMENT ME!
 
- 
setProperty
public void setProperty(String name, Object value)
Sets the given SAX property- Specified by:
 setPropertyin interfaceXMLReader- Parameters:
 name- DOCUMENT ME!value- DOCUMENT ME!
 
- 
getProperty
public Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException
Gets the given SAX property- Specified by:
 getPropertyin interfaceXMLReader- Parameters:
 name- DOCUMENT ME!- Returns:
 - DOCUMENT ME!
 - Throws:
 SAXNotRecognizedException- DOCUMENT ME!SAXNotSupportedException- DOCUMENT ME!
 
- 
parse
public void parse(String systemId) throws SAXNotSupportedException
This method is not supported.- Specified by:
 parsein interfaceXMLReader- Parameters:
 systemId- DOCUMENT ME!- Throws:
 SAXNotSupportedException- DOCUMENT ME!
 
- 
parse
public void parse(InputSource input) throws SAXException
Parses an XML document. This method can only accept DocumentInputSource inputs otherwise aSAXNotSupportedExceptionexception is thrown.- Specified by:
 parsein interfaceXMLReader- Parameters:
 input- DOCUMENT ME!- Throws:
 SAXException- DOCUMENT ME!SAXNotSupportedException- if the input source is not wrapping a dom4j document
 
- 
writeContent
protected void writeContent(Branch branch, NamespaceStack namespaceStack) throws SAXException
- Throws:
 SAXException
 
- 
documentLocator
protected void documentLocator(Document document) throws SAXException
TheLocatoris only really useful when parsing a textual document as its main purpose is to identify the line and column number. Since we are processing an in memory tree which will probably have its line number information removed, we'll just use -1 for the line and column numbers.- Parameters:
 document- DOCUMENT ME!- Throws:
 SAXException- DOCUMENT ME!
 
- 
entityResolver
protected void entityResolver(Document document) throws SAXException
- Throws:
 SAXException
 
- 
dtdHandler
protected void dtdHandler(Document document) throws SAXException
We do not yet support DTD or XML Schemas so this method does nothing right now.- Parameters:
 document- DOCUMENT ME!- Throws:
 SAXException- DOCUMENT ME!
 
- 
startDocument
protected void startDocument() throws SAXException- Throws:
 SAXException
 
- 
endDocument
protected void endDocument() throws SAXException- Throws:
 SAXException
 
- 
write
protected void write(Element element, NamespaceStack namespaceStack) throws SAXException
- Throws:
 SAXException
 
- 
startPrefixMapping
protected AttributesImpl startPrefixMapping(Element element, NamespaceStack namespaceStack) throws SAXException
Fires a SAX startPrefixMapping event for all the namespaceStack which have just come into scope- Parameters:
 element- DOCUMENT ME!namespaceStack- DOCUMENT ME!- Returns:
 - DOCUMENT ME!
 - Throws:
 SAXException- DOCUMENT ME!
 
- 
endPrefixMapping
protected void endPrefixMapping(NamespaceStack stack, int stackSize) throws SAXException
Fires a SAX endPrefixMapping event for all the namespaceStack which have gone out of scope- Parameters:
 stack- DOCUMENT ME!stackSize- DOCUMENT ME!- Throws:
 SAXException- DOCUMENT ME!
 
- 
startElement
protected void startElement(Element element, AttributesImpl namespaceAttributes) throws SAXException
- Throws:
 SAXException
 
- 
endElement
protected void endElement(Element element) throws SAXException
- Throws:
 SAXException
 
- 
createAttributes
protected Attributes createAttributes(Element element, Attributes namespaceAttributes) throws SAXException
- Throws:
 SAXException
 
- 
addNamespaceAttribute
protected AttributesImpl addNamespaceAttribute(AttributesImpl attrs, Namespace namespace)
If isDelcareNamespaceAttributes() is enabled then this method will add the given namespace declaration to the supplied attributes object, creating one if it does not exist.- Parameters:
 attrs- DOCUMENT ME!namespace- DOCUMENT ME!- Returns:
 - DOCUMENT ME!
 
 
- 
isIgnoreableNamespace
protected boolean isIgnoreableNamespace(Namespace namespace, NamespaceStack namespaceStack)
DOCUMENT ME!- Parameters:
 namespace- DOCUMENT ME!namespaceStack- DOCUMENT ME!- Returns:
 - true if the given namespace is an ignorable namespace (such as Namespace.NO_NAMESPACE or Namespace.XML_NAMESPACE) or if the namespace has already been declared in the current scope
 
 
- 
checkForNullHandlers
protected void checkForNullHandlers()
Ensures non-null content handlers? 
 - 
 
 -