You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.3 KiB
77 lines
2.3 KiB
7 months ago
|
# xmlValidator tool
|
||
|
|
||
|
This tool can be used to check if the `.xml` files you have written are
|
||
|
following the `.xsd` schemas provided by the PFW. 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 (these
|
||
|
are the names on a debian-based distribution):
|
||
|
|
||
|
* `python` (2.7 or later)
|
||
|
* `python-lxml`
|
||
|
* `libpython2.7` or later
|