Skip to content

Commit

Permalink
Update project documentations
Browse files Browse the repository at this point in the history
  • Loading branch information
zhossain-info committed Oct 10, 2023
1 parent 0538096 commit 36b3fc1
Show file tree
Hide file tree
Showing 18 changed files with 182 additions and 33 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ A JSON Schema is crucial for making communication, interoperability, validation,
## Design Goals
The traditional standard JSON Schema rigorously follows the conventional JSON structure, which unfortunately comes at the expense of simplicity, conciseness, and readability. Our goal is to develop a new JSON Schema that promotes these essential aspects that were previously missing.

This new schema is simple, lucid, easy to grasp, and doesn't require much prior knowledge to understand it. It also offers a shallow learning curve for both reading and writing. Additionally, its simplicity and conciseness allow us and machines to read-write more efficiently. Moreover, a large set of constraint data types and functions within the core schema facilitates the precise definition of JSON documents, significantly reducing the potential for communication gaps among collaborators. Furthermore, its inherent extensibility simplifies the process of integrating new constraints and functionalities to meet the diverse requirements of modern web services.
This new schema is simple, lucid, easy to grasp, and doesn't require much prior knowledge to understand it. It also offers a shallow learning curve for both reading and writing. Additionally, its simplicity and conciseness allow us and machines to read-write more efficiently. Moreover, a large set of constraint data types and functions within the core schema promotes the precise definition of JSON documents, significantly reducing the potential for communication gaps among collaborators. Furthermore, its inherent extensibility not only facilitates the test automation process in API testing but also simplifies the integrations of new constraints and functionalities to meet the diverse requirements of modern web services.

## Basic Example
Let's explore an example of our schema for a typical JSON API response containing information about a user profile or account. The schema is very self-explanatory and thus almost no prior knowledge is required to understand the schema and the JSON responses specified by this schema.
Expand Down Expand Up @@ -220,4 +220,4 @@ The subsequent JSON sample is an illustrative example that successfully validate
}
}
```
For more information about the schema syntax format and library functionalities, please refer to the reference documentation [here](https://relogiclabs.github.io/JsonSchema-Java/api/index.html).
For more information about the schema syntax format and library functionalities, please refer to the reference documentation [here](https://relogiclabs.github.io/JsonSchema-Java/api/index.html).
2 changes: 1 addition & 1 deletion doc/public/404.html
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>404 Page not found - Json Schema</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://relogiclabs.github.io/JsonSchema-Java/favicon.ico><link rel=stylesheet href=/JsonSchema-Java/css/style.min.41a4e7d0a42107faafb72a9a4a48b19d588103a47ebcd6bb45a2b5f7be80886e.css></head><body class=page><div id=main-menu-mobile class=main-menu-mobile><ul><li class=menu-item-home><a href=/JsonSchema-Java/><span>Home</span></a></li><li class=menu-item-articles><a href=/JsonSchema-Java/articles/intro><span>Articles</span></a></li></ul></div><div class=wrapper><div class=header><div class=container><div class=logo><a href=https://relogiclabs.github.io/JsonSchema-Java><img alt=Logo src=/JsonSchema-Java/images/logo.svg></a></div><div class=logo-mobile><a href=https://relogiclabs.github.io/JsonSchema-Java><img width=70 height=70 alt=Logo src=/JsonSchema-Java/images/logo-mobile.svg></a></div><div id=main-menu class=main-menu><ul><li class=menu-item-home><a href=/JsonSchema-Java/><span>Home</span></a></li><li class=menu-item-articles><a href=/JsonSchema-Java/articles/intro><span>Articles</span></a></li></ul></div><button id=toggle-main-menu-mobile class="hamburger hamburger--slider" type=button>
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>404 Page not found - Json Schema</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://relogiclabs.github.io/JsonSchema-Java/favicon.ico><link rel=stylesheet href=/JsonSchema-Java/css/style.min.41a4e7d0a42107faafb72a9a4a48b19d588103a47ebcd6bb45a2b5f7be80886e.css></head><body class=page><div id=main-menu-mobile class=main-menu-mobile><ul><li class=menu-item-home><a href=/JsonSchema-Java/><span>Home</span></a></li><li class=menu-item-articles><a href=/JsonSchema-Java/articles/intro><span>Articles</span></a></li><li class="menu-item-api reference"><a href=/JsonSchema-Java/api/index.html><span>API Reference</span></a></li></ul></div><div class=wrapper><div class=header><div class=container><div class=logo><a href=https://relogiclabs.github.io/JsonSchema-Java><img alt=Logo src=/JsonSchema-Java/images/logo.svg></a></div><div class=logo-mobile><a href=https://relogiclabs.github.io/JsonSchema-Java><img width=70 height=70 alt=Logo src=/JsonSchema-Java/images/logo-mobile.svg></a></div><div id=main-menu class=main-menu><ul><li class=menu-item-home><a href=/JsonSchema-Java/><span>Home</span></a></li><li class=menu-item-articles><a href=/JsonSchema-Java/articles/intro><span>Articles</span></a></li><li class="menu-item-api reference"><a href=/JsonSchema-Java/api/index.html><span>API Reference</span></a></li></ul></div><button id=toggle-main-menu-mobile class="hamburger hamburger--slider" type=button>
<span class=hamburger-box><span class=hamburger-inner></span></span></button></div></div><div class="container pt-4 pt-10"><div class="row justify-content-center"><div class="col-12 col-md-9"><h1>404 Page Not Found</h1></div></div></div></div><div class=sub-footer><div class=container><div class=row><div class=col-12><div class=sub-footer-inner><div class=copyright>© <a href=https://www.relogiclabs.com>Relogic Labs</a>. All rights reserved.</div></div></div></div></div></div><script type=text/javascript src=/JsonSchema-Java/js/scripts.min.302a6fc365d5139fb98cf60bdb8f715d96257ea189161d36c190ccfa8182e569.js></script></body></html>
4 changes: 2 additions & 2 deletions doc/public/articles/datatypes/index.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>Data Types - Json Schema</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://relogiclabs.github.io/JsonSchema-Java/favicon.ico><link rel=stylesheet href=/JsonSchema-Java/css/style.min.41a4e7d0a42107faafb72a9a4a48b19d588103a47ebcd6bb45a2b5f7be80886e.css></head><body class='page page-default-single'><div id=main-menu-mobile class=main-menu-mobile><ul><li class=menu-item-home><a href=/JsonSchema-Java/><span>Home</span></a></li><li class=menu-item-articles><a href=/JsonSchema-Java/articles/intro><span>Articles</span></a></li></ul></div><div class=wrapper><div class=header><div class=container><div class=logo><a href=https://relogiclabs.github.io/JsonSchema-Java><img alt=Logo src=/JsonSchema-Java/images/logo.svg></a></div><div class=logo-mobile><a href=https://relogiclabs.github.io/JsonSchema-Java><img width=70 height=70 alt=Logo src=/JsonSchema-Java/images/logo-mobile.svg></a></div><div id=main-menu class=main-menu><ul><li class=menu-item-home><a href=/JsonSchema-Java/><span>Home</span></a></li><li class=menu-item-articles><a href=/JsonSchema-Java/articles/intro><span>Articles</span></a></li></ul></div><button id=toggle-main-menu-mobile class="hamburger hamburger--slider" type=button>
<span class=hamburger-box><span class=hamburger-inner></span></span></button></div></div><div class="container pt-2 pt-md-6 pb-3 pb-md-6"><div class=row><div class="col-12 col-md-3 mb-3"><div class=sidebar><div class=docs-menu><h4>Articles</h4><ul><li><a href=https://relogiclabs.github.io/JsonSchema-Java/articles/intro/>Introduction</a></li><li><a href=https://relogiclabs.github.io/JsonSchema-Java/articles/quickstart/>Quick Start</a></li><li><a href=https://relogiclabs.github.io/JsonSchema-Java/articles/validation/>Validation Syntax</a></li><li><a href=https://relogiclabs.github.io/JsonSchema-Java/articles/directives/>Directives</a></li><li><a href=https://relogiclabs.github.io/JsonSchema-Java/articles/specification/>Specification</a></li><li class=active><a href=https://relogiclabs.github.io/JsonSchema-Java/articles/datatypes/>Data Types</a></li><li><a href=https://relogiclabs.github.io/JsonSchema-Java/articles/functions/>Functions</a></li><li><a href=https://relogiclabs.github.io/JsonSchema-Java/articles/datetime/>Date and Time</a></li></ul></div></div></div><div class="col-12 col-md-9"><div class=content><h1 id=constraint-data-types>Constraint Data Types</h1><p>Data types play a pivotal role in validating JSON data for compliance with the schema. Essentially, data types determine the kind of data that a JSON element or value can contain. This mechanism serves as a fundamental process in maintaining the accuracy, consistency, and integrity of JSON document and its structure throughout the system, where data quality and reliability are vital.</p><p>In the schema document, data types are denoted by the <code>#</code> prefix. Here is an outline of all data types, including their subtypes, used in the schema document to validate a JSON document. When using multiple data types for validation, it indicates that the JSON value is considered valid if it complies with any of the specified alternative data types. All of these data types and their subtypes offer the flexibility of selecting the most appropriate type based on requirements.</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-html data-lang=html><span class=line><span class=cl>#any
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>Data Types - Json Schema</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://relogiclabs.github.io/JsonSchema-Java/favicon.ico><link rel=stylesheet href=/JsonSchema-Java/css/style.min.41a4e7d0a42107faafb72a9a4a48b19d588103a47ebcd6bb45a2b5f7be80886e.css></head><body class='page page-default-single'><div id=main-menu-mobile class=main-menu-mobile><ul><li class=menu-item-home><a href=/JsonSchema-Java/><span>Home</span></a></li><li class=menu-item-articles><a href=/JsonSchema-Java/articles/intro><span>Articles</span></a></li><li class="menu-item-api reference"><a href=/JsonSchema-Java/api/index.html><span>API Reference</span></a></li></ul></div><div class=wrapper><div class=header><div class=container><div class=logo><a href=https://relogiclabs.github.io/JsonSchema-Java><img alt=Logo src=/JsonSchema-Java/images/logo.svg></a></div><div class=logo-mobile><a href=https://relogiclabs.github.io/JsonSchema-Java><img width=70 height=70 alt=Logo src=/JsonSchema-Java/images/logo-mobile.svg></a></div><div id=main-menu class=main-menu><ul><li class=menu-item-home><a href=/JsonSchema-Java/><span>Home</span></a></li><li class=menu-item-articles><a href=/JsonSchema-Java/articles/intro><span>Articles</span></a></li><li class="menu-item-api reference"><a href=/JsonSchema-Java/api/index.html><span>API Reference</span></a></li></ul></div><button id=toggle-main-menu-mobile class="hamburger hamburger--slider" type=button>
<span class=hamburger-box><span class=hamburger-inner></span></span></button></div></div><div class="container pt-2 pt-md-6 pb-3 pb-md-6"><div class=row><div class="col-12 col-md-3 mb-3"><div class=sidebar><div class=docs-menu><h4>Articles</h4><ul><li><a href=https://relogiclabs.github.io/JsonSchema-Java/articles/intro/>Introduction</a></li><li><a href=https://relogiclabs.github.io/JsonSchema-Java/articles/quickstart/>Quick Start</a></li><li><a href=https://relogiclabs.github.io/JsonSchema-Java/articles/validation/>Validation Syntax</a></li><li><a href=https://relogiclabs.github.io/JsonSchema-Java/articles/directives/>Directives</a></li><li><a href=https://relogiclabs.github.io/JsonSchema-Java/articles/specification/>Specification</a></li><li class=active><a href=https://relogiclabs.github.io/JsonSchema-Java/articles/datatypes/>Data Types</a></li><li><a href=https://relogiclabs.github.io/JsonSchema-Java/articles/functions/>Functions</a></li><li><a href=https://relogiclabs.github.io/JsonSchema-Java/articles/datetime/>Date and Time</a></li><li><a href=https://relogiclabs.github.io/JsonSchema-Java/articles/sourcebuild/>Source Build</a></li></ul></div></div></div><div class="col-12 col-md-9"><div class=content><h1 id=constraint-data-types>Constraint Data Types</h1><p>Data types play a pivotal role in validating JSON data for compliance with the schema. Essentially, data types determine the kind of data that a JSON element or value can contain. This mechanism serves as a fundamental process in maintaining the accuracy, consistency, and integrity of JSON document and its structure throughout the system, where data quality and reliability are vital.</p><p>In the schema document, data types are denoted by the <code>#</code> prefix. Here is an outline of all data types, including their subtypes, used in the schema document to validate a JSON document. When using multiple data types for validation, it indicates that the JSON value is considered valid if it complies with any of the specified alternative data types. All of these data types and their subtypes offer the flexibility of selecting the most appropriate type based on requirements.</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-html data-lang=html><span class=line><span class=cl>#any
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl> ├ #object
</span></span><span class=line><span class=cl> ├ #array
Expand Down
Loading

0 comments on commit 36b3fc1

Please sign in to comment.