diff options
author | Mattijs Korpershoek <mattijs.korpershoek@gmail.com> | 2014-03-14 10:20:43 +0100 |
---|---|---|
committer | Mattijs Korpershoek <mattijsx.korpershoek@intel.com> | 2014-06-25 15:56:48 +0200 |
commit | f563b2da85bee9d7293301ea7da42a60f58ca40b (patch) | |
tree | 3408088a0061f58b93a4ff71ee63139d6e960406 /tools/xmlValidator/README.md | |
parent | b394ed54bd2f38f0aa27c146e949c62fb842f8c9 (diff) | |
download | external_parameter-framework-f563b2da85bee9d7293301ea7da42a60f58ca40b.zip external_parameter-framework-f563b2da85bee9d7293301ea7da42a60f58ca40b.tar.gz external_parameter-framework-f563b2da85bee9d7293301ea7da42a60f58ca40b.tar.bz2 |
XmlValidator tool
This tool can be used to validate a set of xml files against w3c
schemas.
It scans a directory recursively and checks for .xml files in it.
For each file, it extracts the current schema file based on a convention
(the corresponding schema file must have the same name as the root node)
which is used in the parameter-framework.
Change-Id: I27e32028e39a450ed18f86cb095348f73d59ade5
Diffstat (limited to 'tools/xmlValidator/README.md')
-rw-r--r-- | tools/xmlValidator/README.md | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/tools/xmlValidator/README.md b/tools/xmlValidator/README.md new file mode 100644 index 0000000..adc7e12 --- /dev/null +++ b/tools/xmlValidator/README.md @@ -0,0 +1,73 @@ +# xmlValidator tool + +This tool can be used to check if the `.xml` files you have written are +following the `.xsd` schemas we provided you. +By doing so, you are *ensured* that your configuration is *fully compatible* with the `parameter-framework`. + +It scans all directories and subdirectories for `.xml` files and checks them +with `.xsd` from a *schemas* directory you specified for the script. + +## Usage +To run xmlValidator, just start it from the commandline with: + + python xmlValidator.py <xmlRootDirectory> <xsdDirectory> + +where: + +* `<xmlRootDirectory>` is a path to a directory containing: + - `.xml` files + - subdirectories containing `.xml` files +* `<xsdDirectory>` is a path to a directory containing: + - `.xsd` files (also called *schemas*) + +## Example of usage + +### File structure + +In the example, we have the following files: + + ├── ParameterFrameworkConfiguration.xml + ├── Schemas + │ ├── ComponentLibrary.xsd + │ ├── ComponentTypeSet.xsd + │ ├── ConfigurableDomains.xsd + │ ├── FileIncluder.xsd + │ ├── ParameterFrameworkConfiguration.xsd + │ ├── ParameterSettings.xsd + │ ├── Parameter.xsd + │ ├── Subsystem.xsd + │ └── SystemClass.xsd + ├── Settings + │ └── FS + │ └── Genres.xml + └── Structure + └── FS + ├── MusicLibraries.xml + └── my_music.xml + +### Command +We are in the directory which contains the structure detailed previously. +To check the validity, we just run: + + ../../tools/xmlValidator/xmlValidator.py . Schemas + +### Results +And we will get the following output on the commandline: + + [*] Validate xml files in /home/lab/MusicLibrary/ with /home/lab/MusicLibrary/Schemas + Attempt to validate ParameterFrameworkConfiguration.xml with ParameterFrameworkConfiguration.xsd + ParameterFrameworkConfiguration.xml is valid + Attempt to validate my_music.xml with Subsystem.xsd + my_music.xml is valid + Attempt to validate MusicLibraries.xml with SystemClass.xsd + MusicLibraries.xml is valid + Attempt to validate Genres.xml with ConfigurableDomains.xsd + Genres.xml is valid + + +## Install requirements +In order to use this tool, you must have the following packages installed: + +* `python` +* `python-lxml` +* `libpython2.7` |