Class SAXWriter
java.lang.Object
org.dom4j.io.SAXWriter
- All Implemented Interfaces:
XMLReader
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate AttributesImplAttributesImplused when generating the Attributesprivate ContentHandlerContentHandlerto which SAX events are raisedprivate booleanWhether namespace declarations are exported as attributes or notprivate DTDHandlerDTDHandlerfired when a document has a DTDprivate EntityResolverEntityResolverfired when a document has a DTDprivate ErrorHandlerprotected static final Stringprotected static final StringStores the featuresprotected static final String[]private LexicalHandlerLexicalHandlerfired on Entity and CDATA sectionsStores the properties -
Constructor Summary
ConstructorsConstructorDescriptionSAXWriter(ContentHandler contentHandler) SAXWriter(ContentHandler contentHandler, LexicalHandler lexicalHandler) SAXWriter(ContentHandler contentHandler, LexicalHandler lexicalHandler, EntityResolver entityResolver) -
Method Summary
Modifier and TypeMethodDescriptionprotected 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 voidEnsures 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 voidprotected 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) DOCUMENT ME!DOCUMENT ME!DOCUMENT ME!DOCUMENT ME!booleangetFeature(String name) Looks up the value of a feature.DOCUMENT ME!getProperty(String name) Gets the given SAX propertybooleanShould namespace declarations be converted to "xmlns" attributes.protected booleanisIgnoreableNamespace(Namespace namespace, NamespaceStack namespaceStack) DOCUMENT ME!voidThis 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 voidprotected 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 scopevoidGenerates SAX events for the given textvoidGenerates SAX events for the given CDATAvoidGenerates SAX events for the given CommentvoidGenerates SAX events for the given Document and all its contentvoidGenerates SAX events for the given Element and all its contentprotected voidwrite(Element element, NamespaceStack namespaceStack) voidGenerates SAX events for the given EntityvoidA polymorphic method to write any Node to this SAX streamvoidGenerates SAX events for the given ProcessingInstructionvoidwriteClose(Element element) Writes the closing tag of anElementprotected voidwriteContent(Branch branch, NamespaceStack namespaceStack) void
-
Field Details
-
LEXICAL_HANDLER_NAMES
-
FEATURE_NAMESPACE_PREFIXES
- See Also:
-
FEATURE_NAMESPACES
- See Also:
-
contentHandler
ContentHandlerto which SAX events are raised -
dtdHandler
DTDHandlerfired when a document has a DTD -
entityResolver
EntityResolverfired when a document has a DTD -
errorHandler
-
lexicalHandler
LexicalHandlerfired on Entity and CDATA sections -
attributes
AttributesImplused when generating the Attributes -
features
-
properties
-
declareNamespaceAttributes
private boolean declareNamespaceAttributesWhether namespace declarations are exported as attributes or not
-
-
Constructor Details
-
SAXWriter
public SAXWriter() -
SAXWriter
-
SAXWriter
-
SAXWriter
public SAXWriter(ContentHandler contentHandler, LexicalHandler lexicalHandler, EntityResolver entityResolver)
-
-
Method Details
-
write
A polymorphic method to write any Node to this SAX stream- Parameters:
node- DOCUMENT ME!- Throws:
SAXException- DOCUMENT ME!
-
write
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
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
- Parameters:
element-Elementto output.- Throws:
SAXException- DOCUMENT ME!
-
writeClose
Writes the closing tag of an
Element- Parameters:
element-Elementto output.- Throws:
SAXException- DOCUMENT ME!
-
write
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
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
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
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
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
DOCUMENT ME!- Specified by:
getContentHandlerin interfaceXMLReader- Returns:
- the
ContentHandlercalled when SAX events are raised
-
setContentHandler
Sets theContentHandlercalled when SAX events are raised- Specified by:
setContentHandlerin interfaceXMLReader- Parameters:
contentHandler- is theContentHandlercalled when SAX events are raised
-
getDTDHandler
DOCUMENT ME!- Specified by:
getDTDHandlerin interfaceXMLReader- Returns:
- the
DTDHandler
-
setDTDHandler
Sets theDTDHandler.- Specified by:
setDTDHandlerin interfaceXMLReader- Parameters:
handler- DOCUMENT ME!
-
getErrorHandler
DOCUMENT ME!- Specified by:
getErrorHandlerin interfaceXMLReader- Returns:
- the
ErrorHandler
-
setErrorHandler
Sets theErrorHandler.- Specified by:
setErrorHandlerin interfaceXMLReader- Parameters:
errorHandler- DOCUMENT ME!
-
getEntityResolver
DOCUMENT ME!- Specified by:
getEntityResolverin interfaceXMLReader- Returns:
- the
EntityResolverused when a Document contains a DTD
-
setEntityResolver
Sets theEntityResolver.- Specified by:
setEntityResolverin interfaceXMLReader- Parameters:
entityResolver- is theEntityResolver
-
getLexicalHandler
DOCUMENT ME!- Returns:
- the
LexicalHandlerused when a Document contains a DTD
-
setLexicalHandler
Sets theLexicalHandler.- Parameters:
lexicalHandler- is theLexicalHandler
-
setXMLReader
Sets theXMLReaderused to write SAX events to- Parameters:
xmlReader- is theXMLReader
-
getFeature
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
Sets the given SAX property- Specified by:
setPropertyin interfaceXMLReader- Parameters:
name- DOCUMENT ME!value- DOCUMENT ME!
-
getProperty
Gets the given SAX property- Specified by:
getPropertyin interfaceXMLReader- Parameters:
name- DOCUMENT ME!- Returns:
- DOCUMENT ME!
- Throws:
SAXNotRecognizedException- DOCUMENT ME!SAXNotSupportedException- DOCUMENT ME!
-
parse
This method is not supported.- Specified by:
parsein interfaceXMLReader- Parameters:
systemId- DOCUMENT ME!- Throws:
SAXNotSupportedException- DOCUMENT ME!
-
parse
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
- Throws:
SAXException
-
documentLocator
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
- Throws:
SAXException
-
dtdHandler
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
- Throws:
SAXException
-
endDocument
- Throws:
SAXException
-
write
- 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
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
- Throws:
SAXException
-
createAttributes
protected Attributes createAttributes(Element element, Attributes namespaceAttributes) throws SAXException - Throws:
SAXException
-
addNamespaceAttribute
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
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?
-