javax.xml.transform.Result
, Receiver
, NamespaceResolver
IDFilter
public class StartTagBuffer extends ProxyReceiver implements NamespaceResolver
Modifier and Type | Field | Description |
---|---|---|
(package private) AttributeCollectionImpl |
bufferedAttributes |
|
(package private) int |
elementLocationId |
|
(package private) int |
elementNameCode |
|
(package private) int |
elementProperties |
|
(package private) int |
elementTypeCode |
nextReceiver
PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING
pipelineConfiguration, previousAtomic, systemId
Constructor | Description |
---|---|
StartTagBuffer() |
Modifier and Type | Method | Description |
---|---|---|
void |
attribute(int nameCode,
int typeCode,
java.lang.CharSequence value,
int locationId,
int properties) |
Notify an attribute.
|
protected void |
declareAllNamespaces() |
|
protected void |
declareNamespacesForStartElement() |
|
void |
endElement() |
endElement: Discard the namespaces declared on this element.
|
java.lang.String |
getAttribute(int nameCode) |
Get the value of the current attribute with a given nameCode
|
int |
getElementNameCode() |
Get the name of the current element
|
protected short |
getURICode(short prefixCode) |
Get the URI code corresponding to a given prefix code, by searching the
in-scope namespaces.
|
java.lang.String |
getURIForPrefix(java.lang.String prefix,
boolean useDefault) |
Get the namespace URI corresponding to a given prefix.
|
boolean |
hasAttributes() |
Determine if the current element has any attributes
|
java.util.Iterator |
iteratePrefixes() |
Get an iterator over all the prefixes declared in this namespace context.
|
void |
namespace(int namespaceCode,
int properties) |
Notify a namespace.
|
void |
setPipelineConfiguration(PipelineConfiguration config) |
Set the pipeline configuration
|
void |
startContent() |
startContent: Add any namespace undeclarations needed to stop
namespaces being inherited from parent elements
|
void |
startElement(int nameCode,
int typeCode,
int locationId,
int properties) |
startElement
|
protected void |
undeclareNamespacesForElement() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
characters, close, comment, endDocument, getConfiguration, getDocumentLocator, getNamePool, getUnderlyingReceiver, open, processingInstruction, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startDocument
append, getPipelineConfiguration, getSystemId
int elementNameCode
int elementTypeCode
int elementLocationId
int elementProperties
AttributeCollectionImpl bufferedAttributes
public void setPipelineConfiguration(PipelineConfiguration config)
Receiver
setPipelineConfiguration
in interface Receiver
setPipelineConfiguration
in class ProxyReceiver
public void startElement(int nameCode, int typeCode, int locationId, int properties) throws XPathException
startElement
in interface Receiver
startElement
in class ProxyReceiver
nameCode
- integer code identifying the name of the element within the name pool.typeCode
- integer code identifying the element's type within the name pool.locationId
- an integer which can be interpreted using a LocationProvider
to return
information such as line number and system ID. If no location information is available,
the value zero is supplied.properties
- properties of the element nodeXPathException
public void namespace(int namespaceCode, int properties) throws XPathException
ProxyReceiver
namespace
in interface Receiver
namespace
in class ProxyReceiver
namespaceCode
- an integer: the top half is a prefix code, the bottom half a URI code.
These may be translated into an actual prefix and URI using the name pool. A prefix code of
zero represents the empty prefix (that is, the default namespace). A URI code of zero represents
a URI of "", that is, a namespace undeclaration.properties
- The most important property is REJECT_DUPLICATES. If this property is set, the
namespace declaration will be rejected if it conflicts with a previous declaration of the same
prefix. If the property is not set, the namespace declaration will be ignored if it conflicts
with a previous declaration. This reflects the fact that when copying a tree, namespaces for child
elements are emitted before the namespaces of their parent element. Unfortunately this conflicts
with the XSLT rule for complex content construction, where the recovery action in the event of
conflicts is to take the namespace that comes last. XSLT therefore doesn't recover from this error:
it sets the REJECT_DUPLICATES flag, and this is treated as a hard error.XPathException
public void attribute(int nameCode, int typeCode, java.lang.CharSequence value, int locationId, int properties) throws XPathException
attribute
in interface Receiver
attribute
in class ProxyReceiver
nameCode
- The name of the attribute, as held in the name pooltypeCode
- The type of the attribute, as held in the name poolproperties
- Bit significant value. The following bits are defined:
locationId
- an integer which can be interpreted using a LocationProvider
to return
information such as line number and system ID. If no location information is available,
the value zero is supplied.XPathException
public void startContent() throws XPathException
startContent
in interface Receiver
startContent
in class ProxyReceiver
XPathException
protected void declareNamespacesForStartElement() throws XPathException
XPathException
protected void declareAllNamespaces() throws XPathException
XPathException
public void endElement() throws XPathException
endElement
in interface Receiver
endElement
in class ProxyReceiver
XPathException
protected void undeclareNamespacesForElement()
public int getElementNameCode()
public boolean hasAttributes()
public java.lang.String getAttribute(int nameCode)
protected short getURICode(short prefixCode)
prefixCode
- the 16-bit prefix code requiredpublic java.lang.String getURIForPrefix(java.lang.String prefix, boolean useDefault)
getURIForPrefix
in interface NamespaceResolver
prefix
- the namespace prefixuseDefault
- true if the default namespace is to be used when the
prefix is ""public java.util.Iterator iteratePrefixes()
iteratePrefixes
in interface NamespaceResolver