com.ctc.wstx.sw
Class NonNsStreamWriter

java.lang.Object
  extended by com.ctc.wstx.sw.BaseStreamWriter
      extended by com.ctc.wstx.sw.NonNsStreamWriter
All Implemented Interfaces:
OutputConfigFlags, javax.xml.stream.XMLStreamConstants, javax.xml.stream.XMLStreamWriter, Validatable, ValidationContext, XMLStreamWriter2

public class NonNsStreamWriter
extends BaseStreamWriter

Implementation of XMLStreamWriter used when namespace support is not enabled. This means that only local names are used for elements and attributes; and if rudimentary namespace declarations need to be output, they are output using attribute writing methods.


Field Summary
 
Fields inherited from class com.ctc.wstx.sw.BaseStreamWriter
ATTR_MIN_ARRAYCOPY, CHAR_SPACE, DEFAULT_COPYBUFFER_LEN, mAnyOutput, mAttrCollector, mCfgAutomaticEmptyElems, mCfgCDataAsText, mCfgCopyDefaultAttrs, mCheckAttrs, mCheckStructure, mConfig, mCopyBuffer, mDtdRootElem, mEmptyElement, mEncoding, MIN_ARRAYCOPY, mInputElemStack, mLastReader, mLastReaderImpl, mStartElementOpen, mState, mValidator, mVldContent, mVldProbHandler, mWriter, mXml11, NO_NS_URI, NO_PREFIX, STATE_EPILOG, STATE_PROLOG, STATE_TREE
 
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
 
Fields inherited from interface com.ctc.wstx.cfg.OutputConfigFlags
CFG_AUTOMATIC_EMPTY_ELEMS, 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
 
Constructor Summary
NonNsStreamWriter(XmlWriter xw, java.lang.String enc, WriterConfig cfg)
           
 
Method Summary
protected  void closeStartElement(boolean emptyElem)
          Method called to close an open start element, when another main-level element (not namespace declaration or attribute) is being output; except for end element which is handled differently.
 void copyStartElement(InputElementStack elemStack, AttributeCollector attrCollector)
          Element copier method implementation suitable to be used with non-namespace-aware writers.
 javax.xml.namespace.QName getCurrentElementName()
          Method that can be used to access name information of the innermost (top) element in the element stack.
 javax.xml.namespace.NamespaceContext getNamespaceContext()
           
 java.lang.String getNamespaceURI(java.lang.String prefix)
          Method that can be called by the validator to resolve a namespace prefix of the currently active top-level element.
 java.lang.String getPrefix(java.lang.String uri)
           
protected  java.lang.String getTopElementDesc()
           
 void setDefaultNamespace(java.lang.String uri)
           
 void setNamespaceContext(javax.xml.namespace.NamespaceContext context)
           
 void setPrefix(java.lang.String prefix, java.lang.String uri)
           
 void writeAttribute(java.lang.String localName, java.lang.String value)
           
 void writeAttribute(java.lang.String nsURI, java.lang.String localName, java.lang.String value)
           
 void writeAttribute(java.lang.String prefix, java.lang.String nsURI, java.lang.String localName, java.lang.String value)
           
 void writeDefaultNamespace(java.lang.String nsURI)
           
 void writeEmptyElement(java.lang.String localName)
           
 void writeEmptyElement(java.lang.String nsURI, java.lang.String localName)
           
 void writeEmptyElement(java.lang.String prefix, java.lang.String localName, java.lang.String nsURI)
           
 void writeEndElement()
           
 void writeEndElement(javax.xml.namespace.QName name)
          Method called by WstxEventWriter (instead of the version that takes no argument), so that we can verify it does match the start element, if necessary
 void writeFullEndElement()
          Similar to writeEndElement(), but never allows implicit creation of empty elements.
 void writeNamespace(java.lang.String prefix, java.lang.String nsURI)
           
 void writeStartElement(javax.xml.stream.events.StartElement elem)
          Convenience method needed by WstxEventWriter, to use when writing a start element, and possibly its attributes and namespace declarations.
 void writeStartElement(java.lang.String localName)
           
 void writeStartElement(java.lang.String nsURI, java.lang.String localName)
           
 void writeStartElement(java.lang.String prefix, java.lang.String localName, java.lang.String nsURI)
           
 
Methods inherited from class com.ctc.wstx.sw.BaseStreamWriter
addDefaultAttribute, close, copyEventFromReader, doReportProblem, doWriteStartDocument, findAttributeIndex, flush, getAttributeCount, getAttributeLocalName, getAttributeNamespace, getAttributePrefix, getAttributeValue, getAttributeValue, getBaseUri, getEncoding, getLocation, getProperty, getValidationLocation, getXmlVersion, inPrologOrEpilog, isNotationDeclared, isPropertySupported, isUnparsedEntityDeclared, isValidating, reportIllegalArg, reportIllegalMethod, reportInvalidContent, reportNwfAttr, reportNwfAttr, reportNwfContent, reportNwfContent, reportNwfStructure, reportNwfStructure, reportProblem, reportValidationProblem, reportValidationProblem, reportValidationProblem, reportValidationProblem, reportValidationProblem, reportValidationProblem, setProperty, setValidationProblemHandler, stopValidatingAgainst, stopValidatingAgainst, throwFromIOE, throwOutputError, throwOutputError, toString, validateAgainst, verifyRootElement, verifyWriteCData, verifyWriteDTD, wrapAsRawWriter, wrapAsTextWriter, writeCData, writeCData, writeCharacters, writeCharacters, writeCharacters, writeComment, writeDTD, writeDTD, writeDTD, writeEndDocument, writeEntityRef, writeProcessingInstruction, writeProcessingInstruction, writeRaw, writeRaw, writeRaw, writeStartDocument, writeStartDocument, writeStartDocument, writeStartDocument
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NonNsStreamWriter

public NonNsStreamWriter(XmlWriter xw,
                         java.lang.String enc,
                         WriterConfig cfg)
Method Detail

getNamespaceContext

public javax.xml.namespace.NamespaceContext getNamespaceContext()
Specified by:
getNamespaceContext in interface javax.xml.stream.XMLStreamWriter
Specified by:
getNamespaceContext in class BaseStreamWriter

getPrefix

public java.lang.String getPrefix(java.lang.String uri)
Specified by:
getPrefix in interface javax.xml.stream.XMLStreamWriter
Specified by:
getPrefix in class BaseStreamWriter

setDefaultNamespace

public void setDefaultNamespace(java.lang.String uri)
                         throws javax.xml.stream.XMLStreamException
Specified by:
setDefaultNamespace in interface javax.xml.stream.XMLStreamWriter
Specified by:
setDefaultNamespace in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

setNamespaceContext

public void setNamespaceContext(javax.xml.namespace.NamespaceContext context)
Specified by:
setNamespaceContext in interface javax.xml.stream.XMLStreamWriter
Specified by:
setNamespaceContext in class BaseStreamWriter

setPrefix

public void setPrefix(java.lang.String prefix,
                      java.lang.String uri)
               throws javax.xml.stream.XMLStreamException
Specified by:
setPrefix in interface javax.xml.stream.XMLStreamWriter
Specified by:
setPrefix in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeAttribute

public void writeAttribute(java.lang.String localName,
                           java.lang.String value)
                    throws javax.xml.stream.XMLStreamException
Specified by:
writeAttribute in interface javax.xml.stream.XMLStreamWriter
Specified by:
writeAttribute in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeAttribute

public void writeAttribute(java.lang.String nsURI,
                           java.lang.String localName,
                           java.lang.String value)
                    throws javax.xml.stream.XMLStreamException
Specified by:
writeAttribute in interface javax.xml.stream.XMLStreamWriter
Specified by:
writeAttribute in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeAttribute

public void writeAttribute(java.lang.String prefix,
                           java.lang.String nsURI,
                           java.lang.String localName,
                           java.lang.String value)
                    throws javax.xml.stream.XMLStreamException
Specified by:
writeAttribute in interface javax.xml.stream.XMLStreamWriter
Specified by:
writeAttribute in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeDefaultNamespace

public void writeDefaultNamespace(java.lang.String nsURI)
                           throws javax.xml.stream.XMLStreamException
Specified by:
writeDefaultNamespace in interface javax.xml.stream.XMLStreamWriter
Specified by:
writeDefaultNamespace in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeEmptyElement

public void writeEmptyElement(java.lang.String localName)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeEmptyElement in interface javax.xml.stream.XMLStreamWriter
Specified by:
writeEmptyElement in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeEmptyElement

public void writeEmptyElement(java.lang.String nsURI,
                              java.lang.String localName)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeEmptyElement in interface javax.xml.stream.XMLStreamWriter
Specified by:
writeEmptyElement in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeEmptyElement

public void writeEmptyElement(java.lang.String prefix,
                              java.lang.String localName,
                              java.lang.String nsURI)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeEmptyElement in interface javax.xml.stream.XMLStreamWriter
Specified by:
writeEmptyElement in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeEndElement

public void writeEndElement()
                     throws javax.xml.stream.XMLStreamException
Specified by:
writeEndElement in interface javax.xml.stream.XMLStreamWriter
Specified by:
writeEndElement in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeNamespace

public void writeNamespace(java.lang.String prefix,
                           java.lang.String nsURI)
                    throws javax.xml.stream.XMLStreamException
Specified by:
writeNamespace in interface javax.xml.stream.XMLStreamWriter
Specified by:
writeNamespace in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeStartElement

public void writeStartElement(java.lang.String localName)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeStartElement in interface javax.xml.stream.XMLStreamWriter
Specified by:
writeStartElement in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeStartElement

public void writeStartElement(java.lang.String nsURI,
                              java.lang.String localName)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeStartElement in interface javax.xml.stream.XMLStreamWriter
Specified by:
writeStartElement in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeStartElement

public void writeStartElement(java.lang.String prefix,
                              java.lang.String localName,
                              java.lang.String nsURI)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeStartElement in interface javax.xml.stream.XMLStreamWriter
Specified by:
writeStartElement in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeFullEndElement

public void writeFullEndElement()
                         throws javax.xml.stream.XMLStreamException
Similar to writeEndElement(), but never allows implicit creation of empty elements.

Specified by:
writeFullEndElement in interface XMLStreamWriter2
Specified by:
writeFullEndElement in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

getCurrentElementName

public javax.xml.namespace.QName getCurrentElementName()
Description copied from interface: ValidationContext
Method that can be used to access name information of the innermost (top) element in the element stack.

Specified by:
getCurrentElementName in interface ValidationContext
Specified by:
getCurrentElementName in class BaseStreamWriter
Returns:
Name of the element at the top of the current element stack, if any. During validation calls it refers to the element being processed (start or end tag), or its parent (when processing text nodes), or null (in document prolog and epilog).

getNamespaceURI

public java.lang.String getNamespaceURI(java.lang.String prefix)
Description copied from interface: ValidationContext
Method that can be called by the validator to resolve a namespace prefix of the currently active top-level element. This may be necessary for things like DTD validators (which may need to heuristically guess proper namespace URI of attributes, esp. ones with default values).

Specified by:
getNamespaceURI in interface ValidationContext
Specified by:
getNamespaceURI in class BaseStreamWriter

writeStartElement

public void writeStartElement(javax.xml.stream.events.StartElement elem)
                       throws javax.xml.stream.XMLStreamException
Description copied from class: BaseStreamWriter
Convenience method needed by WstxEventWriter, to use when writing a start element, and possibly its attributes and namespace declarations.

Specified by:
writeStartElement in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeEndElement

public void writeEndElement(javax.xml.namespace.QName name)
                     throws javax.xml.stream.XMLStreamException
Method called by WstxEventWriter (instead of the version that takes no argument), so that we can verify it does match the start element, if necessary

Specified by:
writeEndElement in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

closeStartElement

protected void closeStartElement(boolean emptyElem)
                          throws javax.xml.stream.XMLStreamException
Method called to close an open start element, when another main-level element (not namespace declaration or attribute) is being output; except for end element which is handled differently.

Specified by:
closeStartElement in class BaseStreamWriter
Throws:
javax.xml.stream.XMLStreamException

copyStartElement

public void copyStartElement(InputElementStack elemStack,
                             AttributeCollector attrCollector)
                      throws java.io.IOException,
                             javax.xml.stream.XMLStreamException
Element copier method implementation suitable to be used with non-namespace-aware writers. The only special thing here is that the copier can convert namespace declarations to equivalent attribute writes.

Specified by:
copyStartElement in class BaseStreamWriter
Throws:
java.io.IOException
javax.xml.stream.XMLStreamException

getTopElementDesc

protected java.lang.String getTopElementDesc()
Specified by:
getTopElementDesc in class BaseStreamWriter