trang(1) convert between different schema languages for XML

SYNOPSIS

trang [-I rng|rnc|dtd|xml] [-O rng|rnc|dtd|xsd] [-i input-param] [-o output-param] input-file ... output-file

DESCRIPTION

trang takes as input a schema written in any of the following formats:
RELAX NG (XML syntax)
RELAX NG (compact syntax)
XML 1.0 DTD

and produces as output a schema written in any of the following formats:

RELAX NG (XML syntax)
RELAX NG (compact syntax)
XML 1.0 DTD
W3C XML Schema

Trang can also infer a schema from one or more example XML documents.

Trang uses an internal representation based on RELAX NG. For each supported input format, there is an input module that converts a schema in that input format into this internal representation. For each supported output format, there is an output module that converts the internal representation into a schema in that output format. Thus, any supported input format can be translated to any supported output format.

Trang requires two command-line arguments: the first is the URI or filename of the schema to be translated; the second is the output filename.

Trang infers the input and output modules to be used from the extension of input and output filenames as follows:

.rng
RELAX NG (XML syntax)
.rnc
RELAX NG (compact syntax)
.dtd
XML 1.0 DTD
.xsd
W3C XML Schema
.xml
XML documents (used as examples from which to infer a schema)

This inference can be overridden using the -I and -O options.

When the input is XML documents used as examples to infer a schema, more than one input file may be specified as arguments. All the input files are specified before the output file.

OPTIONS

-I rng|rnc|dtd|xml
Specifies which input module to use.
-O rng|rnc|dtd|xsd
Specifies which output module to use.
-i input-param
-o output-param
Specifies a parameter for an input (-i) or output (-o) module. The -i and -o options may be used multiple times in order to specify multiple parameters. There are two kinds of parameter: boolean parameters and string-valued parameters. A string-valued parameter is specified using the form name=value. A boolean parameter is specified using the form name or no-name. The applicable parameters depend on the particular input and output module. For details, see the HTML documentation.

AUTHOR

James Clark ([email protected])

This product includes software developed by the Apache Software Foundation (http://www.apache.org/).