You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We're making progress here but there are still things that need fixing.
Currently a record definition like uri-structure-record is expanded:
(a) into a full definition (with explanations of all the fields) at the point where a PI of the form <?record-description uri-structure-record?>appears. This may be either within a specific function entry in the function catalog, or in the narrative prose of xpath-functions.xml.
(b) into a concise definition (without explanations of fields) at the point where the type is referenced in a function signature.
A hyperlink to the record definition is created (i) where the type name appears in a function signature, and (ii) manually, using the generic link format <loc href="#uri-structure-record">uri-structure-record</loc>. However, the target of the link is the first concise definition (see (b) above) rather than the full definition.
There are also some limitations in the rendering of the definitions. The full definition does not indicate which fields are optional/required, though this information is available in the XML. Neither the full nor the concise definition appears to indicate whether the record is extensible.
The text was updated successfully, but these errors were encountered:
I would suggest that the full record definition be handled in a similar way to function definitions. It should always be in a dedicated section, indicated in a similar way to functions:
I think there is a technical issue here as well as a presentation issue. Record types defined in the F&O spec should have names that are in the fn namespace, to avoid any confusion with user-defined record type names.
(Aside: The recently-introduced type schema-type-record is a recursive record type, which creates complications for the subtyping rules; in fact I found that in the Saxon implementation, which computes hashcodes of types for internal purposes, the computation of the hashcode is non-terminating because of the recursive definition, and solving this requires paying attention to the distinction between iso-recursive and equi-recursive types in section 3.3.2.11 of the spec. This relies on using record type names as unique identifiers in a way that Saxon does not yet implement.)
We're making progress here but there are still things that need fixing.
Currently a record definition like uri-structure-record is expanded:
(a) into a full definition (with explanations of all the fields) at the point where a PI of the form
<?record-description uri-structure-record?>
appears. This may be either within a specific function entry in the function catalog, or in the narrative prose of xpath-functions.xml.(b) into a concise definition (without explanations of fields) at the point where the type is referenced in a function signature.
A hyperlink to the record definition is created (i) where the type name appears in a function signature, and (ii) manually, using the generic link format
<loc href="#uri-structure-record">uri-structure-record</loc>
. However, the target of the link is the first concise definition (see (b) above) rather than the full definition.There are also some limitations in the rendering of the definitions. The full definition does not indicate which fields are optional/required, though this information is available in the XML. Neither the full nor the concise definition appears to indicate whether the record is extensible.
The text was updated successfully, but these errors were encountered: