xmlvalidator's Introduction
Plugin management is based on text files. Methods of validation can be chosen by user but it must be developed and added to enum Plugins to work. Every method has its own properties file where user can add his commands. Eclipse project: pl.jwojciechowski.parser - CustomDOMParser used by VALIDATOR_CUSTOM method pl.jwojciechowski.pluginmanager - classes for plugins management pl.jwojciechowski.validator - implementation of all VALIDATOR methods scr/test/java - some Unit tests scr/test/resources - files used by Unit tests All cases are explained via provided files: plants.xml plants.xsd PLUGINS.properties ValidatorCustom.properties ValidatorDOM.properties ValidatorSAX.properties User can choose which plugins should be used for validation via PLUGINS.properties file: #key = validation method #value = validator file VALIDATOR_CUSTOM=ValidatorCustom.properties VALIDATOR_SAX=ValidatorSAX.properties VALIDATOR_DOM=ValidatorDOM.properties # not implemented, should return info during runtime VALIDATOR_TEST=ValidatorTEST.properties result: Plugin not known: No enum constant pl.jwojciechowski.pluginmanager.Plugins.VALIDATOR_TEST Plugin loaded: VALIDATOR_DOM Plugin loaded: VALIDATOR_CUSTOM Plugin loaded: VALIDATOR_SAX Implemented validation methods: 1. VALIDATOR_CUSTOM commands taken from ValidatorCustom.properties # Example of custom validation. Check quantity of given node COMMAND1=PLANT;36 COMMAND2=COMMON;12 2. VALIDATOR_SAX commands taken from ValidatorSAX.properties each command is xsd file name that is used for validation COMMAND1=plants.xsd COMMAND2=plants2.xsd 3. VALIDATOR_DOM commands taken from ValidatorDOM.properties each command is xsd file name that is used for validation COMMAND1=plants.xsd COMMAND2=plants2.xsd COMMAND3=plants.xsd COMMAND4=plants2.xsd Results of validation: 1. VALIDATOR_SAX - Valid XML and both commands are valid xsd files: ----------PARSING STARTED FOR:-------------- VALIDATOR_SAX SUCCESSFULLY validated [plants2.xsd, plants.xsd] ------------PARSING FINISHED---------------- 2. VALIDATOR_DOM - Valid XML and all commands are valid xsd files: ----------PARSING STARTED FOR:-------------- VALIDATOR_DOM SUCCESSFULLY validated [plants2.xsd, plants.xsd, plants2.xsd, plants.xsd] ------------PARSING FINISHED---------------- 3. VALIDATOR_CUSTOM - Valid XML but one command is wrong. COMMON node occurs 36 times not 12. ----------PARSING STARTED FOR:-------------- VALIDATOR_CUSTOM Validation FAILED! [COMMON;12, PLANT;36] ------------PARSING FINISHED----------------
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.