Coder Social home page Coder Social logo

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----------------

xmlvalidator's People

Watchers

 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.