Returns the name of the type annotation of a node or atomic value.

type-annotation($item as item()?) ➔ xs:QName?





The item whose type is required




Notes on the Saxon implementation

Available since around Saxon 8.0(?). The newer saxon:type() function provides more information.


This function takes an item as argument.

If the argument is an element or attribute node, the function returns the type annotation of the node, as a QName. If the type is anonymous, this will be a system-generated internal name.

If the argument is a document node, the function returns xs:anyType if the document has been schema-validated, or xs:untyped otherwise.

For a text node, the function returns xs:untypedAtomic, and for comment, processing-instruction, and namespace nodes, it returns xs:string.

If the argument is an atomic value, the function returns the type label of the atomic value, again as a QName.

If the argument is an empty sequence, the function returns an empty sequence.

The prefix of the returned QName should not be treated as significant.

See also: