Giter Site home page Giter Site logo

msv's Introduction

Multi-Schema Validator

Multi-Schema XML Validator (MSV) is a Java technology tool to validate XML documents against several kinds of XML schemata. It supports RELAX NG, RELAX Namespace, RELAX Core, TREX, XML DTDs, and a subset of XML Schema Part 1.

MSV development

Directory structure

MSV consists of a number of sub projects. Each sub projects has its own directory, its own build script, etc.

xsdlib | XML Datatypes Library. An implementation of W3C XML Schema Part 2. testharness | Test harness that is used to parse composite test suite files (.ssuite). msv | Multi-Schema XML Validator. A schema model and validator implementation. Dependent on XSDLib and test harness. rngconverter | RELAX NG Converter. reads a schema and produces an equivalent RELAX NG schema. Dependent on MSV. generator | XML Instance Generator. A tool that produces valid XML documents by reading a schema. Dependent on MSV. relames | Multi-Schema XML Validator Schematron add-on. An experimental implementation of RELAX NG + Schematron validation. Dependent on MSV. sox2rng | SOX to RELAX NG converter. Dependent on MSV. tahiti | Data-binding implementation trexconverter | TREX Converter. Reads a schema and produces an equivalent TREX pattern. This project is no longer maintained.

There are several other directories which are used to store other materials.

shared | keeps shared information among multiple subprojects. testCases | keeps test instances/schemas.

Sub-project structure

Most of the sub projects have a similar directory structure.

src | keeps source files. Files in this directory will be included in the release package. test | keeps test files. Files in this directory will NOT be included in the release package. JUnit is used throughout the project, and every test code must have "Test.java" as suffix to be recognized as a test. bin | keeps the compiled .class files. both "test" and "src" are compiled into this directory. doc | release documentation. Files in this directory will be included in the release package.

Build instruction

To build the entire project, use Maven. 'mvn install' builds the release packages for all sub projects in a proper order. When preparing release packages, it is a good idea to use this target so that dependencies are processed correctly. (But you should run a project-local "release" first to make sure that there is no error in the repository.)

Project-wise build

When you are working on a sub project, you can use the project-local build script. Most of the build scripts are similar, and usually they have following targets.

binary (default) | compiles everything into bin javadoc | generates javadoc from the working copy. Useful to check the documentation. dist | makes a distribution package in the dist/ directory. release | Compresses the result of the dist target into a single zip file and put it to the package/ directory.

msv's People

Contributors

cowtowncoder avatar svanteschubert avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.