This repository is for the development of an Internet Draft for JSONPath. The draft is currently a work in progress.
See the latest rendered version of the draft here.
Christoph Burgmer's JSONPath Comparison project publishes a comparison of many existing implementations of JSONPath, calculates a consensus on various features, and proposes at least one implementation which will inform the Internet Draft.
Informal discussions happen in slack. If you would like to join in, here is an invitation.
See the draft for the copyright which is repeated in LICENSE.
The source of the Internet Draft is in XML and corresponding .txt and .html files are generated and checked in.
So that the HTML version can be viewed via github pages, it is copied to docs/index.html.
See RFC 7991 for rfc XML syntax information.
The XML document was created from this template.
Install xml2rfc:
pip3 install xml2rfc --user
This will place the executable in ~/.local/bin
aex is an ABNF extractor and bap an ABNF syntax checker.
- Clone https://github.com/fenner/bap
- In the cloned directory execute
./configuremake
aexandbapbinaries should now exist in the directory- Add them to your path
This will:
- re-generate the
.txtand.htmlfiles - check the ABNF syntax
- copy the HTML file for use by github pages:
xml2rfc ./draft-normington-jsonpath-latest.xml --text --html && aex draft-normington-jsonpath-latest.txt | bap -S path -q && cp draft-normington-jsonpath-latest.html docs/index.html
A script gen.sh is provided for convenience.
For ease of reading pull requests, push the PR branch to master of your fork. For instance, if your
github username/organisation is xxx, then rendered HTML will be available at:
https://xxx.github.io/internet-draft/