stag-autoschema - writes the implicit stag-schema for a stag file
stag-autoschema -w sxpr sample-data.xml stag-autoschema -dtd sample-data.xml
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
FORMAT is one of xml, sxpr or itext, or the name of a perl module
xml assumed as default
exports schema as DTD
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
not event based - memory usage becomes exhorbitant on large files; prepare a small sample beforehand
1 POD Error
The following errors were encountered while parsing the POD:
Expected text after =item, not a bullet
To install Data::Stag, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Data::Stag
CPAN shell
perl -MCPAN -e shell install Data::Stag
For more information on module installation, please visit the detailed CPAN module installation guide.