home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 October / PCWorld_2000-10_cd1.bin / Software / TemaCD / xmlspy / xmlspy30c.exe / Main / part2.dtd < prev    next >
Encoding:
Text File  |  2000-09-11  |  5.8 KB  |  186 lines

  1. <!-- edited with XML Spy v3.0b2 (http://www.xmlspy.com) by Alexander Falk (Icon GmbH) -->
  2. <!-- DTD for XML Schemas: Part 2: Datatypes -->
  3. <!-- $Id: part2.dtd,v 1.1 2000/04/06 13:48:11 aqw Exp $ -->
  4. <!-- Note this DTD is NOT the normative datatypes DTD - - the
  5.      prose copy in the datatypes REC is the normative version (which
  6.      shouldn't differ from this one except for this comment and entity
  7.      expansions, but just in case -->
  8. <!ENTITY % p ''>
  9. <!-- can be overriden in the internal subset of a
  10.                       schema document to establish a namespace prefix -->
  11. <!-- Define all the element names, with optional prefix -->
  12. <!ENTITY % simpleType "%p;simpleType">
  13. <!ENTITY % maxExclusive "%p;maxExclusive">
  14. <!ENTITY % minExclusive "%p;minExclusive">
  15. <!ENTITY % maxInclusive "%p;maxInclusive">
  16. <!ENTITY % minInclusive "%p;minInclusive">
  17. <!ENTITY % precision "%p;precision">
  18. <!ENTITY % scale "%p;scale">
  19. <!ENTITY % length "%p;length">
  20. <!ENTITY % minLength "%p;minLength">
  21. <!ENTITY % maxLength "%p;maxLength">
  22. <!ENTITY % enumeration "%p;enumeration">
  23. <!ENTITY % pattern "%p;pattern">
  24. <!ENTITY % encoding "%p;encoding">
  25. <!ENTITY % period "%p;period">
  26. <!ENTITY % duration "%p;duration">
  27. <!-- Customisation entities for the ATTLIST of each element type.
  28.      Define one of these if your schema takes advantage of the
  29.      anyAttribute='##other' in the schema for schemas -->
  30. <!ENTITY % simpleTypeAttrs ''>
  31. <!ENTITY % maxExclusiveAttrs ''>
  32. <!ENTITY % minExclusiveAttrs ''>
  33. <!ENTITY % maxInclusiveAttrs ''>
  34. <!ENTITY % minInclusiveAttrs ''>
  35. <!ENTITY % precisionAttrs ''>
  36. <!ENTITY % scaleAttrs ''>
  37. <!ENTITY % lengthAttrs ''>
  38. <!ENTITY % minLengthAttrs ''>
  39. <!ENTITY % maxLengthAttrs ''>
  40. <!ENTITY % enumerationAttrs ''>
  41. <!ENTITY % patternAttrs ''>
  42. <!ENTITY % encodingAttrs ''>
  43. <!ENTITY % periodAttrs ''>
  44. <!ENTITY % durationAttrs ''>
  45. <!ENTITY % appinfoAttrs ''>
  46. <!ENTITY % documentationAttrs ''>
  47. <!-- annotation elements -->
  48. <!ENTITY % annotation "%p;annotation">
  49. <!ENTITY % appinfo "%p;appinfo">
  50. <!ENTITY % hasfacet "%p;has-facet">
  51. <!ENTITY % hasproperty "%p;has-property">
  52. <!ENTITY % documentation "%p;documentation">
  53. <!-- Define some entities for informative use as attribute types -->
  54. <!ENTITY % URIref "CDATA">
  55. <!ENTITY % QName "CDATA">
  56. <!ENTITY % NCName "NMTOKEN">
  57. <!ENTITY % nonNegativeInteger "NMTOKEN">
  58. <!ENTITY % boolean "(true|false)">
  59. <!ENTITY % simpleDerivationChoice "(list|restriction)">
  60. <!-- Note that the use of 'facet' below is less restrictive than is
  61.      really intended:  There should in fact be no more than one of each of
  62.      minInclusive, minExclusive, maxInclusive, maxExclusive,
  63.      precision, scale,
  64.      length, maxLength, minLength, encoding, period within datatype,
  65.      and the min- and max- variants of Inclusive and Exclusive are
  66.      mutually exclusive.
  67.      On the other hand,  pattern and enumeration may repeat -->
  68. <!ENTITY % minBound '(%minInclusive; | %minExclusive;)'>
  69. <!ENTITY % maxBound '(%maxInclusive; | %maxExclusive;)'>
  70. <!ENTITY % bounds '%minBound; | %maxBound;'>
  71. <!ENTITY % numeric '%precision; | %scale;'>
  72. <!ENTITY % ordered '%bounds; | %numeric;'>
  73. <!ENTITY % unordered '%pattern; | %enumeration; | %length; | %maxLength; | %minLength;
  74.     | %encoding; | %period; | %duration;'>
  75. <!ENTITY % facet '%ordered; | %unordered;'>
  76. <!ENTITY % facetAttr 'value CDATA #REQUIRED'>
  77. <!ENTITY % facetModel '(%annotation;)?'>
  78. <!ELEMENT %simpleType; ((%annotation;)?, (%facet;)*)>
  79. <!ATTLIST %simpleType;
  80.     name %NCName; #IMPLIED
  81.     base %QName; #REQUIRED
  82.     derivedBy %simpleDerivationChoice; "restriction"
  83.     %simpleTypeAttrs; 
  84. >
  85. <!-- name is required at top level -->
  86. <!ELEMENT %maxExclusive; %facetModel;>
  87. <!ATTLIST %maxExclusive;
  88.     %facetAttr; 
  89.     %maxExclusiveAttrs; 
  90. >
  91. <!ELEMENT %minExclusive; %facetModel;>
  92. <!ATTLIST %minExclusive;
  93.     %facetAttr; 
  94.     %minExclusiveAttrs; 
  95. >
  96. <!ELEMENT %maxInclusive; %facetModel;>
  97. <!ATTLIST %maxInclusive;
  98.     %facetAttr; 
  99.     %maxInclusiveAttrs; 
  100. >
  101. <!ELEMENT %minInclusive; %facetModel;>
  102. <!ATTLIST %minInclusive;
  103.     %facetAttr; 
  104.     %minInclusiveAttrs; 
  105. >
  106. <!ELEMENT %precision; %facetModel;>
  107. <!ATTLIST %precision;
  108.     %facetAttr; 
  109.     %precisionAttrs; 
  110. >
  111. <!ELEMENT %scale; %facetModel;>
  112. <!ATTLIST %scale;
  113.     %facetAttr; 
  114.     %scaleAttrs; 
  115. >
  116. <!ELEMENT %length; %facetModel;>
  117. <!ATTLIST %length;
  118.     %facetAttr; 
  119.     %lengthAttrs; 
  120. >
  121. <!ELEMENT %minLength; %facetModel;>
  122. <!ATTLIST %minLength;
  123.     %facetAttr; 
  124.     %minLengthAttrs; 
  125. >
  126. <!ELEMENT %maxLength; %facetModel;>
  127. <!ATTLIST %maxLength;
  128.     %facetAttr; 
  129.     %maxLengthAttrs; 
  130. >
  131. <!-- This one can be repeated -->
  132. <!ELEMENT %enumeration; %facetModel;>
  133. <!ATTLIST %enumeration;
  134.     %facetAttr; 
  135.     %enumerationAttrs; 
  136. >
  137. <!-- This one can be repeated -->
  138. <!ELEMENT %pattern; %facetModel;>
  139. <!ATTLIST %pattern;
  140.     %facetAttr; 
  141.     %patternAttrs; 
  142. >
  143. <!ELEMENT %encoding; %facetModel;>
  144. <!ATTLIST %encoding;
  145.     %facetAttr; 
  146.     %encodingAttrs; 
  147. >
  148. <!ELEMENT %period; %facetModel;>
  149. <!ATTLIST %period;
  150.     %facetAttr; 
  151.     %periodAttrs; 
  152. >
  153. <!ELEMENT %duration; %facetModel;>
  154. <!ATTLIST %duration;
  155.     %facetAttr; 
  156.     %durationAttrs; 
  157. >
  158. <!-- Annotation is either application information or documentation -->
  159. <!-- By having these here they are available for datatypes as well
  160.      as all the structures elements -->
  161. <!ELEMENT %annotation; (%appinfo; | %documentation;)*>
  162. <!-- User must define annotation elements in internal subset for this
  163.      to work -->
  164. <!ELEMENT %appinfo; ANY>
  165. <!-- too restrictive -->
  166. <!ATTLIST %appinfo;
  167.     source %URIref; #IMPLIED
  168.     %appinfoAttrs; 
  169. >
  170. <!ELEMENT %documentation; ANY>
  171. <!-- too restrictive -->
  172. <!ATTLIST %documentation;
  173.     source %URIref; #IMPLIED
  174.     xml:lang CDATA #IMPLIED
  175.     %documentationAttrs; 
  176. >
  177. <!ELEMENT %hasfacet; ANY>
  178. <!ATTLIST %hasfacet;
  179.     name CDATA #IMPLIED
  180. >
  181. <!ELEMENT %hasproperty; ANY>
  182. <!ATTLIST %hasproperty;
  183.     name CDATA #IMPLIED
  184.     value CDATA #IMPLIED
  185. >
  186.