Package com.bea.xml.stream
Class XMLEventWriterBase
- java.lang.Object
-
- com.bea.xml.stream.XMLEventWriterBase
-
- All Implemented Interfaces:
javax.xml.stream.util.XMLEventConsumer
,javax.xml.stream.XMLEventWriter
public class XMLEventWriterBase extends java.lang.Object implements javax.xml.stream.XMLEventWriter, javax.xml.stream.util.XMLEventConsumer
The base writer class
-
-
Constructor Summary
Constructors Constructor Description XMLEventWriterBase(javax.xml.stream.XMLStreamWriter writer)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(javax.xml.stream.events.XMLEvent e)
Add an event to the output stream Adding a START_ELEMENT will open a new namespace scope that will be closed when the corresponding END_ELEMENT is written.void
add(javax.xml.stream.XMLEventReader stream)
Adds an entire stream to an output stream, calls next() on the inputStream argument until hasNext() returns false This should be treated as a convenience method that will perform the following loop over all the events in an event reader and call add on each event.void
addAttribute(javax.xml.stream.events.Attribute a)
void
addCharacters(javax.xml.stream.events.Characters cd)
void
addComment(javax.xml.stream.events.Comment c)
void
addDTD(javax.xml.stream.events.DTD dtd)
void
addEndDocument(javax.xml.stream.events.EndDocument ed)
void
addEntityReference(javax.xml.stream.events.EntityReference er)
void
addNamespace(javax.xml.stream.events.Namespace ns)
void
addProcessingInstruction(javax.xml.stream.events.ProcessingInstruction pi)
void
addStartDocument(javax.xml.stream.events.StartDocument sd)
void
close()
Frees any resources associated with this streamvoid
flush()
Writes any cached events to the underlying output mechanismjavax.xml.namespace.NamespaceContext
getNamespaceContext()
Returns the current namespace context.java.lang.String
getPrefix(java.lang.String uri)
Gets the prefix the uri is bound tostatic void
main(java.lang.String[] args)
void
setDefaultNamespace(java.lang.String uri)
Binds a URI to the default namespace This URI is bound in the scope of the current START_ELEMENT / END_ELEMENT pair.void
setNamespaceContext(javax.xml.namespace.NamespaceContext context)
Sets the current namespace context for prefix and uri bindings.void
setPrefix(java.lang.String prefix, java.lang.String uri)
Sets the prefix the uri is bound to.void
writeNamespace(javax.xml.stream.events.Namespace n)
-
-
-
Method Detail
-
flush
public void flush() throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLEventWriter
Writes any cached events to the underlying output mechanism- Specified by:
flush
in interfacejavax.xml.stream.XMLEventWriter
- Throws:
javax.xml.stream.XMLStreamException
-
close
public void close() throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLEventWriter
Frees any resources associated with this stream- Specified by:
close
in interfacejavax.xml.stream.XMLEventWriter
- Throws:
javax.xml.stream.XMLStreamException
-
addCharacters
public void addCharacters(javax.xml.stream.events.Characters cd) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
addEntityReference
public void addEntityReference(javax.xml.stream.events.EntityReference er) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
addProcessingInstruction
public void addProcessingInstruction(javax.xml.stream.events.ProcessingInstruction pi) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
addComment
public void addComment(javax.xml.stream.events.Comment c) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
addStartDocument
public void addStartDocument(javax.xml.stream.events.StartDocument sd) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
addEndDocument
public void addEndDocument(javax.xml.stream.events.EndDocument ed) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
addAttribute
public void addAttribute(javax.xml.stream.events.Attribute a) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeNamespace
public void writeNamespace(javax.xml.stream.events.Namespace n) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
addNamespace
public void addNamespace(javax.xml.stream.events.Namespace ns) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
addDTD
public void addDTD(javax.xml.stream.events.DTD dtd) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
add
public void add(javax.xml.stream.events.XMLEvent e) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLEventWriter
Add an event to the output stream Adding a START_ELEMENT will open a new namespace scope that will be closed when the corresponding END_ELEMENT is written.Required and optional fields for events added to the writer Event Type Required Fields Optional Fields Required Behavior START_ELEMENT QName name namespaces , attributes A START_ELEMENT will be written by writing the name, namespaces, and attributes of the event in XML 1.0 valid syntax for START_ELEMENTs. The name is written by looking up the prefix for the namespace uri. The writer can be configured to respect prefixes of QNames. If the writer is respecting prefixes it must use the prefix set on the QName. The default behavior is to lookup the value for the prefix on the EventWriter's internal namespace context. Each attribute (if any) is written using the behavior specified in the attribute section of this table. Each namespace (if any) is written using the behavior specified in the namespace section of this table. END_ELEMENT Qname name None A well formed END_ELEMENT tag is written. The name is written by looking up the prefix for the namespace uri. The writer can be configured to respect prefixes of QNames. If the writer is respecting prefixes it must use the prefix set on the QName. The default behavior is to lookup the value for the prefix on the EventWriter's internal namespace context. If the END_ELEMENT name does not match the START_ELEMENT name an XMLStreamException is thrown. ATTRIBUTE QName name , String value QName type An attribute is written using the same algorithm to find the lexical form as used in START_ELEMENT. The default is to use double quotes to wrap attribute values and to escape any double quotes found in the value. The type value is ignored. NAMESPACE String prefix, String namespaceURI, boolean isDefaultNamespaceDeclaration None A namespace declaration is written. If the namespace is a default namespace declaration (isDefault is true) then xmlns="$namespaceURI" is written and the prefix is optional. If isDefault is false, the prefix must be declared and the writer must prepend xmlns to the prefix and write out a standard prefix declaration. PROCESSING_INSTRUCTION None String target, String data The data does not need to be present and may be null. Target is required and many not be null. The writer will write data section directly after the target, enclosed in appropriate XML 1.0 syntax COMMENT None String comment If the comment is present (not null) it is written, otherwise an an empty comment is written START_DOCUMENT None String encoding , boolean standalone, String version A START_DOCUMENT event is not required to be written to the stream. If present the attributes are written inside the appropriate XML declaration syntax END_DOCUMENT None None Nothing is written to the output DTD String DocumentTypeDefinition None The DocumentTypeDefinition is written to the output - Specified by:
add
in interfacejavax.xml.stream.util.XMLEventConsumer
- Specified by:
add
in interfacejavax.xml.stream.XMLEventWriter
- Parameters:
e
- the event to be added- Throws:
javax.xml.stream.XMLStreamException
-
add
public void add(javax.xml.stream.XMLEventReader stream) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLEventWriter
Adds an entire stream to an output stream, calls next() on the inputStream argument until hasNext() returns false This should be treated as a convenience method that will perform the following loop over all the events in an event reader and call add on each event.- Specified by:
add
in interfacejavax.xml.stream.XMLEventWriter
- Parameters:
stream
- the event stream to add to the output- Throws:
javax.xml.stream.XMLStreamException
-
getPrefix
public java.lang.String getPrefix(java.lang.String uri) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLEventWriter
Gets the prefix the uri is bound to- Specified by:
getPrefix
in interfacejavax.xml.stream.XMLEventWriter
- Parameters:
uri
- the uri to look up- Throws:
javax.xml.stream.XMLStreamException
-
setPrefix
public void setPrefix(java.lang.String prefix, java.lang.String uri) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLEventWriter
Sets the prefix the uri is bound to. This prefix is bound in the scope of the current START_ELEMENT / END_ELEMENT pair. If this method is called before a START_ELEMENT has been written the prefix is bound in the root scope.- Specified by:
setPrefix
in interfacejavax.xml.stream.XMLEventWriter
- Parameters:
prefix
- the prefix to bind to the uriuri
- the uri to bind to the prefix- Throws:
javax.xml.stream.XMLStreamException
-
setDefaultNamespace
public void setDefaultNamespace(java.lang.String uri) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLEventWriter
Binds a URI to the default namespace This URI is bound in the scope of the current START_ELEMENT / END_ELEMENT pair. If this method is called before a START_ELEMENT has been written the uri is bound in the root scope.- Specified by:
setDefaultNamespace
in interfacejavax.xml.stream.XMLEventWriter
- Parameters:
uri
- the uri to bind to the default namespace- Throws:
javax.xml.stream.XMLStreamException
-
setNamespaceContext
public void setNamespaceContext(javax.xml.namespace.NamespaceContext context) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLEventWriter
Sets the current namespace context for prefix and uri bindings. This context becomes the root namespace context for writing and will replace the current root namespace context. Subsequent calls to setPrefix and setDefaultNamespace will bind namespaces using the context passed to the method as the root context for resolving namespaces.- Specified by:
setNamespaceContext
in interfacejavax.xml.stream.XMLEventWriter
- Parameters:
context
- the namespace context to use for this writer- Throws:
javax.xml.stream.XMLStreamException
-
getNamespaceContext
public javax.xml.namespace.NamespaceContext getNamespaceContext()
Description copied from interface:javax.xml.stream.XMLEventWriter
Returns the current namespace context.- Specified by:
getNamespaceContext
in interfacejavax.xml.stream.XMLEventWriter
- Returns:
- the current namespace context
-
main
public static void main(java.lang.String[] args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
-