Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Added documentation for the strip text constraint command. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | schema |
Files: | files | file ages | folders |
SHA3-256: |
d441a1e8b120c078ad1f3a439c380df2 |
User & Date: | rolf 2019-04-27 00:50:05.407 |
Context
2019-05-02
| ||
12:14 | Added new text constraint command split, which splits the text to check into a list and cecks the elements of that list against the given constraints. check-in: 77cf4c7090 user: rolf tags: schema | |
2019-05-01
| ||
14:56 | wip check-in: a858a6ac77 user: rolf tags: wip | |
2019-04-27
| ||
00:50 | Added documentation for the strip text constraint command. check-in: d441a1e8b1 user: rolf tags: schema | |
00:38 | Added text constraint command strip which tests all text constraints in the evaluated argument with the text to test striped of all white space at start and end. check-in: b6738cb9c3 user: rolf tags: schema | |
Changes
Changes to doc/schema.html.
1 2 3 4 5 6 | <html> <head> <link rel="stylesheet" href="manpage.css"><title>tDOM manual: schema</title><meta name="xsl-processor" content="Jochen Loewer ([email protected]), Rolf Ade ([email protected]) et. al."><meta name="generator" content="$RCSfile: tmml-html.xsl,v $ $Revision: 1.11 $"><meta charset="utf-8"> </head><body> <div class="header"> <div class="navbar" align="center"> | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <html> <head> <link rel="stylesheet" href="manpage.css"><title>tDOM manual: schema</title><meta name="xsl-processor" content="Jochen Loewer ([email protected]), Rolf Ade ([email protected]) et. al."><meta name="generator" content="$RCSfile: tmml-html.xsl,v $ $Revision: 1.11 $"><meta charset="utf-8"> </head><body> <div class="header"> <div class="navbar" align="center"> <a href="#SECTid0x564bf296cb30">NAME</a> · <a href="#SECTid0x564bf296d160">SYNOPSIS</a> · <a href="#SECTid0x564bf29675d0">DESCRIPTION </a> · <a href="#SECTid0x564bf29c0fc0">Schema definition scripts</a> · <a href="#SECTid0x564bf29c92f0">Quantity specifier</a> · <a href="#SECTid0x564bf29cb180">Text constraint scripts</a> · <a href="#SECTid0x564bf29d1480">Exampels</a> </div><hr class="navsep"> </div><div class="body"> <h2><a name="SECTid0x564bf296cb30">NAME</a></h2><p class="namesection"> <b class="names">tdom::schema - </b><br>Create a schema validation command</p> <h2><a name="SECTid0x564bf296d160">SYNOPSIS</a></h2><pre class="syntax">package require tdom <b class="cmd">tdom::schema</b> <i class="m">?create?</i> <i class="m">cmdName</i> </pre> <h2><a name="SECTid0x564bf29675d0">DESCRIPTION </a></h2><p>This command creates validation commands with a simple API. The validation commands have methods to define a schema and are able to validate XML or DOM trees (and to some degree other kind of hierarchical data) against this schema.</p><p>Additionally, a validation command may be used as argument to the <i class="m">-validateCmd</i> option of the <i class="m">dom parse</i> and the <i class="m">expat</i> commands to enable validation additional to what they otherwise do.</p><p>The valid methods of the created commands are:</p><dl class="commandlist"> |
︙ | ︙ | |||
165 166 167 168 169 170 171 | <dt><b class="method">reset</b></dt> <dd>This method resets the validation command into state READY (while preserving the defined grammer).</dd> </dl> | | | 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | <dt><b class="method">reset</b></dt> <dd>This method resets the validation command into state READY (while preserving the defined grammer).</dd> </dl> <h2><a name="SECTid0x564bf29c0fc0">Schema definition scripts</a></h2><p>Schema definition scripts are ordinary Tcl scripts that are evaluatend in the namespace tdom::schema. The below listed schema definition commands in this tcl namespace allow to define a wide variety of document structures. Every schema definition command establish a validation constraint on the content which has to match or must be optional to render the content as valid. It is a validation error if the element in the XML source has additional (not matched) content.</p><p>The schema definition commands are:</p><dl class="commandlist"> |
︙ | ︙ | |||
315 316 317 318 319 320 321 | call. This is meant as toplevel command of a <i>schemacmd define</i> script. This command is not allowed nested in an other definition script command and will raise error, if you call it there.</dd> </dl> | | | 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 | call. This is meant as toplevel command of a <i>schemacmd define</i> script. This command is not allowed nested in an other definition script command and will raise error, if you call it there.</dd> </dl> <h2><a name="SECTid0x564bf29c92f0">Quantity specifier</a></h2><p>Serveral schema definition commands expects a quantifier as one of their arguments, which specifies how often the content particle specified by the command is expected. The valid values for a <i class="m">quant</i> argument are:</p><dl class="optlist"> <dt><b>!</b></dt> <dd>The content particle must occur exactly once in valid documents. This is the default, if a quantifier is |
︙ | ︙ | |||
360 361 362 363 364 365 366 | n to m times (both inclusive) in a row in valid documents. The quantifier must be a tcl list with two elements. Both elements must be integers, with n >= 0 and n < m.</dd> </dl><p>If an optional quantifier is not given then it defaults to * in case of the mixed command and to ! for all other commands.</p> | | | 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 | n to m times (both inclusive) in a row in valid documents. The quantifier must be a tcl list with two elements. Both elements must be integers, with n >= 0 and n < m.</dd> </dl><p>If an optional quantifier is not given then it defaults to * in case of the mixed command and to ! for all other commands.</p> <h2><a name="SECTid0x564bf29cb180">Text constraint scripts</a></h2><p></p><p>The text constraint commands are:</p><dl class="commandlist"> <dt><b class="cmd">isint</b></dt> <dd></dd> <dt> |
︙ | ︙ | |||
470 471 472 473 474 475 476 477 478 | match the text. It stops after the first match failues and probes the text constraints in the order of definition. Since the schema definition commmand <i class="m">text</i> also expects all text constraints to match the text constraint <i class="m">allOf</i> is useful mostly together with the <i class="m">oneOf</i> text constraint commmand.</dd> </dl> | > > > > > > > > | | 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 | match the text. It stops after the first match failues and probes the text constraints in the order of definition. Since the schema definition commmand <i class="m">text</i> also expects all text constraints to match the text constraint <i class="m">allOf</i> is useful mostly together with the <i class="m">oneOf</i> text constraint commmand.</dd> <dt> <b class="cmd">strip</b> <i class="m"><constraint script></i> </dt> <dd>This text constraint command tests all text constraints in the evaluated <i class="m">constraint script></i> with the text to test striped of all white space at start and end.</dd> </dl> <h2><a name="SECTid0x564bf29d1480">Exampels</a></h2><p>The XML Schema Part 0: Primer Second Edition (<a href="https://www.w3.org/TR/xmlschema-0/">https://www.w3.org/TR/xmlschema-0/</a>) starts with this example schema:</p><pre class="example"> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:annotation> <xsd:documentation xml:lang="en"> Purchase order schema for Example.com. |
︙ | ︙ |
Changes to doc/schema.n.
︙ | ︙ | |||
490 491 492 493 494 495 496 497 498 499 500 501 502 503 | constraints defined in the argument \fIconstraint script\fR match the text. It stops after the first match failues and probes the text constraints in the order of definition. Since the schema definition commmand \fItext\fR also expects all text constraints to match the text constraint \fIallOf\fR is useful mostly together with the \fIoneOf\fR text constraint commmand. .SH Exampels .PP .UR "https://www.w3.org/TR/xmlschema-0/" <URL: https://www.w3.org/TR/xmlschema-0/> .UE The XML Schema Part 0: Primer Second Edition () starts with this | > > > > > | 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 | constraints defined in the argument \fIconstraint script\fR match the text. It stops after the first match failues and probes the text constraints in the order of definition. Since the schema definition commmand \fItext\fR also expects all text constraints to match the text constraint \fIallOf\fR is useful mostly together with the \fIoneOf\fR text constraint commmand. .TP \&\fB\fBstrip\fP \fI<constraint script>\fB \&\fRThis text constraint command tests all text constraints in the evaluated \fIconstraint script>\fR with the text to test striped of all white space at start and end. .SH Exampels .PP .UR "https://www.w3.org/TR/xmlschema-0/" <URL: https://www.w3.org/TR/xmlschema-0/> .UE The XML Schema Part 0: Primer Second Edition () starts with this |
︙ | ︙ |
Changes to doc/schema.xml.
︙ | ︙ | |||
435 436 437 438 439 440 441 442 443 444 445 446 447 448 | match the text. It stops after the first match failues and probes the text constraints in the order of definition. Since the schema definition commmand <m>text</m> also expects all text constraints to match the text constraint <m>allOf</m> is useful mostly together with the <m>oneOf</m> text constraint commmand.</desc> </commanddef> </commandlist> </section> <section> <title>Exampels</title> <p>The XML Schema Part 0: Primer Second Edition | > > > > > > | 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 | match the text. It stops after the first match failues and probes the text constraints in the order of definition. Since the schema definition commmand <m>text</m> also expects all text constraints to match the text constraint <m>allOf</m> is useful mostly together with the <m>oneOf</m> text constraint commmand.</desc> </commanddef> <commanddef> <command><cmd>strip</cmd> <m><constraint script></m></command> <desc>This text constraint command tests all text constraints in the evaluated <m>constraint script></m> with the text to test striped of all white space at start and end.</desc> </commanddef> </commandlist> </section> <section> <title>Exampels</title> <p>The XML Schema Part 0: Primer Second Edition |
︙ | ︙ |