Comments (4)
I'm not aware of any project using textX for JSON Schema implementation.
It shouldn't be hard to define grammar for JSON Schema in textX. You can start with JSON example.
Actually, JSON schema is JSON file so it can be parsed with any JSON parser (even textX JSON example) and validated and analysed afterwards. You could then extract schema validation rules and apply them to subsequent JSON files. JSON schema is meta-language, thus it could be applied to itself.
But, if you want standard JSON Schema implementation there are solution for Python that do that well and probably will parse much faster than textX. textX is perfect for situation where you want to parse something that doesn't have readily available parser, like some custom textual formats or DSLs.
Is there any specific reason not to use existing JSON Schema libs?
from textx.
from textx.
Sounds interesting. Give it a try if you wish and post here if you get stuck along the way.
I'll be happy to help.
from textx.
You can easily reference an arbitrary non textX object (e. g., from a json model) from a textX model. Maybe have a look at https://github.com/igordejanovic/textX/blob/master/tests/functional/test_scoping/test_reference_to_nontextx_attribute.py
from textx.
Related Issues (20)
- Problem with relative rrel path evaluation in case of multiple model files HOT 10
- Cleanup / Loading imported models: when "importURI" does have an effect? HOT 1
- Can't create rule with \ character HOT 2
- Grammar extension: catching them all HOT 2
- Change separator in link rule references to `:` HOT 6
- Vendored six raises ImportWarning HOT 5
- Tests fail: No such file or directory: '/usr/ports/lang/py-textX/work-py39/textX-3.1.0/tests/functional/test_objcrossref_positions.model' HOT 1
- 25 tests fail HOT 2
- Is it possible to enable converting documents into PDF for offline reading
- Feature request: One case where error reporting could be improved - newline character (\n) HOT 3
- Feature request: Add rule descriptions, generate more informative user messages
- Feature request: One case where error reporting could be improved – "Not" case
- Question: How could I process some comments in my text but ignore others? HOT 1
- Import JSON as Part of a Metamodel HOT 1
- Python new grammar PEG and special operator HOT 2
- `pkg_resources` is deprecated HOT 2
- Support Click 8.0.0
- Please read this before asking questions
- Migrate examples to `flit_core` as well? HOT 4
- Feature request: TextXError gains length (or nchar) attribute
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from textx.