operator
true
if the attribute is of the type specified, and false
otherwise. Replacing
is
with isnt
reverses the result.
attribute attribute-name (of element-expression)? (is | isnt) (cdata | name | names | number | numbers | nmtoken | nmtokens | nutoken | nutokens | id | idref | idrefs | notation | entity | entities | group)
You can use the attribute is
test to determine whether an attribute is of a specified type. For
example, the following code will succeed if attribute foo
is of type name
, and will fail
otherwise:
attribute "foo" is name
Attribute type tests can be combined by joining the types with |
and parenthesizing them. Note
that for a data attribute, a test of its type for id
, idref
, idrefs
,
notation
, entity
, or entities
will always fail because those types of
attributes cannot be associated with a notation.
Entity and notation attribute tests can be applied directly to attribute values which are declared as entity
or notation
, or directly to an item of an attribute declared as entities
.