Top Fields Constructors Methods
org.kxml2.io

public Class KXmlSerializer

extends Object
implements XmlSerializer
Class Inheritance
All Implemented Interfaces
org.xmlpull.v1.XmlSerializer
Imports
java.io.*, org.xmlpull.v1.*

Field Summary

Modifier and TypeField and Description
private int
private int
private String[]
private String
private boolean[]
private int[]
private String[]
private boolean
private boolean
private Writer

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public XmlSerializer
attribute(String namespace, String name, String value)

Implements org.xmlpull.v1.XmlSerializer.attribute.

Write an attribute.
public void
private final void
check(boolean close)

public void
public void
public void
public XmlSerializer
endTag(String namespace, String name)

Implements org.xmlpull.v1.XmlSerializer.endTag.

Write end tag.
public void
public void
flush()

Implements org.xmlpull.v1.XmlSerializer.flush.

Write all pending output to the stream.
public int
getDepth()

Implements org.xmlpull.v1.XmlSerializer.getDepth.

Returns the current depth of the element.
public boolean
getFeature(String
The name of feature to be retrieved.
name
)

Implements org.xmlpull.v1.XmlSerializer.getFeature.

Return the current value of the feature with given name.
public String
getName()

Implements org.xmlpull.v1.XmlSerializer.getName.

Returns the name of the current element as set by startTag().
public String
getNamespace()

Implements org.xmlpull.v1.XmlSerializer.getNamespace.

Returns the namespace URI of the current element as set by startTag().
public String
getPrefix(String namespace, boolean create)

Implements org.xmlpull.v1.XmlSerializer.getPrefix.

Return namespace that corresponds to given prefix If there is no prefix bound to this namespace return null but if generatePrefix is false then return generated prefix.
private final String
getPrefix(String namespace, boolean includeDefault, boolean create)

public Object
getProperty(String
The name of property to be retrieved.
name
)

Implements org.xmlpull.v1.XmlSerializer.getProperty.

Look up the value of a property.
public void
public void
public void
setFeature(String name, boolean value)

Implements org.xmlpull.v1.XmlSerializer.setFeature.

Set feature identified by name (recommended to be URI for uniqueness).
public void
setOutput(Writer writer)

Implements org.xmlpull.v1.XmlSerializer.setOutput.

Set the output to the given writer.
public void
setOutput(OutputStream os, String encoding)

Implements org.xmlpull.v1.XmlSerializer.setOutput.

Set to use binary output stream with given encoding.
public void
setPrefix(String
must be not null (or IllegalArgumentException is thrown)
prefix
,
String
must be not null
namespace
)

Implements org.xmlpull.v1.XmlSerializer.setPrefix.

Binds the given prefix to the given namespace.
public void
setProperty(String name, Object value)

Implements org.xmlpull.v1.XmlSerializer.setProperty.

Set the value of a property.
public void
startDocument(String encoding, Boolean standalone)

Implements org.xmlpull.v1.XmlSerializer.startDocument.

Write <?xml declaration with encoding (if encoding not null) and standalone flag (if standalone not null) This method can only be called just after setOutput.
public XmlSerializer
startTag(String namespace, String name)

Implements org.xmlpull.v1.XmlSerializer.startTag.

Writes a start tag with the given namespace and name.
public XmlSerializer
text(String text)

Implements org.xmlpull.v1.XmlSerializer.text.

Writes text, where special XML chars are escaped automatically
public XmlSerializer
text(char[] text, int start, int len)

Implements org.xmlpull.v1.XmlSerializer.text.

Writes text, where special XML chars are escaped automatically
private final void
writeEscaped(String s, int quot)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

autoback to summary
private int auto
depthback to summary
private int depth
elementStackback to summary
private String[] elementStack
encodingback to summary
private String encoding
indentback to summary
private boolean[] indent
nspCountsback to summary
private int[] nspCounts
nspStackback to summary
private String[] nspStack
pendingback to summary
private boolean pending
unicodeback to summary
private boolean unicode
writerback to summary
private Writer writer

Constructor Detail

KXmlSerializerback to summary
public KXmlSerializer()

Method Detail

attributeback to summary
public XmlSerializer attribute(String namespace, String name, String value) throws IOException

Implements org.xmlpull.v1.XmlSerializer.attribute.

Doc from org.xmlpull.v1.XmlSerializer.attribute.

Write an attribute. Calls to attribute() MUST follow a call to startTag() immediately. If there is no prefix defined for the given namespace, a prefix will be defined automatically. If namespace is null or empty string no namespace prefix is printed but just name.

cdsectback to summary
public void cdsect(String data) throws IOException

Implements org.xmlpull.v1.XmlSerializer.cdsect.

checkback to summary
private final void check(boolean close) throws IOException
commentback to summary
public void comment(String comment) throws IOException

Implements org.xmlpull.v1.XmlSerializer.comment.

docdeclback to summary
public void docdecl(String dd) throws IOException

Implements org.xmlpull.v1.XmlSerializer.docdecl.

endDocumentback to summary
public void endDocument() throws IOException

Implements org.xmlpull.v1.XmlSerializer.endDocument.

Doc from org.xmlpull.v1.XmlSerializer.endDocument.

Finish writing. All unclosed start tags will be closed and output will be flushed. After calling this method no more output can be serialized until next call to setOutput()

endTagback to summary
public XmlSerializer endTag(String namespace, String name) throws IOException

Implements org.xmlpull.v1.XmlSerializer.endTag.

Doc from org.xmlpull.v1.XmlSerializer.endTag.

Write end tag. Repetition of namespace and name is just for avoiding errors.

Background: in kXML endTag had no arguments, and non matching tags were very difficult to find... If namespace is null no namespace prefix is printed but just name. If namespace is empty string then serialzier will make sure that default empty namespace is declared (in XML 1.0 xmlns='').

entityRefback to summary
public void entityRef(String name) throws IOException

Implements org.xmlpull.v1.XmlSerializer.entityRef.

flushback to summary
public void flush() throws IOException

Implements org.xmlpull.v1.XmlSerializer.flush.

Doc from org.xmlpull.v1.XmlSerializer.flush.

Write all pending output to the stream. If method startTag() or attribute() was called then start tag is closed (final >) before flush() is called on underlying output stream.

Note

if there is need to close start tag (so no more attribute() calls are allowed) but without flushinging output call method text() with empty string (text("")).

getDepthback to summary
public int getDepth()

Implements org.xmlpull.v1.XmlSerializer.getDepth.

Doc from org.xmlpull.v1.XmlSerializer.getDepth.

Returns the current depth of the element. Outside the root element, the depth is 0. The depth is incremented by 1 when startTag() is called. The depth is decremented after the call to endTag() event was observed.

<!-- outside -->     0
<root>               1
  sometext                 1
    <foobar>         2
    </foobar>        2
</root>              1
<!-- outside -->     0
getFeatureback to summary
public boolean getFeature(String name)

Implements org.xmlpull.v1.XmlSerializer.getFeature.

Doc from org.xmlpull.v1.XmlSerializer.getFeature.

Return the current value of the feature with given name.

Note

unknown properties are always returned as null

Parameters
name:String

The name of feature to be retrieved.

Returns:boolean

The value of named feature.

getNameback to summary
public String getName()

Implements org.xmlpull.v1.XmlSerializer.getName.

Doc from org.xmlpull.v1.XmlSerializer.getName.

Returns the name of the current element as set by startTag(). It can only be null before first call to startTag() or when last endTag() is called to close first startTag().

Returns:String

namespace set by startTag() that is currently in scope

getNamespaceback to summary
public String getNamespace()

Implements org.xmlpull.v1.XmlSerializer.getNamespace.

Doc from org.xmlpull.v1.XmlSerializer.getNamespace.

Returns the namespace URI of the current element as set by startTag().

NOTE: that measn in particaulr that:

  • if there was startTag("", ...) then getNamespace() returns ""
  • if there was startTag(null, ...) then getNamespace() returns null
Returns:String

namespace set by startTag() that is currently in scope

getPrefixback to summary
public String getPrefix(String namespace, boolean create)

Implements org.xmlpull.v1.XmlSerializer.getPrefix.

Doc from org.xmlpull.v1.XmlSerializer.getPrefix.

Return namespace that corresponds to given prefix If there is no prefix bound to this namespace return null but if generatePrefix is false then return generated prefix.

Note

if the prefix is empty string "" and defualt namespace is bound to this prefix then empty string ("") is returned.

Note

prefixes "xml" and "xmlns" are already bound will have values as defined Namespaces in XML specification

getPrefixback to summary
private final String getPrefix(String namespace, boolean includeDefault, boolean create) throws IOException
getPropertyback to summary
public Object getProperty(String name)

Implements org.xmlpull.v1.XmlSerializer.getProperty.

Doc from org.xmlpull.v1.XmlSerializer.getProperty.

Look up the value of a property. The property name is any fully-qualified URI. I

Note

unknown properties are always returned as null

Parameters
name:String

The name of property to be retrieved.

Returns:Object

The value of named property.

ignorableWhitespaceback to summary
public void ignorableWhitespace(String s) throws IOException

Implements org.xmlpull.v1.XmlSerializer.ignorableWhitespace.

processingInstructionback to summary
public void processingInstruction(String pi) throws IOException

Implements org.xmlpull.v1.XmlSerializer.processingInstruction.

setFeatureback to summary
public void setFeature(String name, boolean value)

Implements org.xmlpull.v1.XmlSerializer.setFeature.

Doc from org.xmlpull.v1.XmlSerializer.setFeature.

Set feature identified by name (recommended to be URI for uniqueness). Some well known optional features are defined in http://www.xmlpull.org/v1/doc/features.html. If feature is not recocgnized or can not be set then IllegalStateException MUST be thrown.

setOutputback to summary
public void setOutput(Writer writer)

Implements org.xmlpull.v1.XmlSerializer.setOutput.

Doc from org.xmlpull.v1.XmlSerializer.setOutput.

Set the output to the given writer.

Warning

no information about encoding is available!

setOutputback to summary
public void setOutput(OutputStream os, String encoding) throws IOException

Implements org.xmlpull.v1.XmlSerializer.setOutput.

Doc from org.xmlpull.v1.XmlSerializer.setOutput.

Set to use binary output stream with given encoding.

setPrefixback to summary
public void setPrefix(String prefix, String namespace) throws IOException

Implements org.xmlpull.v1.XmlSerializer.setPrefix.

Doc from org.xmlpull.v1.XmlSerializer.setPrefix.

Binds the given prefix to the given namespace. This call is valid for the next element including child elements. The prefix and namespace MUST be always declared even if prefix is not used in element (startTag() or attribute()) - for XML 1.0 it must result in declaring xmlns:prefix='namespace' (or xmlns:prefix="namespace" depending what character is used to quote attribute value).

Note

this method MUST be called directly before startTag() and if anything but startTag() or setPrefix() is called next there will be exception.

Note

prefixes "xml" and "xmlns" are already bound and can not be redefined see: Namespaces in XML Errata.

Note

to set default namespace use as prefix empty string.

Parameters
prefix:String

must be not null (or IllegalArgumentException is thrown)

namespace:String

must be not null

setPropertyback to summary
public void setProperty(String name, Object value)

Implements org.xmlpull.v1.XmlSerializer.setProperty.

Doc from org.xmlpull.v1.XmlSerializer.setProperty.

Set the value of a property. (the property name is recommened to be URI for uniqueness). Some well known optional properties are defined in http://www.xmlpull.org/v1/doc/properties.html. If property is not recocgnized or can not be set then IllegalStateException MUST be thrown.

startDocumentback to summary
public void startDocument(String encoding, Boolean standalone) throws IOException

Implements org.xmlpull.v1.XmlSerializer.startDocument.

Doc from org.xmlpull.v1.XmlSerializer.startDocument.

Write <?xml declaration with encoding (if encoding not null) and standalone flag (if standalone not null) This method can only be called just after setOutput.

startTagback to summary
public XmlSerializer startTag(String namespace, String name) throws IOException

Implements org.xmlpull.v1.XmlSerializer.startTag.

Doc from org.xmlpull.v1.XmlSerializer.startTag.

Writes a start tag with the given namespace and name. If there is no prefix defined for the given namespace, a prefix will be defined automatically. The explicit prefixes for namespaces can be established by calling setPrefix() immediately before this method. If namespace is null no namespace prefix is printed but just name. If namespace is empty string then serialzier will make sure that default empty namespace is declared (in XML 1.0 xmlns='') or throw IllegalStateException if default namespace is already bound to non-empty string.

textback to summary
public XmlSerializer text(String text) throws IOException

Implements org.xmlpull.v1.XmlSerializer.text.

Doc from org.xmlpull.v1.XmlSerializer.text.

Writes text, where special XML chars are escaped automatically

textback to summary
public XmlSerializer text(char[] text, int start, int len) throws IOException

Implements org.xmlpull.v1.XmlSerializer.text.

Doc from org.xmlpull.v1.XmlSerializer.text.

Writes text, where special XML chars are escaped automatically

writeEscapedback to summary
private final void writeEscaped(String s, int quot) throws IOException