Description This method returns the value of an attribute in a node. For example, in the XFDL fragment shown, the mimedata node has an attribute called encoding with the value base64.
public String getAttribute(String theNamespaceURI,
) throws UWIException;
Table 1. Method parameters
|theNamespaceURI||String||The namespace URI for the attribute. For example:
|theAttribute||String||The local name of the attribute. For example, encoding.|
Returns The attribute's value or throws a generic exception (UWIException) if an error occurs. If the attribute is empty or does not exist, the method returns null.
If you refer to an attribute with a namespace prefix, getAttribute first looks for a complete match, including both prefix and attribute name. If it does not find a match, it will look for a matching attribute name that has no prefix but whose containing element has the same namespace.
For example, assume that the custom namespace and the test namespace both resolve to the same URI. In the following case, looking for the id attribute would locate the second attribute (test:id), since it has an explicit namespace declaration:
However, in the next case, the id attribute does not have an explicit namespace declaration. Instead, it inherits the custom namespace. However, since the inherited namespace resolves to the same URI, the id attribute is still located:
<a xmlns:custom="ABC" xmlns:test="ABC">
<custom:myElement id="1" test:id="2">
Forms generally use three special attributes that are not in an explicitly defined namespace and which require special commands to retrieve.
The first is the default namespace attribute, which looks like this:
To retrieve this attribute, you must use a namespace URI of null and the attribute name xmlns.
The second special attribute is a namespace declaration, which looks like this:
To retrieve this sort of attribute, you must use the namespace URI http://www.w3.org/2000/xmlns and the appropriate attribute name, such as custom.
Finally, there is the language attribute, which looks like this:
To retrieve this sort of attribute, you must use the namespace URI http://www.w3.org/XML/1998/namespace and the attribute name lang.
Example The following example shows a method that gets the value of the encoding attribute for a node. The node is passed to the method which calls getAttribute to get the value of encoding attribute. This sample method assumes that the attribute is always in the XFDL namespace.
private static String getEncodingType(FormNodeP theNode) throws Exception
theEncodingType = theNode.getAttribute(