Class Summary : TAttributes2Impl

SAX2 extension helper for additional Attributes information, implementing the
IAttributes2 interface.
This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY.

This is not part of core-only SAX2 distributions.

The specified flag for each attribute will always be true, unless it has been set to false in the copy constructor or using setSpecified. Similarly, the declared flag for each attribute will always be false, except for defaulted attributes (specified is false), non-CDATA attributes, or when it is set to true using setDeclared. If you change an attribute's type by hand, you may need to modify its declared flag to match.


Since : SAX 2.0 (extensions 1.1 alpha)

Methods

function isDeclared(Integer) : Boolean
function isDeclared(SAXString) : Boolean
function isDeclared(SAXString, SAXString) : Boolean
function isSpecified(Integer) : Boolean
function isSpecified(SAXString, SAXString) : Boolean
function isSpecified(SAXString) : Boolean
procedure setAttributes(IAttributes)
procedure addAttribute(SAXString, SAXString, SAXString, SAXString, SAXString)
procedure removeAttribute(Integer)
procedure setDeclared(Integer, Boolean)
procedure setSpecified(Integer, Boolean)


function isDeclared( index : Integer) : Boolean;

Returns false unless the attribute was declared in the DTD. This helps distinguish two kinds of attributes that SAX reports as CDATA: ones that were declared (and hence are usually valid), and those that were not (and which are never valid).
Parameter : index The attribute index (zero-based).
Result : true if the attribute was declared in the DTD, false otherwise.
Exception : Exception When the supplied index does not identify an attribute.

Top


function isDeclared(const qName : SAXString) : Boolean;

Returns false unless the attribute was declared in the DTD. This helps distinguish two kinds of attributes that SAX reports as CDATA: ones that were declared (and hence are usually valid), and those that were not (and which are never valid).
Parameter : qName The XML 1.0 qualified name.
Result : true if the attribute was declared in the DTD, false otherwise.
Exception : ESAXIllegalArgumentException When the supplied name does not identify an attribute.

Top


function isDeclared(const uri : SAXString; const localName : SAXString) : Boolean;

Returns false unless the attribute was declared in the DTD. This helps distinguish two kinds of attributes that SAX reports as CDATA: ones that were declared (and hence are usually valid), and those that were not (and which are never valid).

Remember that since DTDs do not "understand" namespaces, the namespace URI associated with an attribute may not have come from the DTD. The declaration will have applied to the attribute's qName.


Parameter : uri The Namespace URI, or the empty string if the name has no Namespace URI.
Parameter : localName The attribute's local name.
Result : true if the attribute was declared in the DTD, false otherwise.
Exception : ESAXIllegalArgumentException When the supplied names do not identify an attribute.

Top


function isSpecified( index : Integer) : Boolean;

Returns the current value of an attribute's "specified" flag.
Parameter : index The attribute index (zero-based).
Result : current flag value
Exception : EIllegalArgumentException When the supplied index does not identify an attribute.

Top


function isSpecified(const uri : SAXString; const localName : SAXString) : Boolean;

Returns the current value of an attribute's "specified" flag.
Parameter : uri The Namespace URI, or the empty string if the name has no Namespace URI.
Parameter : localName The attribute's local name.
Result : current flag value
Exception : ESAXIllegalArgumentException When the supplied names do not identify an attribute.

Top


function isSpecified(const qName : SAXString) : Boolean;

Returns the current value of an attribute's "specified" flag.
Parameter : qName The XML 1.0 qualified name.
Result : current flag value
Exception : ESAXIllegalArgumentException When the supplied name does not identify an attribute.

Top


procedure setAttributes(const atts : IAttributes);

Copy an entire Attributes object. The "specified" flags are assigned as true, unless the object is an Attributes2 object in which case those values are copied.
See : TAttributesImpl.setAttributes

Top


procedure addAttribute(const uri : SAXString; const localName : SAXString; const qName : SAXString; const attrType : SAXString; const value : SAXString);

Add an attribute to the end of the list, setting its "specified" flag to true. To set that flag's value to false, use setSpecified.

Unless the attribute type is CDATA, this attribute is marked as being declared in the DTD. To set that flag's value to true for CDATA attributes, use setDeclared.


See : TAttributesImpl.addAttribute

Top


procedure removeAttribute( index : Integer);

Remove an attribute declaration.
Parameter : index The index of the attribute (zero-based).

Top


procedure setDeclared( index : Integer; value : Boolean);

Assign a value to the "declared" flag of a specific attribute. This is normally needed only for attributes of type CDATA, including attributes whose type is changed to or from CDATA.
Parameter : index The index of the attribute (zero-based).
Parameter : value The desired flag value.
Exception : ESAXIllegalArgumentException When the supplied index does not identify an attribute.
See : TAttributes2Impl.setType

Top


procedure setSpecified( index : Integer; value : Boolean);

Assign a value to the "specified" flag of a specific attribute. This is the only way this flag can be cleared, except clearing by initialization with the copy constructor.
Parameter : index The index of the attribute (zero-based).
Parameter : value The desired flag value.
Exception : ESAXIllegalArgumentException When the supplied index does not identify an attribute.

Top