Skip to content
CSV、JSON、YAMLのスキーマをXMLで定義
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore
Jenkinsfile
LICENSE
README.md
pom.xml

README.md

xSchema

JSONCSVYAML、x-www-form-urlencodedのスキーマをXMLで定義する。

そしてそのスキーマを活かしたプログラム、つまりデータの検証を行うプログラムを作ることを目指している。

仕様もコードもシンプルさを目指した。

スキーマはJSON向けとしては型の厳密さを検証する機能のあるTypea(タイピー)と、ごくごくシンプルなTypeb(タイペブ)の2種類がある。

他にCSV適応のTypec(タイペック)がある。

YAML対応のTypedを構想中である。

API

スキーマの定義はパッケージプライベートの構造体で表している。これによって不完全ではあるが実用的なイミュータブルを実現している。

公開APIはファサードを扱うだけにしたい。

開発

中心となるスキーマXMLのXML Schemaは /src/main/resources/xschema/ に置いてある。

参考用及びテスト用のスキーマXMLと各種データは /src/test/resources/xschema/ の各ディレクトリいに置いてある。

JUnitでのテストコードを準備している。

Typeaの型

  • object
  • string
  • array
  • integer
  • number
  • boolean
  • 任意の型

Typebの型

  • object
  • string
  • array
  • integer
  • number
  • boolean
You can’t perform that action at this time.