org.apache.xml.serializer

Interface ExtendedContentHandler

public interface ExtendedContentHandler extends ContentHandler

This interface describes extensions to the SAX ContentHandler interface. It is intended to be used by a serializer. The methods on this interface will implement SAX- like behavior. This allows the gradual collection of information rather than having it all up front. For example the call
 startElement(namespaceURI,localName,qName,atts)
 
could be replaced with the calls
 startElement(namespaceURI,localName,qName)
 addAttributes(atts)
 
If there are no attributes the second call can be dropped. If attributes are to be added one at a time with calls to
 addAttribute(namespaceURI, localName, qName, type, value)
 

UNKNOWN: internal

Field Summary
static intHTML_ATTREMPTY
static intHTML_ATTRURL
static intNO_BAD_CHARS
Method Summary
voidaddAttribute(String uri, String localName, String rawName, String type, String value, boolean XSLAttribute)
Add at attribute to the current element
voidaddAttribute(String qName, String value)
Add an attribute to the current element.
voidaddAttribute(String uri, String localName, String rawName, String type, String value)
Add at attribute to the current element, not from an xsl:attribute element.
voidaddAttributes(Attributes atts)
Add attributes to the current element
voidaddUniqueAttribute(String qName, String value, int flags)
Add a unique attribute to the current element.
voidaddXSLAttribute(String qName, String value, String uri)
Add an attribute from an xsl:attribute element.
voidcharacters(String chars)
This method is used to notify of a character event, but passing the data as a character String rather than the standard character array.
voidcharacters(Node node)
This method is used to notify of a character event, but passing the data as a DOM Node rather than the standard character array.
voidendElement(String elemName)
This method is used to notify that an element has ended.
voidentityReference(String entityName)
Notify of an entity reference.
NamespaceMappingsgetNamespaceMappings()
This method returns an object that has the current namespace mappings in effect.
StringgetNamespaceURI(String name, boolean isElement)
This method gets the prefix associated with a current element or attribute name.
StringgetNamespaceURIFromPrefix(String prefix)
This method returns the namespace URI currently associated with the prefix.
StringgetPrefix(String uri)
This method returns the prefix that currently maps to the given namespace URI.
voidnamespaceAfterStartElement(String uri, String prefix)
This method is used to notify that a prefix mapping is to start, but after an element is started.
voidsetSourceLocator(SourceLocator locator)
This method is used to set the source locator, which might be used to generated an error message.
voidstartElement(String uri, String localName, String qName)
This method is used to notify that an element is starting.
voidstartElement(String qName)
This method is used to notify of the start of an element
booleanstartPrefixMapping(String prefix, String uri, boolean shouldFlush)
This method is used to notify that a prefix maping is to start, which can be for the current element, or for the one to come.

Field Detail

HTML_ATTREMPTY

public static final int HTML_ATTREMPTY

HTML_ATTRURL

public static final int HTML_ATTRURL

NO_BAD_CHARS

public static final int NO_BAD_CHARS

Method Detail

addAttribute

public void addAttribute(String uri, String localName, String rawName, String type, String value, boolean XSLAttribute)
Add at attribute to the current element

Parameters: uri the namespace URI of the attribute name localName the local name of the attribute (without prefix) rawName the qualified name of the attribute type the attribute type typically character data (CDATA) value the value of the attribute XSLAttribute true if the added attribute is coming from an xsl:attribute element

Throws: SAXException

addAttribute

public void addAttribute(String qName, String value)
Add an attribute to the current element. The namespace URI of the attribute will be calculated from the prefix of qName. The local name will be derived from qName and the type will be assumed to be "CDATA".

Parameters: qName value

addAttribute

public void addAttribute(String uri, String localName, String rawName, String type, String value)
Add at attribute to the current element, not from an xsl:attribute element.

Parameters: uri the namespace URI of the attribute name localName the local name of the attribute (without prefix) rawName the qualified name of the attribute type the attribute type typically character data (CDATA) value the value of the attribute

Throws: SAXException

addAttributes

public void addAttributes(Attributes atts)
Add attributes to the current element

Parameters: atts the attributes to add.

Throws: SAXException

addUniqueAttribute

public void addUniqueAttribute(String qName, String value, int flags)
Add a unique attribute to the current element. The attribute is guaranteed to be unique here. The serializer can write it out immediately without saving it in a table first. The integer flag contains information about the attribute, which helps the serializer to decide whether a particular processing is needed.

Parameters: qName the fully qualified attribute name. value the attribute value flags a bitwise flag

addXSLAttribute

public void addXSLAttribute(String qName, String value, String uri)
Add an attribute from an xsl:attribute element.

Parameters: qName the qualified attribute name (prefix:localName) value the attributes value uri the uri that the prefix of the qName is mapped to.

characters

public void characters(String chars)
This method is used to notify of a character event, but passing the data as a character String rather than the standard character array.

Parameters: chars the character data

Throws: SAXException

characters

public void characters(Node node)
This method is used to notify of a character event, but passing the data as a DOM Node rather than the standard character array.

Parameters: node a DOM Node containing text.

Throws: SAXException

endElement

public void endElement(String elemName)
This method is used to notify that an element has ended. Unlike the standard SAX method
 endElement(namespaceURI,localName,qName)
 
only the last parameter is passed. If needed the serializer can derive the localName from the qualified name and derive the namespaceURI from its implementation.

Parameters: elemName the fully qualified element name.

Throws: SAXException

entityReference

public void entityReference(String entityName)
Notify of an entity reference.

Parameters: entityName the name of the entity

Throws: SAXException

getNamespaceMappings

public NamespaceMappings getNamespaceMappings()
This method returns an object that has the current namespace mappings in effect.

Returns: NamespaceMappings an object that has the current namespace mappings in effect.

getNamespaceURI

public String getNamespaceURI(String name, boolean isElement)
This method gets the prefix associated with a current element or attribute name.

Parameters: name the qualified name of an element, or attribute isElement true if it is an element name, false if it is an atttribute name

Returns: String the namespace URI associated with the element or attribute.

getNamespaceURIFromPrefix

public String getNamespaceURIFromPrefix(String prefix)
This method returns the namespace URI currently associated with the prefix.

Parameters: prefix a prefix of an element or attribute.

Returns: String the namespace URI currently associated with the prefix.

getPrefix

public String getPrefix(String uri)
This method returns the prefix that currently maps to the given namespace URI.

Parameters: uri the namespace URI

Returns: String the prefix that currently maps to the given URI.

namespaceAfterStartElement

public void namespaceAfterStartElement(String uri, String prefix)
This method is used to notify that a prefix mapping is to start, but after an element is started. The SAX method call
 startPrefixMapping(prefix,uri)
 
is used just before an element starts and applies to the element to come, not to the current element. This method applies to the current element. For example one could make the calls in this order:
 startElement("prfx8:elem9")
 namespaceAfterStartElement("http://namespace8","prfx8")
 

Parameters: uri the namespace URI being declared prefix the prefix that maps to the given namespace

Throws: SAXException

setSourceLocator

public void setSourceLocator(SourceLocator locator)
This method is used to set the source locator, which might be used to generated an error message.

Parameters: locator the source locator

startElement

public void startElement(String uri, String localName, String qName)
This method is used to notify that an element is starting. This method is just like the standard SAX method
 startElement(uri,localName,qname,atts)
 
but without the attributes.

Parameters: uri the namespace URI of the element localName the local name (without prefix) of the element qName the qualified name of the element

Throws: SAXException

startElement

public void startElement(String qName)
This method is used to notify of the start of an element

Parameters: qName the fully qualified name of the element

Throws: SAXException

startPrefixMapping

public boolean startPrefixMapping(String prefix, String uri, boolean shouldFlush)
This method is used to notify that a prefix maping is to start, which can be for the current element, or for the one to come.

Parameters: prefix the prefix that maps to the given URI uri the namespace URI of the given prefix shouldFlush if true this call is like the SAX startPrefixMapping(prefix,uri) call and the mapping applies to the element to come. If false the mapping applies to the current element.

Returns: boolean false if the prefix mapping was already in effect (in other words we are just re-declaring), true if this is a new, never before seen mapping for the element.

Throws: SAXException

Copyright B) 2006 Apache XML Project. All Rights Reserved.