Attributes dictionaries.

When parsing XML using the FoX SAX module, attributes are returned contained within a dictionary object.

This dictionary object implements all the methods described by the SAX interfaces Attributes and Attributes2. Full documentation is available from the SAX Javadoc, but is reproduced here for ease of reference.

All of the attribute dictionary objects and functions are exported through FoX_sax - you must USE the module to enable them. The dictionary API is described here.

An attribute dictionary consists of a list of entries, one for each attribute. The entries all have the following pieces of data:

and for namespaced attributes:

In addition, the following pieces of data will be picked up from a DTD if present:


Derived types

There is one derived type of interest, dictionary_t.

It is opaque - that is, it should only be manipulated through the functions described here.

Functions

Inspecting the dictionary

Returns an integer with the length of the dictionary, ie the number of dictionary entries.

Returns a logical value according to whether the dictionary contains an attribute named key or not.

Returns a logical value according to whether the dictionary contains an attribute with the correct URI and localname.

Retrieving data from the dictionary

Return the full name of the ith dictionary entry.

If an integer is passed in - the value of the ith attribute.

If a single string is passed in, the value of the attribute with that name.

If two strings are passed in, the value of the attribute with that uri and localname.

Returns a string containing the nsURI of the ith attribute.

Returns a string containing the localName of the ith attribute.

DTD-driven functions

The following functions are only of interest if you are using DTDs.

If an integer is passed in, returns the type of the ith attribute.

If a single string is passed in, returns the type of the attribute with that QName.

If a single string is passed in, returnsthe type of the attribute with that {uri,localName}.

If an integer is passed in, returns false unless the ith attribute is declared in the DTD.

If a single string is passed in, returns false unless the attribute with that QName is declared in the DTD.

If a single string is passed in, returns false unless the attribute with that {uri,localName} is declared in the DTD.

If an integer is passed in, returns true unless the ith attribute is a default value from the DTD.

If a single string is passed in, returns true unless the attribute with that QName is a default value from the DTD.

If a single string is passed in, returns true unless the attribute with that {uri,localName} is a default value from the DTD.