RESTXQ: TODO for 1.0 Release
- Location header in the response
- Content Body - e.g. html etc
If functions are to be defined which of these are request module vs rest module? Request module must be standalone!
The XQuery 3.0 spec does not allow Sequences inside Annotations, because the values are simple literals, i.e. untyped in the XDM model. So how do we allow a sequence to be passed as a default value, the answer is to allow N literals:
e.g. The following is valid:
%rest:query-param("answer", "{$answer}", 42, 43, 44)
e.g. The following is INVALID:
%rest:query-param("answer", "{$answer}", (42, 43, 44))
Unify names and code used in the Serialisation Annotations and Serialisation Properties set in rest:response
-
%rest:header-param
-
%rest:cookie-param
-
%output:byte-order-mark
-
%output:cdata-section-elements
-
%output:doctype-public
-
%output:doctype-systemmark
-
%output:escape-uri-attributes
-
%output:include-content-type
-
%output:normalization-form
-
%output:standalone
-
%output:undeclare-prefixes
-
%output:use-character-maps
-
%output:version
Refactor and fix the Type System i.e. XDM package stuff. See TODO comments in the eXist-db implementation code There should be no concrete types in EXQuery XDM package, remove StringValue and BinaryValue from EXQuery.
e.g. At the moment %rest:path is mandatory on Resource Functions, make this and %rest:method optional.
Add to the spec. the precedence of Resource Function selection against a Request
- Method, Path, Media-Type etc
- Method, Path
- Path, Media Type
- Path
- Method, Media Type
- Method
- Media Type
Add to the spec. what makes a path more specific e.g. segment length etc See https://github.com/exquery/exquery/issues/1 (comment 2 from Christian)
Add to the spec. what makes a media type more specific e.g. application/* vs application/xml
Separate Output Annotations Document or chapter? - reference the W3C serialization spec. heavily
See https://github.com/exquery/exquery/wiki/Feature-Requests
- see RESTXQ: Errors
Complete test suite needed.
- Loads Resource Functions to Processor (expectation).
- HTTP invokes Resource Functions
- Check responses of HTTP calls.
- Make sure to test all error codes and http responses.