[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Cluster-devel] [PATCH] config/tools/xml: validate resulting cluster.rng with relaxng.rng



Hi Jan,

On 2/6/2013 9:47 PM, Jan Pokorný wrote:
> Doing so will guarantee the file is valid RELAX NG schema, not just
> a valid XML.
> 
> Validating schema, relaxng.rng, was obtained directly from [1] and
> matches directly to a version bundled with xmlcopyeditor in Fedora 17.
> The same (modulo VCS headers, comments and spacing details) can be
> obtained by combining schema as in the specification [2] and its
> errata [3].
> 
> [1] http://relaxng.org/relaxng.rng
> [2] http://relaxng.org/spec-20011203.html
> [3] http://relaxng.org/spec-20011203-errata.html

this looks like a good idea, but i have one question.

Is there a specific reason why we need to ship/embed the file with our
tarball? How bad is it to require the one installed on a system?

I can see it´s rather stable and hardly updated, but i prefer to avoid
duplication if we can.

Fabio

> 
> Signed-off-by: Jan Pokorný <jpokorny redhat com>
> ---
>  config/tools/xml/Makefile             |   2 +-
>  config/tools/xml/ccs_update_schema.in |   3 +-
>  config/tools/xml/relaxng.rng          | 335 ++++++++++++++++++++++++++++++++++
>  3 files changed, 338 insertions(+), 2 deletions(-)
>  create mode 100644 config/tools/xml/relaxng.rng
> 
> diff --git a/config/tools/xml/Makefile b/config/tools/xml/Makefile
> index 3c9e97c..a86eb01 100644
> --- a/config/tools/xml/Makefile
> +++ b/config/tools/xml/Makefile
> @@ -7,7 +7,7 @@ TARGET4 = cluster.rng
>  
>  SBINDIRT = $(TARGET1) $(TARGET2) $(TARGET3)
>  SHAREDIRSYMT = $(TARGET4)
> -RELAXNGDIRT = cluster.rng.in.head cluster.rng.in.tail
> +RELAXNGDIRT = cluster.rng.in.head cluster.rng.in.tail relaxng.rng
>  
>  all: $(TARGET1) $(TARGET2) $(TARGET3) $(TARGET4)
>  
> diff --git a/config/tools/xml/ccs_update_schema.in b/config/tools/xml/ccs_update_schema.in
> index a5aa351..16ce9f7 100644
> --- a/config/tools/xml/ccs_update_schema.in
> +++ b/config/tools/xml/ccs_update_schema.in
> @@ -316,7 +316,8 @@ build_schema() {
>  		return 1
>  	}
>  
> -	xmllint --noout $outputdir/cluster.rng || {
> +	xmllint --noout --relaxng $rngdir/relaxng.rng $outputdir/cluster.rng \
> +	  || {
>  		echo "generated schema does not pass xmllint validation" >&2
>  		return 1
>  	}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]