diff options
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` |