src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/xmlschema-for-jaxb.rng

Thu, 12 Oct 2017 19:44:07 +0800

author
aoqi
date
Thu, 12 Oct 2017 19:44:07 +0800
changeset 760
e530533619ec
parent 0
373ffda63c9a
permissions
-rw-r--r--

merge

aoqi@0 1 <?xml version="1.0"?>
aoqi@0 2 <!--
aoqi@0 3 Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
aoqi@0 4 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
aoqi@0 5
aoqi@0 6 This code is free software; you can redistribute it and/or modify it
aoqi@0 7 under the terms of the GNU General Public License version 2 only, as
aoqi@0 8 published by the Free Software Foundation. Oracle designates this
aoqi@0 9 particular file as subject to the "Classpath" exception as provided
aoqi@0 10 by Oracle in the LICENSE file that accompanied this code.
aoqi@0 11
aoqi@0 12 This code is distributed in the hope that it will be useful, but WITHOUT
aoqi@0 13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
aoqi@0 14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
aoqi@0 15 version 2 for more details (a copy is included in the LICENSE file that
aoqi@0 16 accompanied this code).
aoqi@0 17
aoqi@0 18 You should have received a copy of the GNU General Public License version
aoqi@0 19 2 along with this work; if not, write to the Free Software Foundation,
aoqi@0 20 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
aoqi@0 21
aoqi@0 22 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
aoqi@0 23 or visit www.oracle.com if you need additional information or have any
aoqi@0 24 questions.
aoqi@0 25 -->
aoqi@0 26
aoqi@0 27 <grammar xmlns="http://relaxng.org/ns/structure/1.0"
aoqi@0 28 datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
aoqi@0 29 ns="http://www.w3.org/2001/XMLSchema"
aoqi@0 30 xmlns:xs="http://www.w3.org/2001/XMLSchema"
aoqi@0 31 xmlns:doc="http://www.jenitennison.com/doc"
aoqi@0 32 xmlns:txw="http://java.sun.com/txw">
aoqi@0 33
aoqi@0 34 <doc:p>
aoqi@0 35 RELAX NG schema for XML Schema by <doc:link
aoqi@0 36 href="mailto:mail@jenitennison.com">Jeni Tennison</doc:link>. Based on
aoqi@0 37 <doc:link href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/">XML
aoqi@0 38 Schema Part I: Structures Recommendation</doc:link> and <doc:link
aoqi@0 39 href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">XML Schema Part
aoqi@0 40 II: Datatypes</doc:link>.
aoqi@0 41 </doc:p>
aoqi@0 42 <doc:changes date="2001-11-24">
aoqi@0 43 <doc:p>
aoqi@0 44 Amended to comply with 10 August 2001 Tutorial.
aoqi@0 45 </doc:p>
aoqi@0 46 <doc:change>Removed key attributes.</doc:change>
aoqi@0 47 <doc:change>Replaced not element with except elements.</doc:change>
aoqi@0 48 <doc:change>
aoqi@0 49 Replaced multiple consecutive optional attributes to use the
aoqi@0 50 zeroOrMore/choice pattern.
aoqi@0 51 </doc:change>
aoqi@0 52 <doc:change>
aoqi@0 53 Removed interleave elements inside list elements (which are no longer
aoqi@0 54 permitted).
aoqi@0 55 </doc:change>
aoqi@0 56 </doc:changes>
aoqi@0 57
aoqi@0 58 <define name="openAttrs" txw:mode="inherit">
aoqi@0 59 <doc:p>
aoqi@0 60 This allows any number of attributes that are not in the XML Schema
aoqi@0 61 namespace or are in no namespace. This is somewhat more complicated than
aoqi@0 62 the XML Schema anyAttribute equivalent.
aoqi@0 63 </doc:p>
aoqi@0 64 <!-- KK don't care -->
aoqi@0 65 <empty/>
aoqi@0 66 <!--zeroOrMore>
aoqi@0 67 <attribute>
aoqi@0 68 <anyName>
aoqi@0 69 <except>
aoqi@0 70 <nsName />
aoqi@0 71 <nsName ns="" />
aoqi@0 72 <name>xml:lang</name>
aoqi@0 73 </except>
aoqi@0 74 </anyName>
aoqi@0 75 <text />
aoqi@0 76 </attribute>
aoqi@0 77 </zeroOrMore-->
aoqi@0 78 </define>
aoqi@0 79
aoqi@0 80 <define name="annotated" txw:mode="inherit">
aoqi@0 81 <doc:p>
aoqi@0 82 This allows any number of attributes that are not in the XML Schema
aoqi@0 83 namespace or are in no namespace, an optional id attribute of type ID,
aoqi@0 84 and an optional annotation element. This is used as the basis for many
aoqi@0 85 element content models.
aoqi@0 86 </doc:p>
aoqi@0 87 <ref name="openAttrs" />
aoqi@0 88 <optional>
aoqi@0 89 <attribute name="id">
aoqi@0 90 <data type="ID" />
aoqi@0 91 </attribute>
aoqi@0 92 </optional>
aoqi@0 93 <optional>
aoqi@0 94 <ref name="annotation" />
aoqi@0 95 </optional>
aoqi@0 96 </define>
aoqi@0 97
aoqi@0 98 <define name="schemaTop" txw:mode="inline">
aoqi@0 99 <doc:p>
aoqi@0 100 This gives the content model of the top level of the schema.
aoqi@0 101 </doc:p>
aoqi@0 102 <choice>
aoqi@0 103 <ref name="redefinable" />
aoqi@0 104 <ref name="topLevelElement" />
aoqi@0 105 <ref name="topLevelAttribute" />
aoqi@0 106 <!--ref name="notation" /-->
aoqi@0 107 </choice>
aoqi@0 108 </define>
aoqi@0 109
aoqi@0 110 <define name="redefinable" txw:mode="inline">
aoqi@0 111 <doc:p>
aoqi@0 112 This gives the components that can be redefined within the redefine
aoqi@0 113 element. They also occur at the top level of the schema.
aoqi@0 114 </doc:p>
aoqi@0 115 <choice>
aoqi@0 116 <ref name="simpleTypeHost" />
aoqi@0 117 <ref name="complexTypeHost" />
aoqi@0 118 <!--ref name="namedGroup" />
aoqi@0 119 <ref name="namedAttributeGroup" /-->
aoqi@0 120 </choice>
aoqi@0 121 </define>
aoqi@0 122
aoqi@0 123 <define name="formChoice">
aoqi@0 124 <doc:p>
aoqi@0 125 This gives the values for the various form attributes:
aoqi@0 126 elementFormDefault and attributeFormDefault on the schema element, and
aoqi@0 127 the form attributes on the element and attribute elements.
aoqi@0 128 </doc:p>
aoqi@0 129 <choice>
aoqi@0 130 <value>qualified</value>
aoqi@0 131 <value>unqualified</value>
aoqi@0 132 </choice>
aoqi@0 133 </define>
aoqi@0 134
aoqi@0 135 <!-- KK: merge the two -->
aoqi@0 136 <define name="reducedDerivationControl">
aoqi@0 137 <doc:p>
aoqi@0 138 This gives the values that can be taken in the lists used to control
aoqi@0 139 derivation by extension or restriction (this is 'reduced' derivation
aoqi@0 140 because some derivation can involve substitution). This RELAX NG schema,
aoqi@0 141 like the XML Schema Recommendation here, allows the keywords 'extension' and
aoqi@0 142 'restriction' to be repeated any number of times.
aoqi@0 143 </doc:p>
aoqi@0 144 <list>
aoqi@0 145 <oneOrMore>
aoqi@0 146 <choice>
aoqi@0 147 <value>extension</value>
aoqi@0 148 <value>restriction</value>
aoqi@0 149 </choice>
aoqi@0 150 </oneOrMore>
aoqi@0 151 </list>
aoqi@0 152 </define>
aoqi@0 153
aoqi@0 154 <define name="derivationSet">
aoqi@0 155 <doc:p>
aoqi@0 156 This specifies the possible values for attributes that control derivation.
aoqi@0 157 </doc:p>
aoqi@0 158 <choice>
aoqi@0 159 <value>#all</value>
aoqi@0 160 <ref name="reducedDerivationControl" />
aoqi@0 161 </choice>
aoqi@0 162 </define>
aoqi@0 163
aoqi@0 164 <start>
aoqi@0 165 <doc:p>
aoqi@0 166 This is the beginning point for the schema, and defines the schema
aoqi@0 167 element.
aoqi@0 168 </doc:p>
aoqi@0 169 <element name="schema"
aoqi@0 170 doc:href="http://www.w3.org/TR/xmlschema-1/#element-schema">
aoqi@0 171 <ref name="openAttrs" />
aoqi@0 172 <zeroOrMore>
aoqi@0 173 <choice>
aoqi@0 174 <attribute name="version">
aoqi@0 175 <data type="token" />
aoqi@0 176 </attribute>
aoqi@0 177 <attribute name="finalDefault">
aoqi@0 178 <ref name="derivationSet" />
aoqi@0 179 </attribute>
aoqi@0 180 <attribute name="blockDefault">
aoqi@0 181 <ref name="blockSet" />
aoqi@0 182 </attribute>
aoqi@0 183 <attribute name="attributeFormDefault">
aoqi@0 184 <ref name="formChoice" />
aoqi@0 185 </attribute>
aoqi@0 186 <attribute name="elementFormDefault">
aoqi@0 187 <ref name="formChoice" />
aoqi@0 188 </attribute>
aoqi@0 189 <attribute name="id">
aoqi@0 190 <data type="ID" />
aoqi@0 191 </attribute>
aoqi@0 192 <attribute name="xml:lang">
aoqi@0 193 <data type="language" />
aoqi@0 194 </attribute>
aoqi@0 195 <attribute name="targetNamespace">
aoqi@0 196 <data type="anyURI" />
aoqi@0 197 </attribute>
aoqi@0 198 </choice>
aoqi@0 199 </zeroOrMore>
aoqi@0 200 <zeroOrMore>
aoqi@0 201 <choice>
aoqi@0 202 <!--ref name="include" /-->
aoqi@0 203 <ref name="import" />
aoqi@0 204 <!--ref name="redefine" /-->
aoqi@0 205 <ref name="annotation" />
aoqi@0 206 </choice>
aoqi@0 207 </zeroOrMore>
aoqi@0 208 <zeroOrMore>
aoqi@0 209 <choice>
aoqi@0 210 <ref name="schemaTop" />
aoqi@0 211 <ref name="annotation" />
aoqi@0 212 </choice>
aoqi@0 213 </zeroOrMore>
aoqi@0 214 </element>
aoqi@0 215 </start>
aoqi@0 216
aoqi@0 217 <define name="allNNI">
aoqi@0 218 <doc:p>
aoqi@0 219 This gives the value type for the maxOccurs attribute, which may be a
aoqi@0 220 non-negative number or the keyword 'unbounded'.
aoqi@0 221 </doc:p>
aoqi@0 222 <choice>
aoqi@0 223 <data type="nonNegativeInteger" />
aoqi@0 224 <value type="token">unbounded</value>
aoqi@0 225 </choice>
aoqi@0 226 </define>
aoqi@0 227
aoqi@0 228 <define name="occurs" txw:mode="inherit">
aoqi@0 229 <doc:p>
aoqi@0 230 This specifies the occurs attributes, minOccurs and maxOccurs, as they
aoqi@0 231 are normally used.
aoqi@0 232 </doc:p>
aoqi@0 233 <zeroOrMore>
aoqi@0 234 <choice>
aoqi@0 235 <attribute name="minOccurs">
aoqi@0 236 <data type="nonNegativeInteger" />
aoqi@0 237 </attribute>
aoqi@0 238 <attribute name="maxOccurs">
aoqi@0 239 <ref name="allNNI" />
aoqi@0 240 </attribute>
aoqi@0 241 </choice>
aoqi@0 242 </zeroOrMore>
aoqi@0 243 </define>
aoqi@0 244
aoqi@0 245 <define name="typeDefParticle" txw:mode="inline">
aoqi@0 246 <doc:p>
aoqi@0 247 This gives the possible content of complex types.
aoqi@0 248 </doc:p>
aoqi@0 249 <choice>
aoqi@0 250 <!--ref name="groupRef" /-->
aoqi@0 251 <ref name="all" />
aoqi@0 252 <ref name="choice" />
aoqi@0 253 <ref name="sequence" />
aoqi@0 254 </choice>
aoqi@0 255 </define>
aoqi@0 256
aoqi@0 257 <define name="nestedParticle" txw:mode="inline">
aoqi@0 258 <doc:p>
aoqi@0 259 This gives the particles that can make up a model group.
aoqi@0 260 </doc:p>
aoqi@0 261 <choice>
aoqi@0 262 <ref name="localElement" />
aoqi@0 263 <!--ref name="groupRef" /-->
aoqi@0 264 <ref name="choice" />
aoqi@0 265 <ref name="sequence" />
aoqi@0 266 <ref name="any" />
aoqi@0 267 </choice>
aoqi@0 268 </define>
aoqi@0 269
aoqi@0 270 <define name="fixedOrDefault" txw:mode="inline">
aoqi@0 271 <doc:p>
aoqi@0 272 This specifies the relationship between fixed and default attributes on
aoqi@0 273 element and attribute elements - if one is present, then the other cannot
aoqi@0 274 be. This is a constraint that cannot be specified using XML Schema.
aoqi@0 275 </doc:p>
aoqi@0 276 <choice>
aoqi@0 277 <empty />
aoqi@0 278 <attribute name="fixed" />
aoqi@0 279 <attribute name="default" />
aoqi@0 280 </choice>
aoqi@0 281 </define>
aoqi@0 282
aoqi@0 283 <define name="attributeType" txw:mode="inherit">
aoqi@0 284 <doc:p>
aoqi@0 285 This specifies the relationship between the type attribute and the
aoqi@0 286 simpleType element child of attribute elements - if one is present, then
aoqi@0 287 the other cannot be, although it is possible for neither to be allowed.
aoqi@0 288 </doc:p>
aoqi@0 289 <choice>
aoqi@0 290 <empty />
aoqi@0 291 <attribute name="type">
aoqi@0 292 <data type="QName" />
aoqi@0 293 </attribute>
aoqi@0 294 <ref name="simpleTypeHost" />
aoqi@0 295 </choice>
aoqi@0 296 </define>
aoqi@0 297
aoqi@0 298 <define name="localAttribute">
aoqi@0 299 <doc:p>
aoqi@0 300 This describes attribute elements when used in a local context. They
aoqi@0 301 have an optional use attribute, possibly a fixed or default attribute,
aoqi@0 302 and then can either have a ref attribute (referring to a top-level
aoqi@0 303 attribute) or a name attribute with an optional form attribute and
aoqi@0 304 specifying an attribute type.
aoqi@0 305 </doc:p>
aoqi@0 306 <element name="attribute"
aoqi@0 307 doc:href="http://www.w3.org/TR/xmlschema-1/#element-attribute">
aoqi@0 308 <ref name="annotated" />
aoqi@0 309 <optional>
aoqi@0 310 <attribute name="use">
aoqi@0 311 <choice>
aoqi@0 312 <value type="token">optional</value>
aoqi@0 313 <value type="token">prohibited</value>
aoqi@0 314 <value type="token">required</value>
aoqi@0 315 </choice>
aoqi@0 316 </attribute>
aoqi@0 317 </optional>
aoqi@0 318 <ref name="fixedOrDefault" />
aoqi@0 319 <choice>
aoqi@0 320 <attribute name="ref">
aoqi@0 321 <data type="QName" />
aoqi@0 322 </attribute>
aoqi@0 323 <group>
aoqi@0 324 <attribute name="name">
aoqi@0 325 <data type="NCName" />
aoqi@0 326 </attribute>
aoqi@0 327 <optional>
aoqi@0 328 <attribute name="form">
aoqi@0 329 <ref name="formChoice" />
aoqi@0 330 </attribute>
aoqi@0 331 </optional>
aoqi@0 332 <ref name="attributeType" />
aoqi@0 333 </group>
aoqi@0 334 </choice>
aoqi@0 335 </element>
aoqi@0 336 </define>
aoqi@0 337
aoqi@0 338 <define name="topLevelAttribute">
aoqi@0 339 <doc:p>
aoqi@0 340 This describes attribute elements when used at the top level of the
aoqi@0 341 schema. They must have a name, may have a fixed or default attribute,
aoqi@0 342 and specify their type through a type attribute or child simpleType
aoqi@0 343 element. The name attribute of each attribute element that appears at
aoqi@0 344 the top level of the schema is unique.
aoqi@0 345 </doc:p>
aoqi@0 346 <element name="attribute"
aoqi@0 347 doc:href="http://www.w3.org/TR/xmlschema-1/#element-attribute">
aoqi@0 348 <ref name="annotated" />
aoqi@0 349 <attribute name="name">
aoqi@0 350 <data type="NCName" />
aoqi@0 351 </attribute>
aoqi@0 352 <ref name="fixedOrDefault" />
aoqi@0 353 <ref name="attributeType" />
aoqi@0 354 </element>
aoqi@0 355 </define>
aoqi@0 356
aoqi@0 357 <define name="attrDecls" txw:mode="inherit">
aoqi@0 358 <doc:p>
aoqi@0 359 This gives the model group for specifying the attributes in a complex
aoqi@0 360 type, an extension or restriction.
aoqi@0 361 </doc:p>
aoqi@0 362 <zeroOrMore>
aoqi@0 363 <choice>
aoqi@0 364 <ref name="localAttribute" />
aoqi@0 365 <!--ref name="attributeGroupRef" /-->
aoqi@0 366 </choice>
aoqi@0 367 </zeroOrMore>
aoqi@0 368 <optional>
aoqi@0 369 <ref name="anyAttribute" />
aoqi@0 370 </optional>
aoqi@0 371 </define>
aoqi@0 372
aoqi@0 373 <define name="anyAttribute">
aoqi@0 374 <doc:p>
aoqi@0 375 This specifies the anyAttribute wildcard.
aoqi@0 376 </doc:p>
aoqi@0 377 <element name="anyAttribute"
aoqi@0 378 doc:href="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute">
aoqi@0 379 <ref name="wildcard" />
aoqi@0 380 </element>
aoqi@0 381 </define>
aoqi@0 382
aoqi@0 383 <define name="complexTypeModel" txw:mode="inherit">
aoqi@0 384 <doc:p>
aoqi@0 385 This specifies the content of a complexType element. As children, it can
aoqi@0 386 have a simpleContent, a complexContent or a model group. Only if it has
aoqi@0 387 one of the latter two, may it have a mixed attribute. This latter
aoqi@0 388 constraint is something that cannot be specified in XML Schema.
aoqi@0 389 </doc:p>
aoqi@0 390 <choice>
aoqi@0 391 <ref name="simpleContent" />
aoqi@0 392 <group>
aoqi@0 393 <optional>
aoqi@0 394 <attribute name="mixed">
aoqi@0 395 <data type="boolean" />
aoqi@0 396 </attribute>
aoqi@0 397 </optional>
aoqi@0 398 <choice>
aoqi@0 399 <ref name="complexContent" />
aoqi@0 400 <group>
aoqi@0 401 <optional>
aoqi@0 402 <ref name="typeDefParticle" />
aoqi@0 403 </optional>
aoqi@0 404 <ref name="attrDecls" />
aoqi@0 405 </group>
aoqi@0 406 </choice>
aoqi@0 407 </group>
aoqi@0 408 </choice>
aoqi@0 409 </define>
aoqi@0 410
aoqi@0 411 <define name="complexTypeHost" txw:mode="inherit">
aoqi@0 412 <ref name="typeHost" />
aoqi@0 413 <ref name="complexType" />
aoqi@0 414 </define>
aoqi@0 415
aoqi@0 416 <define name="typeHost" txw:mode="inherit"><empty/><empty/></define>
aoqi@0 417
aoqi@0 418 <define name="complexType" txw:mode="inherit">
aoqi@0 419 <element name="complexType"
aoqi@0 420 doc:href="http://www.w3.org/TR/xmlschema-1/#element-complexType">
aoqi@0 421 <doc:p>
aoqi@0 422 This specifies the basic content of a complexType element.
aoqi@0 423 </doc:p>
aoqi@0 424 <ref name="annotated" />
aoqi@0 425 <ref name="complexTypeModel" />
aoqi@0 426 <optional>
aoqi@0 427 <attribute name="name">
aoqi@0 428 <data type="NCName" />
aoqi@0 429 </attribute>
aoqi@0 430 </optional>
aoqi@0 431 <zeroOrMore>
aoqi@0 432 <choice>
aoqi@0 433 <attribute name="abstract">
aoqi@0 434 <data type="boolean" />
aoqi@0 435 </attribute>
aoqi@0 436 <attribute name="block">
aoqi@0 437 <ref name="derivationSet" />
aoqi@0 438 </attribute>
aoqi@0 439 <attribute name="final">
aoqi@0 440 <ref name="derivationSet" />
aoqi@0 441 </attribute>
aoqi@0 442 </choice>
aoqi@0 443 </zeroOrMore>
aoqi@0 444 </element>
aoqi@0 445 </define>
aoqi@0 446
aoqi@0 447 <define name="complexRestriction">
aoqi@0 448 <doc:p>
aoqi@0 449 This describes a restriction element within a complexContent element
aoqi@0 450 (i.e. one that restricts a complex type). It has a base attribute, may
aoqi@0 451 contain a model group and may contain attribute declarations of various
aoqi@0 452 sorts.
aoqi@0 453 </doc:p>
aoqi@0 454 <element name="restriction"
aoqi@0 455 doc:href="http://www.w3.org/TR/xmlschema-1/#element-complexContent::restriction">
aoqi@0 456 <ref name="annotated" />
aoqi@0 457 <attribute name="base">
aoqi@0 458 <data type="QName" />
aoqi@0 459 </attribute>
aoqi@0 460 <optional>
aoqi@0 461 <ref name="typeDefParticle" />
aoqi@0 462 </optional>
aoqi@0 463 <ref name="attrDecls" />
aoqi@0 464 </element>
aoqi@0 465 </define>
aoqi@0 466
aoqi@0 467 <define name="extensionType">
aoqi@0 468 <doc:p>
aoqi@0 469 This specifies the basic model for an extension element: adding a
aoqi@0 470 required base attribute to the model used for most components.
aoqi@0 471 </doc:p>
aoqi@0 472 <ref name="annotated" />
aoqi@0 473 <attribute name="base">
aoqi@0 474 <data type="QName" />
aoqi@0 475 </attribute>
aoqi@0 476 </define>
aoqi@0 477
aoqi@0 478 <define name="complexExtension">
aoqi@0 479 <doc:p>
aoqi@0 480 This describes an extension element within a complexContent element
aoqi@0 481 (i.e. one that restricts a complex type). It may contain a model group
aoqi@0 482 and may contain attribute declarations of various sorts.
aoqi@0 483 </doc:p>
aoqi@0 484 <element name="extension"
aoqi@0 485 doc:href="http://www.w3.org/TR/xmlschema-1/#element-complexContent::extension">
aoqi@0 486 <ref name="extensionType" />
aoqi@0 487 <optional>
aoqi@0 488 <ref name="typeDefParticle" />
aoqi@0 489 </optional>
aoqi@0 490 <ref name="attrDecls" />
aoqi@0 491 </element>
aoqi@0 492 </define>
aoqi@0 493
aoqi@0 494 <define name="complexContent">
aoqi@0 495 <doc:p>
aoqi@0 496 This describes a complexContent element. It may have a mixed attribute,
aoqi@0 497 and either a restriction or extension element as content.
aoqi@0 498 </doc:p>
aoqi@0 499 <element name="complexContent"
aoqi@0 500 doc:href="http://www.w3.org/TR/xmlschema-1/#element-complexContent">
aoqi@0 501 <ref name="annotated" />
aoqi@0 502 <optional>
aoqi@0 503 <attribute name="mixed">
aoqi@0 504 <data type="boolean" />
aoqi@0 505 </attribute>
aoqi@0 506 </optional>
aoqi@0 507 <choice>
aoqi@0 508 <ref name="complexRestriction" />
aoqi@0 509 <ref name="complexExtension" />
aoqi@0 510 </choice>
aoqi@0 511 </element>
aoqi@0 512 </define>
aoqi@0 513
aoqi@0 514 <define name="simpleRestriction">
aoqi@0 515 <doc:p>
aoqi@0 516 This describes a restriction element that appears within a simpleContent
aoqi@0 517 or simpleType element (i.e. one that restricts a simple type). Its
aoqi@0 518 content follows the simple restriction model that is detailed below, and
aoqi@0 519 may include attribute declarations.
aoqi@0 520 </doc:p>
aoqi@0 521 <element name="restriction"
aoqi@0 522 doc:href="http://www.w3.org/TR/xmlschema-1/#element-simpleContent::restriction">
aoqi@0 523 <ref name="annotated" />
aoqi@0 524 <ref name="simpleRestrictionModel" />
aoqi@0 525 <ref name="attrDecls" />
aoqi@0 526 </element>
aoqi@0 527 </define>
aoqi@0 528
aoqi@0 529 <define name="simpleExtension">
aoqi@0 530 <doc:p>
aoqi@0 531 This describes an extension element that appears within a simpleContent
aoqi@0 532 element (i.e. one that extends a simple type). Like other extensions, it
aoqi@0 533 has a base type, but it can only be used to add attributes.
aoqi@0 534 </doc:p>
aoqi@0 535 <element name="extension"
aoqi@0 536 doc:href="http://www.w3.org/TR/xmlschema-1/#element-simpleContent::extension">
aoqi@0 537 <ref name="extensionType" />
aoqi@0 538 <ref name="attrDecls" />
aoqi@0 539 </element>
aoqi@0 540 </define>
aoqi@0 541
aoqi@0 542 <define name="simpleContent">
aoqi@0 543 <doc:p>
aoqi@0 544 This describes a simpleContent element, whose content can either hold a
aoqi@0 545 restriction or extension element.
aoqi@0 546 </doc:p>
aoqi@0 547 <element name="simpleContent"
aoqi@0 548 doc:href="http://www.w3.org/TR/xmlschema-1/#element-simpleContent">
aoqi@0 549 <ref name="annotated" />
aoqi@0 550 <choice>
aoqi@0 551 <ref name="simpleRestriction" />
aoqi@0 552 <ref name="simpleExtension" />
aoqi@0 553 </choice>
aoqi@0 554 </element>
aoqi@0 555 </define>
aoqi@0 556
aoqi@0 557 <define name="blockSet">
aoqi@0 558 <doc:p>
aoqi@0 559 This gives the possible values for block attributes on element elements,
aoqi@0 560 which includes substitution amongst the list of possible values. This
aoqi@0 561 RELAX NG schema, like the XML Schema Recommendation, allows each of the
aoqi@0 562 keywords 'extension', 'restriction' and 'substitution' to occur more than
aoqi@0 563 once within the list.
aoqi@0 564 </doc:p>
aoqi@0 565 <choice>
aoqi@0 566 <value type="token">#all</value>
aoqi@0 567 <list>
aoqi@0 568 <oneOrMore>
aoqi@0 569 <choice>
aoqi@0 570 <value>extension</value>
aoqi@0 571 <value>restriction</value>
aoqi@0 572 <value>substitution</value>
aoqi@0 573 </choice>
aoqi@0 574 </oneOrMore>
aoqi@0 575 </list>
aoqi@0 576 </choice>
aoqi@0 577 </define>
aoqi@0 578
aoqi@0 579 <define name="element" txw:mode="inherit">
aoqi@0 580 <doc:p>
aoqi@0 581 This describes the basic content model of an element element. It is
aoqi@0 582 annotated, may have a fixed or default attribute, and may have nillable
aoqi@0 583 and/or block attributes. Its type may be specified through a type
aoqi@0 584 attribute, a local simple type or a local complex type - the choice
aoqi@0 585 between these methods is something that cannot be indicated with XML
aoqi@0 586 Schema. This content is optionally followed by some identify constraints.
aoqi@0 587 </doc:p>
aoqi@0 588 <ref name="annotated" />
aoqi@0 589 <ref name="fixedOrDefault" />
aoqi@0 590 <zeroOrMore>
aoqi@0 591 <choice>
aoqi@0 592 <attribute name="nillable">
aoqi@0 593 <data type="boolean" />
aoqi@0 594 </attribute>
aoqi@0 595 <attribute name="block">
aoqi@0 596 <ref name="blockSet" />
aoqi@0 597 </attribute>
aoqi@0 598 </choice>
aoqi@0 599 </zeroOrMore>
aoqi@0 600 <choice>
aoqi@0 601 <empty />
aoqi@0 602 <attribute name="type">
aoqi@0 603 <data type="QName" />
aoqi@0 604 </attribute>
aoqi@0 605 <ref name="simpleTypeHost" />
aoqi@0 606 <ref name="complexTypeHost" />
aoqi@0 607 </choice>
aoqi@0 608 <!--zeroOrMore>
aoqi@0 609 <ref name="identityConstraint" />
aoqi@0 610 </zeroOrMore-->
aoqi@0 611 </define>
aoqi@0 612
aoqi@0 613 <define name="topLevelElement">
aoqi@0 614 <doc:p>
aoqi@0 615 This describes an element element that appears at the top level of the
aoqi@0 616 schema. On top of the basic content for an element element, it has to
aoqi@0 617 have a name, which is a unique identifier in the element symbol space. It
aoqi@0 618 may have substitutionGroup, abstract and/or final attributes.
aoqi@0 619 </doc:p>
aoqi@0 620 <element name="element"
aoqi@0 621 doc:href="http://www.w3.org/TR/xmlschema-1/#element-element">
aoqi@0 622 <ref name="element" />
aoqi@0 623 <attribute name="name">
aoqi@0 624 <data type="NCName" />
aoqi@0 625 </attribute>
aoqi@0 626 <zeroOrMore>
aoqi@0 627 <choice>
aoqi@0 628 <attribute name="substitutionGroup">
aoqi@0 629 <data type="QName" />
aoqi@0 630 </attribute>
aoqi@0 631 <attribute name="abstract">
aoqi@0 632 <data type="boolean" />
aoqi@0 633 </attribute>
aoqi@0 634 <attribute name="final">
aoqi@0 635 <ref name="derivationSet" />
aoqi@0 636 </attribute>
aoqi@0 637 </choice>
aoqi@0 638 </zeroOrMore>
aoqi@0 639 </element>
aoqi@0 640 </define>
aoqi@0 641
aoqi@0 642 <define name="localElement">
aoqi@0 643 <doc:p>
aoqi@0 644 This describes an element element that appears locally, within a
aoqi@0 645 complexType or group element. It may have minOccurs and/or maxOccurs
aoqi@0 646 attributes. If it has a ref attribute, then that&apos;s all it can
aoqi@0 647 have. Otherwise, it must have a name and specifies its type in the same
aoqi@0 648 way as the basic element content model described above. It may in this
aoqi@0 649 case also have a form element. These constraints on local elements
aoqi@0 650 cannot be described within XML Schema.
aoqi@0 651 </doc:p>
aoqi@0 652 <element name="element"
aoqi@0 653 doc:href="http://www.w3.org/TR/xmlschema-1/#element-element">
aoqi@0 654 <ref name="occurs" />
aoqi@0 655 <choice>
aoqi@0 656 <attribute name="ref">
aoqi@0 657 <data type="QName" />
aoqi@0 658 </attribute>
aoqi@0 659 <group>
aoqi@0 660 <ref name="element" />
aoqi@0 661 <attribute name="name">
aoqi@0 662 <data type="NCName" />
aoqi@0 663 </attribute>
aoqi@0 664 <optional>
aoqi@0 665 <attribute name="form">
aoqi@0 666 <ref name="formChoice" />
aoqi@0 667 </attribute>
aoqi@0 668 </optional>
aoqi@0 669 </group>
aoqi@0 670 </choice>
aoqi@0 671 </element>
aoqi@0 672 </define>
aoqi@0 673
aoqi@0 674 <!--define name="namedGroup">
aoqi@0 675 <doc:p>
aoqi@0 676 This describes an group element that appears at the top level of the
aoqi@0 677 schema. It must have a name attribute, and must have one of an all,
aoqi@0 678 choice or sequence element child.
aoqi@0 679 </doc:p>
aoqi@0 680 <element name="group"
aoqi@0 681 doc:href="http://www.w3.org/TR/xmlschema-1/#element-group">
aoqi@0 682 <ref name="annotated" />
aoqi@0 683 <attribute name="name">
aoqi@0 684 <data type="NCName" />
aoqi@0 685 </attribute>
aoqi@0 686 <choice>
aoqi@0 687 <element name="all">
aoqi@0 688 <ref name="simpleExplicitGroup" /> <!- - RS - relaxed all content model - ->
aoqi@0 689 </element>
aoqi@0 690 <element name="choice">
aoqi@0 691 <ref name="simpleExplicitGroup" />
aoqi@0 692 </element>
aoqi@0 693 <element name="sequence">
aoqi@0 694 <ref name="simpleExplicitGroup" />
aoqi@0 695 </element>
aoqi@0 696 </choice>
aoqi@0 697 </element>
aoqi@0 698 </define-->
aoqi@0 699
aoqi@0 700 <!--define name="groupRef">
aoqi@0 701 <doc:p>
aoqi@0 702 This describes group element that occurs locally, referring to a
aoqi@0 703 top-level named group. It may have occurrence attributes, and must have
aoqi@0 704 a ref attribute.
aoqi@0 705 </doc:p>
aoqi@0 706 <element name="group"
aoqi@0 707 doc:href="http://www.w3.org/TR/xmlschema-1/#element-group">
aoqi@0 708 <ref name="annotated" />
aoqi@0 709 <ref name="occurs" />
aoqi@0 710 <attribute name="ref">
aoqi@0 711 <data type="QName" />
aoqi@0 712 </attribute>
aoqi@0 713 </element>
aoqi@0 714 </define-->
aoqi@0 715
aoqi@0 716 <define name="explicitGroup" txw:mode="inherit">
aoqi@0 717 <doc:p>
aoqi@0 718 This gives the content of a model group (not a group element) in the
aoqi@0 719 normal run of things. It has occurrence attributes and any number of
aoqi@0 720 particles within it.
aoqi@0 721 </doc:p>
aoqi@0 722 <ref name="annotated" />
aoqi@0 723 <ref name="occurs" />
aoqi@0 724 <zeroOrMore>
aoqi@0 725 <ref name="nestedParticle" />
aoqi@0 726 </zeroOrMore>
aoqi@0 727 </define>
aoqi@0 728
aoqi@0 729 <define name="simpleExplicitGroup">
aoqi@0 730 <doc:p>
aoqi@0 731 This gives the content of a model group (not a group element) within a
aoqi@0 732 named group - it differs from the above in that it doesn&apos;t have any
aoqi@0 733 occurrence attributes.
aoqi@0 734 </doc:p>
aoqi@0 735 <ref name="annotated" />
aoqi@0 736 <zeroOrMore>
aoqi@0 737 <ref name="nestedParticle" />
aoqi@0 738 </zeroOrMore>
aoqi@0 739 </define>
aoqi@0 740
aoqi@0 741 <define name="all">
aoqi@0 742 <doc:p>
aoqi@0 743 This describes an all element that appears outside a named group (i.e. as
aoqi@0 744 the content of a complexType element). It has the standard model for an
aoqi@0 745 all element, but adds minOccurs and maxOccurs attributes which can only
aoqi@0 746 take certain values.
aoqi@0 747 </doc:p>
aoqi@0 748 <element name="all"
aoqi@0 749 doc:href="http://www.w3.org/TR/xmlschema-1/#element-all">
aoqi@0 750 <ref name="explicitGroup" />
aoqi@0 751 </element>
aoqi@0 752 </define>
aoqi@0 753
aoqi@0 754 <define name="choice">
aoqi@0 755 <doc:p>
aoqi@0 756 This describes a choice element that appears outside a named group.
aoqi@0 757 </doc:p>
aoqi@0 758 <element name="choice"
aoqi@0 759 doc:href="http://www.w3.org/TR/xmlschema-1/#element-choice">
aoqi@0 760 <ref name="explicitGroup" />
aoqi@0 761 </element>
aoqi@0 762 </define>
aoqi@0 763
aoqi@0 764 <define name="sequence">
aoqi@0 765 <doc:p>
aoqi@0 766 This describes a sequence element that appears outside a named group.
aoqi@0 767 </doc:p>
aoqi@0 768 <element name="sequence"
aoqi@0 769 doc:href="http://www.w3.org/TR/xmlschema-1/#element-sequence">
aoqi@0 770 <ref name="explicitGroup" />
aoqi@0 771 </element>
aoqi@0 772 </define>
aoqi@0 773
aoqi@0 774 <define name="wildcard" txw:mode="inherit">
aoqi@0 775 <doc:p>
aoqi@0 776 This describes a wildcard element (i.e. any or anyAttribute). The
aoqi@0 777 namespace attribute can take a list URIs interspersed with the keywords
aoqi@0 778 '##targetNamespace' and/or '##local'. This RELAX NG schema, like the XML
aoqi@0 779 Schema Recommendation, allows the keywords to be specified more than once
aoqi@0 780 each within the list, if they&apos;re given. This model also specifies the
aoqi@0 781 processContents attribute.
aoqi@0 782 </doc:p>
aoqi@0 783 <ref name="annotated" />
aoqi@0 784 <zeroOrMore>
aoqi@0 785 <choice>
aoqi@0 786 <attribute name="namespace">
aoqi@0 787 <choice>
aoqi@0 788 <value type="token">##any</value>
aoqi@0 789 <value type="token">##other</value>
aoqi@0 790 <list>
aoqi@0 791 <zeroOrMore>
aoqi@0 792 <choice>
aoqi@0 793 <data type="anyURI" />
aoqi@0 794 <value>##targetNamespace</value>
aoqi@0 795 <value>##local</value>
aoqi@0 796 </choice>
aoqi@0 797 </zeroOrMore>
aoqi@0 798 </list>
aoqi@0 799 </choice>
aoqi@0 800 </attribute>
aoqi@0 801 <attribute name="processContents">
aoqi@0 802 <choice>
aoqi@0 803 <value type="token">lax</value>
aoqi@0 804 <value type="token">skip</value>
aoqi@0 805 <value type="token">strict</value>
aoqi@0 806 </choice>
aoqi@0 807 </attribute>
aoqi@0 808 </choice>
aoqi@0 809 </zeroOrMore>
aoqi@0 810 </define>
aoqi@0 811
aoqi@0 812 <define name="any">
aoqi@0 813 <doc:p>
aoqi@0 814 This describes an any element as a wildcard.
aoqi@0 815 </doc:p>
aoqi@0 816 <element name="any"
aoqi@0 817 doc:href="http://www.w3.org/TR/xmlschema-1/#element-any">
aoqi@0 818 <ref name="wildcard" />
aoqi@0 819 <ref name="occurs" />
aoqi@0 820 </element>
aoqi@0 821 </define>
aoqi@0 822
aoqi@0 823 <!--define name="namedAttributeGroup">
aoqi@0 824 <doc:p>
aoqi@0 825 This describes an attributeGroup element as it appears at the top level
aoqi@0 826 of the schema. It must have a name attribute, and then contains
aoqi@0 827 attribute declarations.
aoqi@0 828 </doc:p>
aoqi@0 829 <element name="attributeGroup"
aoqi@0 830 doc:href="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup">
aoqi@0 831 <ref name="annotated" />
aoqi@0 832 <attribute name="name">
aoqi@0 833 <data type="NCName" />
aoqi@0 834 </attribute>
aoqi@0 835 <ref name="attrDecls" />
aoqi@0 836 </element>
aoqi@0 837 </define-->
aoqi@0 838
aoqi@0 839 <!--define name="attributeGroupRef">
aoqi@0 840 <doc:p>
aoqi@0 841 This describes an attributeGroup element as it appears within a complex
aoqi@0 842 type. It must have a ref attribute.
aoqi@0 843 </doc:p>
aoqi@0 844 <element name="attributeGroup"
aoqi@0 845 doc:href="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup">
aoqi@0 846 <ref name="annotated" />
aoqi@0 847 <attribute name="ref">
aoqi@0 848 <data type="QName" />
aoqi@0 849 </attribute>
aoqi@0 850 </element>
aoqi@0 851 </define-->
aoqi@0 852
aoqi@0 853 <!--define name="include">
aoqi@0 854 <doc:p>
aoqi@0 855 This describes an include element, which must have a schemaLocation
aoqi@0 856 attribute.
aoqi@0 857 </doc:p>
aoqi@0 858 <element name="include"
aoqi@0 859 doc:href="http://www.w3.org/TR/xmlschema-1/#element-include">
aoqi@0 860 <ref name="annotated" />
aoqi@0 861 <attribute name="schemaLocation">
aoqi@0 862 <data type="anyURI" />
aoqi@0 863 </attribute>
aoqi@0 864 </element>
aoqi@0 865 </define-->
aoqi@0 866
aoqi@0 867 <!--define name="redefine">
aoqi@0 868 <doc:p>
aoqi@0 869 This describes a redefine element, which must have a schemaLocation
aoqi@0 870 attribute and can then contain any mix of annotations and redefinable
aoqi@0 871 components.
aoqi@0 872 </doc:p>
aoqi@0 873 <element name="redefine"
aoqi@0 874 doc:href="http://www.w3.org/TR/xmlschema-1/#element-redefine">
aoqi@0 875 <ref name="openAttrs" />
aoqi@0 876 <optional>
aoqi@0 877 <attribute name="id">
aoqi@0 878 <data type="ID" />
aoqi@0 879 </attribute>
aoqi@0 880 </optional>
aoqi@0 881 <attribute name="schemaLocation">
aoqi@0 882 <data type="anyURI" />
aoqi@0 883 </attribute>
aoqi@0 884 <zeroOrMore>
aoqi@0 885 <choice>
aoqi@0 886 <ref name="annotation" />
aoqi@0 887 <ref name="redefinable" />
aoqi@0 888 </choice>
aoqi@0 889 </zeroOrMore>
aoqi@0 890 </element>
aoqi@0 891 </define-->
aoqi@0 892
aoqi@0 893 <define name="import">
aoqi@0 894 <doc:p>
aoqi@0 895 This describes an import element that&apos;s used when its parent schema
aoqi@0 896 element specifies a targetNamespace. In these cases, the namespace
aoqi@0 897 attribute on the import element is optional.
aoqi@0 898 </doc:p>
aoqi@0 899 <element name="import"
aoqi@0 900 doc:href="http://www.w3.org/TR/xmlschema-1/#element-import">
aoqi@0 901 <ref name="annotated" />
aoqi@0 902 <optional>
aoqi@0 903 <attribute name="schemaLocation">
aoqi@0 904 <data type="anyURI" />
aoqi@0 905 </attribute>
aoqi@0 906 </optional>
aoqi@0 907 <optional>
aoqi@0 908 <attribute name="namespace">
aoqi@0 909 <data type="anyURI" />
aoqi@0 910 </attribute>
aoqi@0 911 </optional>
aoqi@0 912 </element>
aoqi@0 913 </define>
aoqi@0 914
aoqi@0 915 <!--define name="selector">
aoqi@0 916 <doc:p>
aoqi@0 917 This describes a selector element. The xpath attribute is a simplified
aoqi@0 918 XPath - the regular expression given here is the one from the XML Schema
aoqi@0 919 for XML Schema.
aoqi@0 920 </doc:p>
aoqi@0 921 <element name="selector"
aoqi@0 922 doc:href="http://www.w3.org/TR/xmlschema-1/#element-selector">
aoqi@0 923 <ref name="annotated" />
aoqi@0 924 <attribute name="xpath">
aoqi@0 925 <data type="token">
aoqi@0 926 <param name="pattern">(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*</param>
aoqi@0 927 </data>
aoqi@0 928 </attribute>
aoqi@0 929 </element>
aoqi@0 930 </define>
aoqi@0 931
aoqi@0 932 <define name="field">
aoqi@0 933 <doc:p>
aoqi@0 934 This describes a field element. The xpath attribute is a simplified
aoqi@0 935 XPath - the regular expression given here is the one from the XML Schema
aoqi@0 936 for XML Schema.
aoqi@0 937 </doc:p>
aoqi@0 938 <element name="field"
aoqi@0 939 doc:href="http://www.w3.org/TR/xmlschema-1/#element-field">
aoqi@0 940 <ref name="annotated" />
aoqi@0 941 <attribute name="xpath">
aoqi@0 942 <data type="token">
aoqi@0 943 <param name="pattern">(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*))))(\|(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*)))))*</param>
aoqi@0 944 </data>
aoqi@0 945 </attribute>
aoqi@0 946 </element>
aoqi@0 947 </define>
aoqi@0 948
aoqi@0 949 <define name="keybase" txw:mode="inherit">
aoqi@0 950 <doc:p>
aoqi@0 951 This gives the basic content for identity constraints - a name attribute
aoqi@0 952 that uniquely identifies the identity constraint, a selector element and
aoqi@0 953 one or more field elements.
aoqi@0 954 </doc:p>
aoqi@0 955 <ref name="annotated" />
aoqi@0 956 <attribute name="name">
aoqi@0 957 <data type="NCName" />
aoqi@0 958 </attribute>
aoqi@0 959 <ref name="selector" />
aoqi@0 960 <oneOrMore>
aoqi@0 961 <ref name="field" />
aoqi@0 962 </oneOrMore>
aoqi@0 963 </define>
aoqi@0 964
aoqi@0 965 <define name="identityConstraint" txw:mode="inline">
aoqi@0 966 <doc:p>
aoqi@0 967 This gives a model group for the three identity constraint elements, used
aoqi@0 968 within the content of element elements.
aoqi@0 969 </doc:p>
aoqi@0 970 <choice>
aoqi@0 971 <ref name="unique" />
aoqi@0 972 <ref name="key" />
aoqi@0 973 <ref name="keyref" />
aoqi@0 974 </choice>
aoqi@0 975 </define>
aoqi@0 976
aoqi@0 977 <define name="unique">
aoqi@0 978 <doc:p>
aoqi@0 979 This describes a unique element.
aoqi@0 980 </doc:p>
aoqi@0 981 <element name="unique"
aoqi@0 982 doc:href="http://www.w3.org/TR/xmlschema-1/#element-unique">
aoqi@0 983 <ref name="keybase" />
aoqi@0 984 </element>
aoqi@0 985 </define>
aoqi@0 986
aoqi@0 987 <define name="key">
aoqi@0 988 <doc:p>
aoqi@0 989 This describes a key element.
aoqi@0 990 </doc:p>
aoqi@0 991 <element name="key"
aoqi@0 992 doc:href="http://www.w3.org/TR/xmlschema-1/#element-key">
aoqi@0 993 <ref name="keybase" />
aoqi@0 994 </element>
aoqi@0 995 </define>
aoqi@0 996
aoqi@0 997 <define name="keyref">
aoqi@0 998 <doc:p>
aoqi@0 999 This describes a keyref element.
aoqi@0 1000 </doc:p>
aoqi@0 1001 <element name="keyref"
aoqi@0 1002 doc:href="http://www.w3.org/TR/xmlschema-1/#element-keyref">
aoqi@0 1003 <ref name="keybase" />
aoqi@0 1004 <attribute name="refer">
aoqi@0 1005 <data type="QName" />
aoqi@0 1006 </attribute>
aoqi@0 1007 </element>
aoqi@0 1008 </define-->
aoqi@0 1009
aoqi@0 1010 <!--define name="notation">
aoqi@0 1011 <doc:p>
aoqi@0 1012 This describes a notation element. The names of notation elements are
aoqi@0 1013 unique in the notation symbol space. The public attribute is required,
aoqi@0 1014 and the system attribute is optional.
aoqi@0 1015 </doc:p>
aoqi@0 1016 <element name="notation"
aoqi@0 1017 doc:href="http://www.w3.org/TR/xmlschema-1/#element-notation">
aoqi@0 1018 <ref name="annotated" />
aoqi@0 1019 <attribute name="name">
aoqi@0 1020 <data type="NCName" />
aoqi@0 1021 </attribute>
aoqi@0 1022 <attribute name="public">
aoqi@0 1023 <data type="token" />
aoqi@0 1024 </attribute>
aoqi@0 1025 <optional>
aoqi@0 1026 <attribute name="system">
aoqi@0 1027 <data type="anyURI" />
aoqi@0 1028 </attribute>
aoqi@0 1029 </optional>
aoqi@0 1030 </element>
aoqi@0 1031 </define-->
aoqi@0 1032
aoqi@0 1033 <define name="appinfoContent">
aoqi@0 1034 <doc:p>
aoqi@0 1035 This is designed to describe the content of the appinfo elements in the
aoqi@0 1036 schema. At the moment this allows any mixed content without validation.
aoqi@0 1037 Note that this is fairly complex compared to the XML Schema equivalent,
aoqi@0 1038 which would be a single any element.
aoqi@0 1039 </doc:p>
aoqi@0 1040 <ref name="anyContent" />
aoqi@0 1041 </define>
aoqi@0 1042
aoqi@0 1043 <define name="anyContent">
aoqi@0 1044 <empty/> <!-- KK don't care -->
aoqi@0 1045 <!--mixed>
aoqi@0 1046 <zeroOrMore>
aoqi@0 1047 <element>
aoqi@0 1048 <anyName />
aoqi@0 1049 <zeroOrMore>
aoqi@0 1050 <attribute>
aoqi@0 1051 <anyName />
aoqi@0 1052 </attribute>
aoqi@0 1053 </zeroOrMore>
aoqi@0 1054 <ref name="anyContent" />
aoqi@0 1055 <empty />
aoqi@0 1056 </element>
aoqi@0 1057 </zeroOrMore>
aoqi@0 1058 </mixed-->
aoqi@0 1059 </define>
aoqi@0 1060
aoqi@0 1061 <define name="appinfo">
aoqi@0 1062 <doc:p>
aoqi@0 1063 This describes an appinfo element. It has an optional source attribute
aoqi@0 1064 and can currently contain anything at all.
aoqi@0 1065 </doc:p>
aoqi@0 1066 <element name="appinfo"
aoqi@0 1067 doc:href="http://www.w3.org/TR/xmlschema-1/#element-appinfo">
aoqi@0 1068 <optional>
aoqi@0 1069 <attribute name="source">
aoqi@0 1070 <data type="anyURI" />
aoqi@0 1071 </attribute>
aoqi@0 1072 </optional>
aoqi@0 1073 <ref name="appinfoContent" />
aoqi@0 1074 </element>
aoqi@0 1075 </define>
aoqi@0 1076
aoqi@0 1077 <define name="documentationContent">
aoqi@0 1078 <doc:p>
aoqi@0 1079 This is designed to describe the content of the documentation elements in
aoqi@0 1080 the schema. At the moment this allows any mixed content without
aoqi@0 1081 validation. Note that this is fairly complex compared to the XML Schema
aoqi@0 1082 equivalent, which would be a single any element.
aoqi@0 1083 </doc:p>
aoqi@0 1084 <ref name="anyContent" />
aoqi@0 1085 </define>
aoqi@0 1086
aoqi@0 1087 <define name="documentation">
aoqi@0 1088 <doc:p>
aoqi@0 1089 This describes a documentation element. It has optional source
aoqi@0 1090 and xml:lang attributes and can currently contain anything at all.
aoqi@0 1091 </doc:p>
aoqi@0 1092 <element name="documentation"
aoqi@0 1093 doc:href="http://www.w3.org/TR/xmlschema-1/#element-documentation">
aoqi@0 1094 <zeroOrMore>
aoqi@0 1095 <choice>
aoqi@0 1096 <attribute name="source">
aoqi@0 1097 <data type="anyURI" />
aoqi@0 1098 </attribute>
aoqi@0 1099 <attribute name="xml:lang">
aoqi@0 1100 <data type="language" />
aoqi@0 1101 </attribute>
aoqi@0 1102 </choice>
aoqi@0 1103 </zeroOrMore>
aoqi@0 1104 <ref name="documentationContent" />
aoqi@0 1105 </element>
aoqi@0 1106 </define>
aoqi@0 1107
aoqi@0 1108 <define name="annotation">
aoqi@0 1109 <doc:p>
aoqi@0 1110 This describes an annotation element. It can have any attributes, may
aoqi@0 1111 have an id attribute, and contains any number of documentation or appinfo
aoqi@0 1112 elements.
aoqi@0 1113 </doc:p>
aoqi@0 1114 <element name="annotation"
aoqi@0 1115 doc:href="http://www.w3.org/TR/xmlschema-1/#element-annotation">
aoqi@0 1116 <ref name="openAttrs" />
aoqi@0 1117 <optional>
aoqi@0 1118 <attribute name="id">
aoqi@0 1119 <data type="ID" />
aoqi@0 1120 </attribute>
aoqi@0 1121 </optional>
aoqi@0 1122 <zeroOrMore>
aoqi@0 1123 <choice>
aoqi@0 1124 <ref name="documentation" />
aoqi@0 1125 <ref name="appinfo" />
aoqi@0 1126 </choice>
aoqi@0 1127 </zeroOrMore>
aoqi@0 1128 </element>
aoqi@0 1129 </define>
aoqi@0 1130
aoqi@0 1131 <define name="simpleDerivation" txw:mode="inline">
aoqi@0 1132 <doc:p>
aoqi@0 1133 This gives the various types of derivation of simple types.
aoqi@0 1134 </doc:p>
aoqi@0 1135 <choice>
aoqi@0 1136 <ref name="simpleRestriction" />
aoqi@0 1137 <ref name="list" />
aoqi@0 1138 <ref name="union" />
aoqi@0 1139 </choice>
aoqi@0 1140 </define>
aoqi@0 1141
aoqi@0 1142 <define name="simpleDerivationSet">
aoqi@0 1143 <doc:p>
aoqi@0 1144 This specifies the values of the final attribute for simple types. This
aoqi@0 1145 RELAX NG schema for XML Schema, like the XML Schema Recommendation, allows
aoqi@0 1146 the keywords 'list', 'union' and 'restriction' to appear more than once
aoqi@0 1147 within the list.
aoqi@0 1148 </doc:p>
aoqi@0 1149 <choice>
aoqi@0 1150 <value type="token">#all</value>
aoqi@0 1151 <list>
aoqi@0 1152 <zeroOrMore>
aoqi@0 1153 <choice>
aoqi@0 1154 <value>list</value>
aoqi@0 1155 <value>union</value>
aoqi@0 1156 <value>restriction</value>
aoqi@0 1157 </choice>
aoqi@0 1158 </zeroOrMore>
aoqi@0 1159 </list>
aoqi@0 1160 </choice>
aoqi@0 1161 </define>
aoqi@0 1162
aoqi@0 1163 <define name="simpleTypeHost" txw:mode="inherit">
aoqi@0 1164 <ref name="typeHost" />
aoqi@0 1165 <ref name="simpleType" />
aoqi@0 1166 </define>
aoqi@0 1167
aoqi@0 1168 <define name="simpleType" txw:mode="inherit">
aoqi@0 1169 <doc:p>
aoqi@0 1170 This gives the basic content of a simple type.
aoqi@0 1171 </doc:p>
aoqi@0 1172 <element name="simpleType"
aoqi@0 1173 doc:href="http://www.w3.org/TR/xmlschema-1/#element-simpleType">
aoqi@0 1174 <ref name="annotated" />
aoqi@0 1175 <ref name="simpleDerivation" />
aoqi@0 1176 <optional>
aoqi@0 1177 <attribute name="name">
aoqi@0 1178 <data type="NCName" />
aoqi@0 1179 </attribute>
aoqi@0 1180 </optional>
aoqi@0 1181 <optional>
aoqi@0 1182 <attribute name="final">
aoqi@0 1183 <ref name="simpleDerivationSet" />
aoqi@0 1184 </attribute>
aoqi@0 1185 </optional>
aoqi@0 1186 </element>
aoqi@0 1187 </define>
aoqi@0 1188
aoqi@0 1189 <!--define name="rangeFacets" txw:mode="inherit">
aoqi@0 1190 <doc:p>
aoqi@0 1191 This describes the relationship between the various range facets. Only
aoqi@0 1192 one of minExclusive and minInclusive can be present, and only one of
aoqi@0 1193 maxExclusive and maxInclusive can be present. This is a constraint that
aoqi@0 1194 can&apos;t easily be expressed using XML Schema. This RELAX NG schema
aoqi@0 1195 for XML Schema is a little more restrictive than the XML Schema
aoqi@0 1196 Recommendation in that it also forces there to be a maximum of one of
aoqi@0 1197 each of these types of facets.
aoqi@0 1198 </doc:p>
aoqi@0 1199 <interleave>
aoqi@0 1200 <optional>
aoqi@0 1201 <choice>
aoqi@0 1202 <ref name="minExclusive" />
aoqi@0 1203 <ref name="minInclusive" />
aoqi@0 1204 </choice>
aoqi@0 1205 </optional>
aoqi@0 1206 <optional>
aoqi@0 1207 <choice>
aoqi@0 1208 <ref name="maxExclusive" />
aoqi@0 1209 <ref name="maxInclusive" />
aoqi@0 1210 </choice>
aoqi@0 1211 </optional>
aoqi@0 1212 </interleave>
aoqi@0 1213 </define>
aoqi@0 1214
aoqi@0 1215 <define name="digitFacets" txw:mode="inherit">
aoqi@0 1216 <doc:p>
aoqi@0 1217 This specifies optional totalDigits and fractionDigits elements. This
aoqi@0 1218 RELAX NG schema for XML Schema is a little more restrictive than the XML
aoqi@0 1219 Schema Recommendation in that it also forces there to be a maximum of one
aoqi@0 1220 of each of these types of facets.
aoqi@0 1221 </doc:p>
aoqi@0 1222 <optional>
aoqi@0 1223 <ref name="totalDigits" />
aoqi@0 1224 </optional>
aoqi@0 1225 <optional>
aoqi@0 1226 <ref name="fractionDigits" />
aoqi@0 1227 </optional>
aoqi@0 1228 </define>
aoqi@0 1229
aoqi@0 1230 <define name="lengthFacets" txw:mode="inherit">
aoqi@0 1231 <doc:p>
aoqi@0 1232 This specifies optional length, minLength and maxLength elements. This
aoqi@0 1233 RELAX NG schema for XML Schema is a little more restrictive than the XML
aoqi@0 1234 Schema Recommendation in that it also forces there to be a maximum of one
aoqi@0 1235 of each of these types of facets, and says that if a length element is
aoqi@0 1236 given, then neither minLength nor maxLength should be present.
aoqi@0 1237 </doc:p>
aoqi@0 1238 <choice>
aoqi@0 1239 <ref name="length" />
aoqi@0 1240 <interleave>
aoqi@0 1241 <optional>
aoqi@0 1242 <ref name="minLength" />
aoqi@0 1243 </optional>
aoqi@0 1244 <optional>
aoqi@0 1245 <ref name="maxLength" />
aoqi@0 1246 </optional>
aoqi@0 1247 </interleave>
aoqi@0 1248 </choice>
aoqi@0 1249 </define>
aoqi@0 1250
aoqi@0 1251 <define name="commonFacets" txw:mode="inherit">
aoqi@0 1252 <doc:p>
aoqi@0 1253 This specifies zero or more enumeration or pattern elements and an
aoqi@0 1254 optional whiteSpace element. This RELAX NG schema for XML Schema is a
aoqi@0 1255 little more restrictive than the XML Schema Recommendation in that it
aoqi@0 1256 also forces there to be a maximum of one whiteSpace element within the
aoqi@0 1257 facets. Note that the whiteSpace facet is constrained to have a value of
aoqi@0 1258 'collapse'.
aoqi@0 1259 </doc:p>
aoqi@0 1260 <zeroOrMore>
aoqi@0 1261 <ref name="enumeration" />
aoqi@0 1262 </zeroOrMore>
aoqi@0 1263 <optional>
aoqi@0 1264 <ref name="whiteSpaceCollapse" />
aoqi@0 1265 </optional>
aoqi@0 1266 <zeroOrMore>
aoqi@0 1267 <ref name="pattern" />
aoqi@0 1268 </zeroOrMore>
aoqi@0 1269 </define-->
aoqi@0 1270
aoqi@0 1271 <define name="simpleRestrictionModel">
aoqi@0 1272 <doc:p>
aoqi@0 1273 This specifies the types of facets that are valid in restrictions on the
aoqi@0 1274 built-in data types. This can only perform rudimentary checking, but
aoqi@0 1275 should be enough in most circumstances. Note that for xs:anySimpleType
aoqi@0 1276 and xs:string, the whiteSpace facet can take any value, for
aoqi@0 1277 xs:normalizedString it can be 'replace' or 'collapse', and for all other
aoqi@0 1278 built-in types it has to be 'collapse'.
aoqi@0 1279 </doc:p>
aoqi@0 1280 <choice>
aoqi@0 1281 <attribute name="base">
aoqi@0 1282 <data type="QName" />
aoqi@0 1283 </attribute>
aoqi@0 1284 <ref name="simpleTypeHost" />
aoqi@0 1285 </choice>
aoqi@0 1286 <interleave>
aoqi@0 1287 <!--ref name="rangeFacets" />
aoqi@0 1288 <ref name="digitFacets" />
aoqi@0 1289 <ref name="lengthFacets" />
aoqi@0 1290 <optional>
aoqi@0 1291 <ref name="whiteSpace" />
aoqi@0 1292 </optional-->
aoqi@0 1293 <zeroOrMore>
aoqi@0 1294 <ref name="enumeration" />
aoqi@0 1295 </zeroOrMore>
aoqi@0 1296 <!--zeroOrMore>
aoqi@0 1297 <ref name="pattern" />
aoqi@0 1298 </zeroOrMore-->
aoqi@0 1299 </interleave>
aoqi@0 1300 </define>
aoqi@0 1301
aoqi@0 1302 <define name="list">
aoqi@0 1303 <doc:p>
aoqi@0 1304 This describes a list element. It can either specify a local simple type
aoqi@0 1305 or have a itemType attribute. This constraint cannot be expressed in XML
aoqi@0 1306 Schema.
aoqi@0 1307 </doc:p>
aoqi@0 1308 <element name="list"
aoqi@0 1309 doc:href="http://www.w3.org/TR/xmlschema-1/#element-list">
aoqi@0 1310 <ref name="annotated" />
aoqi@0 1311 <choice>
aoqi@0 1312 <ref name="simpleTypeHost" />
aoqi@0 1313 <attribute name="itemType">
aoqi@0 1314 <data type="QName" />
aoqi@0 1315 </attribute>
aoqi@0 1316 </choice>
aoqi@0 1317 </element>
aoqi@0 1318 </define>
aoqi@0 1319
aoqi@0 1320 <define name="union">
aoqi@0 1321 <doc:p>
aoqi@0 1322 This describes a union element. If the memberTypes attribute is missing
aoqi@0 1323 or empty, then it must contain one or more simpleType elements; if
aoqi@0 1324 it&apos;s present, then it can contain simpleType elements or list simple
aoqi@0 1325 types in the memberTypes attribute. This constraint cannot be expressed
aoqi@0 1326 in XML Schema.
aoqi@0 1327 </doc:p>
aoqi@0 1328 <element name="union"
aoqi@0 1329 doc:href="http://www.w3.org/TR/xmlschema-1/#element-union">
aoqi@0 1330 <ref name="annotated" />
aoqi@0 1331 <choice>
aoqi@0 1332 <group>
aoqi@0 1333 <attribute name="memberTypes">
aoqi@0 1334 <list>
aoqi@0 1335 <oneOrMore>
aoqi@0 1336 <data type="QName" />
aoqi@0 1337 </oneOrMore>
aoqi@0 1338 </list>
aoqi@0 1339 </attribute>
aoqi@0 1340 <zeroOrMore>
aoqi@0 1341 <ref name="simpleTypeHost" />
aoqi@0 1342 </zeroOrMore>
aoqi@0 1343 </group>
aoqi@0 1344 <group>
aoqi@0 1345 <optional>
aoqi@0 1346 <attribute name="memberTypes">
aoqi@0 1347 <empty />
aoqi@0 1348 </attribute>
aoqi@0 1349 </optional>
aoqi@0 1350 <oneOrMore>
aoqi@0 1351 <ref name="simpleTypeHost" />
aoqi@0 1352 </oneOrMore>
aoqi@0 1353 </group>
aoqi@0 1354 </choice>
aoqi@0 1355 </element>
aoqi@0 1356 </define>
aoqi@0 1357
aoqi@0 1358 <define name="facet" txw:mode="inherit">
aoqi@0 1359 <doc:p>
aoqi@0 1360 This is the basic content of a facet. It has an optional fixed attribute.
aoqi@0 1361 </doc:p>
aoqi@0 1362 <ref name="annotated" />
aoqi@0 1363 <optional>
aoqi@0 1364 <attribute name="fixed">
aoqi@0 1365 <data type="boolean" />
aoqi@0 1366 </attribute>
aoqi@0 1367 </optional>
aoqi@0 1368 </define>
aoqi@0 1369
aoqi@0 1370 <define name="noFixedFacet" txw:mode="inherit">
aoqi@0 1371 <doc:p>
aoqi@0 1372 This is the content of a facet that cannot be fixed (enumeration or
aoqi@0 1373 pattern). It has a value attribute that can take any kind of value.
aoqi@0 1374 </doc:p>
aoqi@0 1375 <ref name="annotated" />
aoqi@0 1376 <attribute name="value" />
aoqi@0 1377 </define>
aoqi@0 1378
aoqi@0 1379 <!--define name="rangeFacet">
aoqi@0 1380 <doc:p>
aoqi@0 1381 This is the content of a range facet. The value must be one of the data
aoqi@0 1382 types shown (as these are the only types of data that accept ranges). I
aoqi@0 1383 haven&apos;t gone so far as to indicate the data type of the value
aoqi@0 1384 attribute of a range facet according to the base type as this would be
aoqi@0 1385 very complicated (although it would be possible in RELAX NG).
aoqi@0 1386 </doc:p>
aoqi@0 1387 <ref name="facet" />
aoqi@0 1388 <attribute name="value">
aoqi@0 1389 <choice>
aoqi@0 1390 <data type="decimal" />
aoqi@0 1391 <data type="float" />
aoqi@0 1392 <data type="double" />
aoqi@0 1393 <data type="duration" />
aoqi@0 1394 <data type="dateTime" />
aoqi@0 1395 <data type="time" />
aoqi@0 1396 <data type="date" />
aoqi@0 1397 <data type="gYearMonth" />
aoqi@0 1398 <data type="gYear" />
aoqi@0 1399 <data type="gMonthDay" />
aoqi@0 1400 <data type="gMonth" />
aoqi@0 1401 <data type="gDay" />
aoqi@0 1402 </choice>
aoqi@0 1403 </attribute>
aoqi@0 1404 </define>
aoqi@0 1405
aoqi@0 1406 <define name="minExclusive">
aoqi@0 1407 <doc:p>
aoqi@0 1408 This describes a minExclusive element.
aoqi@0 1409 </doc:p>
aoqi@0 1410 <element name="minExclusive"
aoqi@0 1411 doc:href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/datatypes.html#element-minExclusive">
aoqi@0 1412 <ref name="rangeFacet" />
aoqi@0 1413 </element>
aoqi@0 1414 </define>
aoqi@0 1415
aoqi@0 1416 <define name="minInclusive">
aoqi@0 1417 <doc:p>
aoqi@0 1418 This describes a minInclusive element.
aoqi@0 1419 </doc:p>
aoqi@0 1420 <element name="minInclusive"
aoqi@0 1421 doc:href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/datatypes.html#element-minInclusive">
aoqi@0 1422 <ref name="rangeFacet" />
aoqi@0 1423 </element>
aoqi@0 1424 </define>
aoqi@0 1425
aoqi@0 1426 <define name="maxExclusive">
aoqi@0 1427 <doc:p>
aoqi@0 1428 This describes a maxExclusive element.
aoqi@0 1429 </doc:p>
aoqi@0 1430 <element name="maxExclusive"
aoqi@0 1431 doc:href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/datatypes.html#element-maxExclusive">
aoqi@0 1432 <ref name="rangeFacet" />
aoqi@0 1433 </element>
aoqi@0 1434 </define>
aoqi@0 1435
aoqi@0 1436 <define name="maxInclusive">
aoqi@0 1437 <doc:p>
aoqi@0 1438 This describes a maxInclusive element.
aoqi@0 1439 </doc:p>
aoqi@0 1440 <element name="maxInclusive"
aoqi@0 1441 doc:href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/datatypes.html#element-maxInclusive">
aoqi@0 1442 <ref name="rangeFacet" />
aoqi@0 1443 </element>
aoqi@0 1444 </define>
aoqi@0 1445
aoqi@0 1446 <define name="numFacet">
aoqi@0 1447 <doc:p>
aoqi@0 1448 This is the content of a numerical facet.
aoqi@0 1449 </doc:p>
aoqi@0 1450 <ref name="facet" />
aoqi@0 1451 <attribute name="value">
aoqi@0 1452 <data type="nonNegativeInteger" />
aoqi@0 1453 </attribute>
aoqi@0 1454 </define>
aoqi@0 1455
aoqi@0 1456 <define name="totalDigits">
aoqi@0 1457 <doc:p>
aoqi@0 1458 This describes a totalDigits element. The value attribute must take a
aoqi@0 1459 positive integer.
aoqi@0 1460 </doc:p>
aoqi@0 1461 <element name="totalDigits"
aoqi@0 1462 doc:href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/datatypes.html#element-totalDigits">
aoqi@0 1463 <ref name="facet" />
aoqi@0 1464 <attribute name="value">
aoqi@0 1465 <data type="positiveInteger" />
aoqi@0 1466 </attribute>
aoqi@0 1467 </element>
aoqi@0 1468 </define>
aoqi@0 1469
aoqi@0 1470 <define name="fractionDigits">
aoqi@0 1471 <doc:p>
aoqi@0 1472 This describes a fractionDigits element.
aoqi@0 1473 </doc:p>
aoqi@0 1474 <element name="fractionDigits"
aoqi@0 1475 doc:href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/datatypes.html#element-fractionDigits">
aoqi@0 1476 <ref name="numFacet" />
aoqi@0 1477 </element>
aoqi@0 1478 </define>
aoqi@0 1479
aoqi@0 1480 <define name="length">
aoqi@0 1481 <doc:p>
aoqi@0 1482 This describes a length element.
aoqi@0 1483 </doc:p>
aoqi@0 1484 <element name="length"
aoqi@0 1485 doc:href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/datatypes.html#element-length">
aoqi@0 1486 <ref name="numFacet" />
aoqi@0 1487 </element>
aoqi@0 1488 </define>
aoqi@0 1489
aoqi@0 1490 <define name="minLength">
aoqi@0 1491 <doc:p>
aoqi@0 1492 This describes a minLength element.
aoqi@0 1493 </doc:p>
aoqi@0 1494 <element name="minLength"
aoqi@0 1495 doc:href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/datatypes.html#element-minLength">
aoqi@0 1496 <ref name="numFacet" />
aoqi@0 1497 </element>
aoqi@0 1498 </define>
aoqi@0 1499
aoqi@0 1500 <define name="maxLength">
aoqi@0 1501 <doc:p>
aoqi@0 1502 This describes a maxLength element.
aoqi@0 1503 </doc:p>
aoqi@0 1504 <element name="maxLength"
aoqi@0 1505 doc:href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/datatypes.html#element-maxLength">
aoqi@0 1506 <ref name="numFacet" />
aoqi@0 1507 </element>
aoqi@0 1508 </define-->
aoqi@0 1509
aoqi@0 1510 <define name="enumeration">
aoqi@0 1511 <doc:p>
aoqi@0 1512 This describes an enumeration element.
aoqi@0 1513 </doc:p>
aoqi@0 1514 <element name="enumeration"
aoqi@0 1515 doc:href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/datatypes.html#element-enumeration">
aoqi@0 1516 <ref name="noFixedFacet" />
aoqi@0 1517 </element>
aoqi@0 1518 </define>
aoqi@0 1519
aoqi@0 1520 <!--define name="whiteSpace">
aoqi@0 1521 <doc:p>
aoqi@0 1522 This describes a whiteSpace element that can take any of the permitted
aoqi@0 1523 values.
aoqi@0 1524 </doc:p>
aoqi@0 1525 <element name="whiteSpace"
aoqi@0 1526 doc:href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/datatypes.html#element-whiteSpace">
aoqi@0 1527 <ref name="facet" />
aoqi@0 1528 <attribute name="value">
aoqi@0 1529 <choice>
aoqi@0 1530 <value type="token">preserve</value>
aoqi@0 1531 <value type="token">replace</value>
aoqi@0 1532 <value type="token">collapse</value>
aoqi@0 1533 </choice>
aoqi@0 1534 </attribute>
aoqi@0 1535 </element>
aoqi@0 1536 </define>
aoqi@0 1537
aoqi@0 1538 <define name="whiteSpaceReplaceOrCollapse">
aoqi@0 1539 <doc:p>
aoqi@0 1540 This describes a whiteSpace element that can only take the values
aoqi@0 1541 'replace' or 'collapse'.
aoqi@0 1542 </doc:p>
aoqi@0 1543 <element name="whiteSpace"
aoqi@0 1544 doc:href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/datatypes.html#element-whiteSpace">
aoqi@0 1545 <ref name="facet" />
aoqi@0 1546 <attribute name="value">
aoqi@0 1547 <choice>
aoqi@0 1548 <value type="token">replace</value>
aoqi@0 1549 <value type="token">collapse</value>
aoqi@0 1550 </choice>
aoqi@0 1551 </attribute>
aoqi@0 1552 </element>
aoqi@0 1553 </define>
aoqi@0 1554
aoqi@0 1555 <define name="whiteSpaceCollapse">
aoqi@0 1556 <doc:p>
aoqi@0 1557 This describes a whiteSpace element that can only take the value
aoqi@0 1558 'collapse'.
aoqi@0 1559 </doc:p>
aoqi@0 1560 <element name="whiteSpace"
aoqi@0 1561 doc:href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/datatypes.html#element-whiteSpace">
aoqi@0 1562 <ref name="facet" />
aoqi@0 1563 <attribute name="value">
aoqi@0 1564 <value type="token">collapse</value>
aoqi@0 1565 </attribute>
aoqi@0 1566 </element>
aoqi@0 1567 </define>
aoqi@0 1568
aoqi@0 1569 <define name="pattern">
aoqi@0 1570 <doc:p>
aoqi@0 1571 This describes a pattern element.
aoqi@0 1572 </doc:p>
aoqi@0 1573 <element name="pattern"
aoqi@0 1574 doc:href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/datatypes.html#element-pattern">
aoqi@0 1575 <ref name="noFixedFacet" />
aoqi@0 1576 </element>
aoqi@0 1577 </define-->
aoqi@0 1578
aoqi@0 1579 </grammar>

mercurial