OAI / Arazzo-Specification

The Arazzo Specification - A Tapestry for Deterministic API Workflows
https://spec.openapis.org/arazzo/latest.html
Apache License 2.0
184 stars 37 forks source link

XPath version identifier feels a bit confusing #219

Open dret opened 1 month ago

dret commented 1 month ago

It seems a little odd that one identifier for XPath is xpath-30 and the intention seems to be that it identifies XPath 3.1. There is an existing XPath 3.0 specification which may not be what's intended to be referenced with the xpath-30 string, or is it?

https://www.w3.org/TR/xpath-30/

frankkilcommins commented 1 month ago

Hey @dret,

By default, if criteria in Arazzo leverage a type of xpath, then XPath 3.1 is assumed. See https://spec.openapis.org/arazzo/latest.html#fixed-fields-9

If you want to downgrade on either JSON Path or XPath, then one can leverage the Criterion Expression Type Object. This object allows one to state their intention to use syntax conforming to an older variant. The expectations are:

Regarding the Criterion Expression Type Object, Arazzo states the following:

An object used to describe the type and version of an expression used within a Criterion Object. If this object is not defined, then the following defaults apply:

dret commented 1 month ago

Thanks, I think I did not fully understand the mechanics. But wouldn't it then be useful to also allows xpath-31 as a value even if that is the default? That would allow people to make their choice explicit.