|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.stax2.ri.Stax2WriterImpl
com.ctc.wstx.sw.BaseStreamWriter
com.ctc.wstx.sw.TypedStreamWriter
com.ctc.wstx.sw.BaseNsStreamWriter
com.ctc.wstx.sw.RepairingNsStreamWriter
public final class RepairingNsStreamWriter
Namespace-aware implementation of XMLStreamWriter
, that does
namespace repairing, ie resolves possible conflicts between prefixes
(add new bindings as necessary), as well as automatically creates
namespace declarations as necessary.
Field Summary | |
---|---|
protected String |
mAutomaticNsPrefix
|
protected int[] |
mAutoNsSeq
Sequence number used for generating dynamic namespace prefixes. |
protected String |
mSuggestedDefNs
|
protected HashMap |
mSuggestedPrefixes
Map that contains URI-to-prefix entries that point out suggested prefixes for URIs. |
Fields inherited from class com.ctc.wstx.sw.BaseNsStreamWriter |
---|
ERR_NSDECL_WRONG_STATE, mAutomaticNS, mCurrElem, mEmptyElementHandler, mOutputElemPool, mPoolSize, mRootNsContext, sPrefixXml, sPrefixXmlns |
Fields inherited from class com.ctc.wstx.sw.TypedStreamWriter |
---|
mValueEncoderFactory |
Fields inherited from class com.ctc.wstx.sw.BaseStreamWriter |
---|
ATTR_MIN_ARRAYCOPY, CHAR_SPACE, DEFAULT_COPYBUFFER_LEN, mAnyOutput, mCfgAutomaticEmptyElems, mCfgCDataAsText, mCfgCopyDefaultAttrs, mCheckAttrs, mCheckStructure, mConfig, mCopyBuffer, mDtdRootElem, mEmptyElement, mEncoding, MIN_ARRAYCOPY, mReturnNullForDefaultNamespace, mStartElementOpen, mState, mValidator, mVldContent, mVldProbHandler, mWriter, mXml11, STATE_EPILOG, STATE_PROLOG, STATE_TREE |
Fields inherited from interface com.ctc.wstx.cfg.OutputConfigFlags |
---|
CFG_ADD_SPACE_AFTER_EMPTY_ELEM, CFG_AUTO_CLOSE_OUTPUT, CFG_AUTOMATIC_EMPTY_ELEMENTS, CFG_AUTOMATIC_END_ELEMENTS, CFG_AUTOMATIC_NS, CFG_COPY_DEFAULT_ATTRS, CFG_ENABLE_NS, CFG_ESCAPE_CR, CFG_FIX_CONTENT, CFG_OUTPUT_CDATA_AS_TEXT, CFG_VALIDATE_ATTR, CFG_VALIDATE_CONTENT, CFG_VALIDATE_NAMES, CFG_VALIDATE_STRUCTURE |
Fields inherited from interface javax.xml.stream.XMLStreamConstants |
---|
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT |
Constructor Summary | |
---|---|
RepairingNsStreamWriter(XmlWriter xw,
String enc,
WriterConfig cfg)
|
Method Summary | |
---|---|
void |
copyStartElement(InputElementStack elemStack,
AttributeCollector ac)
Element copier method implementation suitable for use with namespace-aware writers in repairing mode. |
void |
doSetPrefix(String prefix,
String uri)
|
protected String |
findElemPrefix(String nsURI,
SimpleOutputElement elem)
Method called to find an existing prefix for the given namespace, if any exists in the scope. |
protected String |
findOrCreateAttrPrefix(String suggPrefix,
String nsURI,
SimpleOutputElement elem)
Method called to somehow find a prefix for given namespace, to be used for a new start element; either use an existing one, or generate a new one. |
protected String |
generateElemPrefix(String suggPrefix,
String nsURI,
SimpleOutputElement elem)
Method called after findElemPrefix(java.lang.String, com.ctc.wstx.sw.SimpleOutputElement) has returned null,
to create and bind a namespace mapping for specified namespace. |
void |
setDefaultNamespace(String uri)
With repairing writer, this is only taken as a suggestion as to how the caller would prefer prefixes to be mapped. |
String |
validateQNamePrefix(QName name)
Method called before writing a QName via Typed Access API. |
void |
writeAttribute(String nsURI,
String localName,
String value)
|
void |
writeAttribute(String prefix,
String nsURI,
String localName,
String value)
|
void |
writeDefaultNamespace(String nsURI)
|
void |
writeNamespace(String prefix,
String nsURI)
|
void |
writeStartElement(StartElement elem)
Convenience method needed by XMLEventWriter
implementation, to use when
writing a start element, and possibly its attributes and namespace
declarations. |
protected void |
writeStartOrEmpty(String localName,
String nsURI)
|
protected void |
writeStartOrEmpty(String suggPrefix,
String localName,
String nsURI)
|
protected void |
writeTypedAttribute(String prefix,
String nsURI,
String localName,
AsciiValueEncoder enc)
Method that will write attribute with value that is known not to require additional escaping. |
Methods inherited from class org.codehaus.stax2.ri.Stax2WriterImpl |
---|
copyStartElement |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected final String mAutomaticNsPrefix
protected int[] mAutoNsSeq
protected String mSuggestedDefNs
protected HashMap mSuggestedPrefixes
BaseNsStreamWriter.setPrefix(java.lang.String, java.lang.String)
, and they are only used as hints for binding;
if there are conflicts, repairing writer can just use some other
prefix.
Constructor Detail |
---|
public RepairingNsStreamWriter(XmlWriter xw, String enc, WriterConfig cfg)
Method Detail |
---|
public void writeAttribute(String nsURI, String localName, String value) throws XMLStreamException
writeAttribute
in interface XMLStreamWriter
writeAttribute
in class BaseNsStreamWriter
XMLStreamException
public void writeAttribute(String prefix, String nsURI, String localName, String value) throws XMLStreamException
writeAttribute
in interface XMLStreamWriter
writeAttribute
in class BaseNsStreamWriter
XMLStreamException
public void writeDefaultNamespace(String nsURI) throws XMLStreamException
writeDefaultNamespace
in interface XMLStreamWriter
writeDefaultNamespace
in class BaseNsStreamWriter
XMLStreamException
public void writeNamespace(String prefix, String nsURI) throws XMLStreamException
writeNamespace
in interface XMLStreamWriter
writeNamespace
in class BaseNsStreamWriter
XMLStreamException
public void setDefaultNamespace(String uri) throws XMLStreamException
setDefaultNamespace
in interface XMLStreamWriter
setDefaultNamespace
in class BaseNsStreamWriter
XMLStreamException
public void doSetPrefix(String prefix, String uri) throws XMLStreamException
doSetPrefix
in class BaseNsStreamWriter
XMLStreamException
public void writeStartElement(StartElement elem) throws XMLStreamException
BaseStreamWriter
XMLEventWriter
implementation, to use when
writing a start element, and possibly its attributes and namespace
declarations.
writeStartElement
in class BaseNsStreamWriter
XMLStreamException
protected void writeTypedAttribute(String prefix, String nsURI, String localName, AsciiValueEncoder enc) throws XMLStreamException
TypedStreamWriter
writeTypedAttribute
in class BaseNsStreamWriter
XMLStreamException
protected void writeStartOrEmpty(String localName, String nsURI) throws XMLStreamException
writeStartOrEmpty
in class BaseNsStreamWriter
XMLStreamException
protected void writeStartOrEmpty(String suggPrefix, String localName, String nsURI) throws XMLStreamException
writeStartOrEmpty
in class BaseNsStreamWriter
XMLStreamException
public final void copyStartElement(InputElementStack elemStack, AttributeCollector ac) throws IOException, XMLStreamException
setPrefix
, writeNamespace
and writeStartElement
; the order writers expect is
bit different from the order in which element information is
passed in.
copyStartElement
in class BaseStreamWriter
IOException
XMLStreamException
public String validateQNamePrefix(QName name) throws XMLStreamException
BaseStreamWriter
validateQNamePrefix
in class BaseStreamWriter
XMLStreamException
protected final String findElemPrefix(String nsURI, SimpleOutputElement elem) throws XMLStreamException
nsURI
- URI of namespace for which we need a prefix
XMLStreamException
protected final String generateElemPrefix(String suggPrefix, String nsURI, SimpleOutputElement elem) throws XMLStreamException
findElemPrefix(java.lang.String, com.ctc.wstx.sw.SimpleOutputElement)
has returned null,
to create and bind a namespace mapping for specified namespace.
XMLStreamException
protected final String findOrCreateAttrPrefix(String suggPrefix, String nsURI, SimpleOutputElement elem) throws XMLStreamException
suggPrefix
- Suggested prefix to bind, if any; may be null
to indicate "no preference"nsURI
- URI of namespace for which we need a prefixelem
- Currently open start element, on which the attribute
will be added.
XMLStreamException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |