|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.io.Writer
com.openharbor.beck.write.XMLWriter
Generates an XML document via a stream-style interface. The document is generated in fragments by a sequence of method calls. This interface is similar to SAX2, by design; this interface could easily be implemented by delegation to an org.xml.sax.ContentHandler.
Nested Class Summary | |
static class |
XMLWriter.MapKey
A key for use with a Map in an XMLWriter's document state or element stack. |
Field Summary | |
static XMLWriter.MapKey |
CYCLES
|
static XMLWriter.MapKey |
DECLARED_NAMESPACES
|
static XMLWriter.MapKey |
ELEMENT_NAME
|
Prefixer |
prefixer
|
static XMLWriter.MapKey |
SOURCE
|
static XMLWriter.MapKey |
TEXT_IS_SIGNIFICANT
|
static java.lang.String |
XSI
|
static XMLName |
XSI_TYPE
|
Fields inherited from class java.io.Writer |
lock |
Constructor Summary | |
XMLWriter()
|
Method Summary | |
void |
attribute(XMLName name,
java.lang.String value)
Add an attribute to the current element. |
void |
attributes(java.util.Map map)
|
protected java.lang.String |
choosePrefix(java.lang.String namespace,
java.util.Map declared)
|
protected abstract void |
declareNamespace(java.lang.String prefix,
java.lang.String namespaceURI)
|
void |
endElement()
|
java.util.HashMap |
getDocumentState()
|
java.util.List |
getElementStack()
|
java.util.HashMap |
getElementStackTop()
|
java.lang.String |
namespace(java.lang.String uri)
Add a namespace declaration to the current element. |
java.lang.String |
namespace(java.lang.String prefix,
java.lang.String uri)
Add a namespace declaration to the current element. |
static XMLWriter.MapKey |
newMapKey(java.lang.String description)
Allocate a key for getDocumentState() or the elements of getElementStack(). |
protected java.lang.String |
prefixToNamespace(java.lang.String prefix)
Find the namespace URI for a given XML name prefix. |
protected XMLName |
resolveNamespace(java.lang.String qname,
boolean isAttribute)
Convert an XML-style name <prefix:local> to its namespace URI and local part. |
protected void |
setDocumentState(java.util.HashMap documentState)
|
protected void |
startElement(XMLName name)
|
void |
startElement(XMLThing tag)
|
abstract void |
write(char[] content,
int off,
int len)
Add text content to the current element. |
void |
write(java.lang.String str)
|
void |
write(java.lang.String str,
int off,
int len)
|
Methods inherited from class java.io.Writer |
close, flush, write, write |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public Prefixer prefixer
public static final XMLWriter.MapKey ELEMENT_NAME
public static final XMLWriter.MapKey SOURCE
public static final XMLWriter.MapKey CYCLES
public static final XMLWriter.MapKey DECLARED_NAMESPACES
public static final XMLWriter.MapKey TEXT_IS_SIGNIFICANT
public static final java.lang.String XSI
public static final XMLName XSI_TYPE
Constructor Detail |
public XMLWriter()
Method Detail |
public void startElement(XMLThing tag) throws java.io.IOException
java.io.IOException
protected void startElement(XMLName name) throws java.io.IOException
java.io.IOException
public void attribute(XMLName name, java.lang.String value) throws java.io.IOException
java.io.IOException
- if text or sub-elements have already been written in this element.public void attributes(java.util.Map map) throws java.io.IOException
java.io.IOException
public java.lang.String namespace(java.lang.String uri) throws java.io.IOException
java.io.IOException
- if text or sub-elements have already been written in this element.public java.lang.String namespace(java.lang.String prefix, java.lang.String uri) throws java.io.IOException
java.io.IOException
- if text or sub-elements have already been written in this element.protected java.lang.String choosePrefix(java.lang.String namespace, java.util.Map declared) throws java.io.IOException
java.io.IOException
protected abstract void declareNamespace(java.lang.String prefix, java.lang.String namespaceURI) throws java.io.IOException
java.io.IOException
protected XMLName resolveNamespace(java.lang.String qname, boolean isAttribute) throws UnknownNamespaceException
UnknownNamespaceException
protected java.lang.String prefixToNamespace(java.lang.String prefix) throws UnknownNamespaceException
UnknownNamespaceException
public abstract void write(char[] content, int off, int len) throws java.io.IOException
java.io.IOException
public void write(java.lang.String str) throws java.io.IOException
java.io.IOException
public void write(java.lang.String str, int off, int len) throws java.io.IOException
java.io.IOException
public void endElement() throws java.io.IOException
java.io.IOException
public final java.util.HashMap getDocumentState()
protected final void setDocumentState(java.util.HashMap documentState)
public java.util.HashMap getElementStackTop()
public java.util.List getElementStack()
Callers should access the HashMaps using a key statically allocated by newMapKey (below). In this way, independent callers can avoid interfering with each other's use of the Map.
public static XMLWriter.MapKey newMapKey(java.lang.String description)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |