stag-autoschema1p
Writes the implicit stag-schema for a stag file
Usage
stag-autoschema -w
sxpr
sample-data.xml
stag-autoschema -dtd
sample-data.xml
Overview
Takes a stag compatible file (xml, sxpr, itext), or a file in any format plus a parser, and writes out the implicit underlying stag-schema
stag-schema should look relatively self-explanatory.
Here is an example stag-schema, shown in sxpr syntax:
(db(person*(name "s"(address+(address_type "s")(street "s")(street2? "s")(city "s")(zip? "s")))))
The database db contains zero or more persons, each person has a mandatory name and at least one address.
The cardinality mnemonics are as follows:
+
|
1 or more |
|---|---|
?
|
0 or one |
*
|
0 or more |
The default cardinality is 1
Arguments
- -p|parser FORMAT
-
FORMAT is one of xml, sxpr or itext, or the name of a perl module
xml assumed as default
- -dtd
-
exports schema as DTD
- -w|writer FORMAT
-
FORMAT is one of xml, sxpr or itext, or the name of a perl module, OR DTD
The default is sxpr
note that stag schemas exported as xml will be invalid xml, due to the use of symbols *, +, ? in the node names
Limitations
not event based - memory usage becomes exhorbitant on large files; prepare a small sample beforehand
Releases
9 releases since Debian 5.0 (Lenny); the text changed 4 times.