stag-autoschema(1p)

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.

  1. 5.0
  2. 6.0–7
  3. 8
  4. 9–11
  5. 12–13

From libdata-stag-perl 0.14-3 in Debian 13 (Trixie). Parsed by carta from the page's man source.