diff --git a/specifications/xpath-functions-40/src/xpath-functions.xml b/specifications/xpath-functions-40/src/xpath-functions.xml
index 7626524eb..7494b882a 100644
--- a/specifications/xpath-functions-40/src/xpath-functions.xml
+++ b/specifications/xpath-functions-40/src/xpath-functions.xml
@@ -7964,6 +7964,17 @@ return
+
+ Simple properties of a schema type that can be expressed as strings or booleans are
+ represented in this record structure directly as atomic field values, while complex properties
+ whose values are themselves types (for example, base-type
and primitive-type
)
+ are represented as functions. This is done partly to make it easier for implementations to compute
+ complex properties on demand rather than in advance, and partly to ensure that the overall
+ structure is always acyclic. For example, the primitive type of xs:decimal
is itself
+ xs:decimal
, and if this were represented as a field value without a guarding function,
+ serialization of the map using the JSON output method would not terminate.
+
+
Functions returning type information