| org.jibx.runtime.IXMLWriter
All known Subclasses: org.jibx.runtime.impl.XMLWriterNamespaceBase,
IXMLWriter | public interface IXMLWriter (Code) | | XML writer interface used for output of marshalled document. This interface
allows easy substitution of different output formats, including parse event
stream equivalents. This makes heavy use of state information, so each
method call defined is only valid in certain states.
author: Dennis M. Sosnoski |
Method Summary | |
public void | addAttribute(int index, String name, String value) Add attribute to current open start tag. | public void | close() Close document output. | public void | closeEmptyTag() Close the current open start tag as an empty element. | public void | closeStartTag() Close the current open start tag. | public void | endTag(int index, String name) Generate end tag. | public void | flush() Flush document output. | public String[][] | getExtensionNamespaces() Get extension namespace URIs added to those in mapping. | public int | getNamespaceCount() Get the number of namespaces currently defined. | public String | getNamespacePrefix(int index) Get current prefix defined for namespace. | public String | getNamespaceUri(int index) Get URI for namespace. | public String[] | getNamespaces() Get namespace URIs for mapping. | public int | getNestingDepth() Get the current element nesting depth. | public int | getPrefixIndex(String prefix) Get index of namespace mapped to prefix. | public void | indent() Request output indent. | public int[] | openNamespaces(int[] nums, String[] prefs) Open the specified namespaces for use. | public void | popExtensionNamespaces() Remove extension namespace URIs. | public void | pushExtensionNamespaces(String[] uris) Append extension namespace URIs to those in mapping. | public void | reset() Reset to initial state for reuse. | public void | setIndentSpaces(int count, String newline, char indent) Set nesting indentation. | public void | startTagClosed(int index, String name) Generate closed start tag. | public void | startTagNamespaces(int index, String name, int[] nums, String[] prefs) Generate start tag for element with namespaces. | public void | startTagOpen(int index, String name) Generate open start tag. | public void | writeCData(String text) Write CDATA text to document. | public void | writeComment(String text) Write comment to document. | public void | writeDocType(String name, String sys, String pub, String subset) Write DOCTYPE declaration to document. | public void | writeEntityRef(String name) Write entity reference to document. | public void | writePI(String target, String data) Write processing instruction to document. | public void | writeTextContent(String text) Write ordinary character data text content to document. | public void | writeXMLDecl(String version, String encoding, String standalone) Write XML declaration to document. |
addAttribute | public void addAttribute(int index, String name, String value) throws IOException(Code) | | Add attribute to current open start tag. This is only valid after a call
to
IXMLWriter.startTagOpen and before the corresponding call to
IXMLWriter.closeStartTag .
Parameters: index - namespace URI index number Parameters: name - unqualified attribute name Parameters: value - text value for attribute throws: IOException - on error writing to document |
close | public void close() throws IOException(Code) | | Close document output. Completes writing of document output, including
flushing and closing the output medium.
throws: IOException - on error writing to document |
endTag | public void endTag(int index, String name) throws IOException(Code) | | Generate end tag.
Parameters: index - namespace URI index number Parameters: name - unqualified element name throws: IOException - on error writing to document |
flush | public void flush() throws IOException(Code) | | Flush document output. Writes any buffered data to the output medium.
This does not flush the output medium itself, only any internal
buffering within the writer.
throws: IOException - on error writing to document |
getExtensionNamespaces | public String[][] getExtensionNamespaces()(Code) | | Get extension namespace URIs added to those in mapping. This gets the
current set of extension definitions. The returned arrays must not be
modified.
array of arrays of extension namespaces (null ifnone) |
getNamespaceCount | public int getNamespaceCount()(Code) | | Get the number of namespaces currently defined. This is equivalent to the
index of the next extension namespace added.
namespace count |
getNamespacePrefix | public String getNamespacePrefix(int index)(Code) | | Get current prefix defined for namespace.
Parameters: index - namespace URI index number current prefix text, or null if the namespace is notcurrently mapped |
getNamespaceUri | public String getNamespaceUri(int index)(Code) | | Get URI for namespace.
Parameters: index - namespace URI index number namespace URI text, or null if the namespace indexis invalid |
getNamespaces | public String[] getNamespaces()(Code) | | Get namespace URIs for mapping. This gets the full ordered array of
namespaces known in the binding used for this marshalling, where the
index number of each namespace URI is the namespace index used to lookup
the prefix when marshalling a name in that namespace. The returned array
must not be modified.
array of namespaces |
getNestingDepth | public int getNestingDepth()(Code) | | Get the current element nesting depth. Elements are only counted in the
depth returned when they're officially open - after the start tag has
been output and before the end tag has been output.
number of nested elements at current point in output |
getPrefixIndex | public int getPrefixIndex(String prefix)(Code) | | Get index of namespace mapped to prefix. This can be an expensive
operation with time proportional to the number of namespaces defined, so
it should be used with care.
Parameters: prefix - text to match (non-null , use "" for defaultprefix) index namespace URI index number mapped to prefix |
indent | public void indent() throws IOException(Code) | | Request output indent. The writer implementation should normally indent
output as appropriate. This method can be used to request indenting of
output that might otherwise not be indented. The normal effect when used
with a text-oriented writer should be to output the appropriate line end
sequence followed by the appropriate number of indent characters for the
current nesting level.
throws: IOException - on error writing to document |
openNamespaces | public int[] openNamespaces(int[] nums, String[] prefs) throws IOException(Code) | | Open the specified namespaces for use. This method is normally only
called internally, when namespace declarations are actually written to
output. It is exposed as part of this interface to allow for special
circumstances where namespaces are being written outside the usual
processing. The namespaces will remain open for use until the current
element is closed.
Parameters: nums - array of namespace indexes defined by this element (mustbe constant, reference is kept until namespaces are closed) Parameters: prefs - array of namespace prefixes mapped by this element (nonull values, use "" for default namespace declaration) array of indexes for namespaces not previously active (the onesactually needing to be declared, in the case of text output) throws: IOException - on error writing to document |
pushExtensionNamespaces | public void pushExtensionNamespaces(String[] uris)(Code) | | Append extension namespace URIs to those in mapping.
Parameters: uris - namespace URIs to extend those in mapping |
reset | public void reset()(Code) | | Reset to initial state for reuse. The context is serially reusable,
as long as this method is called to clear any retained state information
between uses. It is automatically called when output is set.
|
setIndentSpaces | public void setIndentSpaces(int count, String newline, char indent)(Code) | | Set nesting indentation. This is advisory only, and implementations of
this interface are free to ignore it. The intent is to indicate that the
generated output should use indenting to illustrate element nesting.
Parameters: count - number of character to indent per level, or disableindentation if negative (zero means new line only) Parameters: newline - sequence of characters used for a line ending(null means use the single character '\n') Parameters: indent - whitespace character used for indentation |
startTagClosed | public void startTagClosed(int index, String name) throws IOException(Code) | | Generate closed start tag. No attributes or namespaces can be added to a
start tag written using this call.
Parameters: index - namespace URI index number Parameters: name - unqualified element name throws: IOException - on error writing to document |
startTagNamespaces | public void startTagNamespaces(int index, String name, int[] nums, String[] prefs) throws IOException(Code) | | Generate start tag for element with namespaces. This creates the actual
start tag, along with any necessary namespace declarations. Previously
active namespace declarations are not duplicated. The tag is
left incomplete, allowing other attributes to be added.
Parameters: index - namespace URI index number Parameters: name - element name Parameters: nums - array of namespace indexes defined by this element (mustbe constant, reference is kept until end of element) Parameters: prefs - array of namespace prefixes mapped by this element (nonull values, use "" for default namespace declaration) throws: IOException - on error writing to document |
startTagOpen | public void startTagOpen(int index, String name) throws IOException(Code) | | Generate open start tag. This allows attributes and/or namespace
declarations to be added to the start tag, but must be followed by a
IXMLWriter.closeStartTag call.
Parameters: index - namespace URI index number Parameters: name - unqualified element name throws: IOException - on error writing to document |
writeCData | public void writeCData(String text) throws IOException(Code) | | Write CDATA text to document.
Parameters: text - content value text (must not be null ) throws: IOException - on error writing to document |
writeComment | public void writeComment(String text) throws IOException(Code) | | Write comment to document.
Parameters: text - comment text (must not be null ) throws: IOException - on error writing to document |
writeDocType | public void writeDocType(String name, String sys, String pub, String subset) throws IOException(Code) | | Write DOCTYPE declaration to document.
Parameters: name - root element name Parameters: sys - system ID (null if none, must benon-null for public ID to be used) Parameters: pub - public ID (null if none) Parameters: subset - internal subset (null if none) throws: IOException - on error writing to document |
writeEntityRef | public void writeEntityRef(String name) throws IOException(Code) | | Write entity reference to document.
Parameters: name - entity name (must not be null ) throws: IOException - on error writing to document |
writePI | public void writePI(String target, String data) throws IOException(Code) | | Write processing instruction to document.
Parameters: target - processing instruction target name (must not benull ) Parameters: data - processing instruction data (must not be null ) throws: IOException - on error writing to document |
writeTextContent | public void writeTextContent(String text) throws IOException(Code) | | Write ordinary character data text content to document.
Parameters: text - content value text (must not be null ) throws: IOException - on error writing to document |
writeXMLDecl | public void writeXMLDecl(String version, String encoding, String standalone) throws IOException(Code) | | Write XML declaration to document. This can only be called before any
other methods in the interface are called.
Parameters: version - XML version text Parameters: encoding - text for encoding attribute (unspecified ifnull ) Parameters: standalone - text for standalone attribute (unspecified ifnull ) throws: IOException - on error writing to document |
|
|