Closed vinipsmaker closed 6 years ago
I think schema support should be build as a separate project, because it relies on a number of components such as regular expressions, URI parser, and JSON Pointer. I do not plan to include any of these into Trial.Protocol, but there is no reason why somebody else couldn't implement JSON Schema with Trial.Protocol, or better yet with trial::dynamic::variable
to make it more generic.
The same goes for JSON Pointer, JSON Path, and so on.
I believe we only have to add a recursive iterator for dynamic::variable
to support these components.
Fair enough.
Qt also splits its XML module in two:
This split may be the best way to go.
I have no need for this feature in the very long road. Actually, I could use them if there was an algorithm to generate random JSONs based on a JSON schema so I could add fuzzy testings in my applications, but I don't want to. This issue is just a reminder for missing features.
Specification (still a draft): http://json-schema.org/
RapidJSON has this feature: http://rapidjson.org/md_doc_schema.html
And Mozilla services use RapidJSON because they need JSON Schema validation: https://github.com/mozilla-services/mozilla-pipeline-schemas