PageRenderTime 55ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 0ms

/bundles/plugins-trunk/XML/test_data/schema4schemas/schema4schemas.xsd

#
XML Schema | 1208 lines | 1203 code | 5 blank | 0 comment | 0 complexity | e2904f93bfb5f82795ffcb64f86dd9be MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
  1. <?xml version='1.0'?>
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" blockDefault="#all"
  3. elementFormDefault="qualified" xml:lang="EN"
  4. targetNamespace="http://www.w3.org/2001/XMLSchema"
  5. version="Id: structures.xsd,v 1.2 2004/01/15 11:34:25 ht Exp "
  6. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  7. xsi:schemaLocation="http://www.w3.org/2001/XMLSchema schema4schemas.xsd">
  8. <xs:annotation>
  9. <xs:documentation source="../structures/structures-with-errata.html.html">
  10. The schema corresponding to this document is normative,
  11. with respect to the syntactic constraints it expresses in the
  12. XML Schema language. The documentation (within &lt;documentation> elements)
  13. below, is not normative, but rather highlights important aspects of
  14. the W3C Recommendation of which this is a part</xs:documentation>
  15. </xs:annotation>
  16. <xs:annotation>
  17. <xs:documentation>
  18. The simpleType element and all of its members are defined
  19. in datatypes.xsd</xs:documentation>
  20. </xs:annotation>
  21. <xs:include schemaLocation="datatypes.xsd"/>
  22. <xs:import namespace="http://www.w3.org/XML/1998/namespace"
  23. schemaLocation="xml.xsd">
  24. <xs:annotation>
  25. <xs:documentation>
  26. Get access to the xml: attribute groups for xml:lang
  27. as declared on 'schema' and 'documentation' below
  28. </xs:documentation>
  29. </xs:annotation>
  30. </xs:import>
  31. <xs:complexType name="openAttrs">
  32. <xs:annotation>
  33. <xs:documentation>
  34. This type is extended by almost all schema types
  35. to allow attributes from other namespaces to be
  36. added to user schemas.
  37. </xs:documentation>
  38. </xs:annotation>
  39. <xs:complexContent>
  40. <xs:restriction base="xs:anyType">
  41. <xs:anyAttribute namespace="##other" processContents="lax"/>
  42. </xs:restriction>
  43. </xs:complexContent>
  44. </xs:complexType>
  45. <xs:complexType name="annotated">
  46. <xs:annotation>
  47. <xs:documentation>
  48. This type is extended by all types which allow annotation
  49. other than &lt;schema> itself
  50. </xs:documentation>
  51. </xs:annotation>
  52. <xs:complexContent>
  53. <xs:extension base="xs:openAttrs">
  54. <xs:sequence>
  55. <xs:element ref="xs:annotation" minOccurs="0"/>
  56. </xs:sequence>
  57. <xs:attribute name="id" type="xs:ID"/>
  58. </xs:extension>
  59. </xs:complexContent>
  60. </xs:complexType>
  61. <xs:group name="schemaTop">
  62. <xs:annotation>
  63. <xs:documentation>
  64. This group is for the
  65. elements which occur freely at the top level of schemas.
  66. All of their types are based on the "annotated" type by extension.</xs:documentation>
  67. </xs:annotation>
  68. <xs:choice>
  69. <xs:group ref="xs:redefinable"/>
  70. <xs:element ref="xs:element"/>
  71. <xs:element ref="xs:attribute"/>
  72. <xs:element ref="xs:notation"/>
  73. </xs:choice>
  74. </xs:group>
  75. <xs:group name="redefinable">
  76. <xs:annotation>
  77. <xs:documentation>
  78. This group is for the
  79. elements which can self-redefine (see &lt;redefine> below).</xs:documentation>
  80. </xs:annotation>
  81. <xs:choice>
  82. <xs:element ref="xs:simpleType"/>
  83. <xs:element ref="xs:complexType"/>
  84. <xs:element ref="xs:group"/>
  85. <xs:element ref="xs:attributeGroup"/>
  86. </xs:choice>
  87. </xs:group>
  88. <xs:simpleType name="formChoice">
  89. <xs:annotation>
  90. <xs:documentation>
  91. A utility type, not for public use</xs:documentation>
  92. </xs:annotation>
  93. <xs:restriction base="xs:NMTOKEN">
  94. <xs:enumeration value="qualified"/>
  95. <xs:enumeration value="unqualified"/>
  96. </xs:restriction>
  97. </xs:simpleType>
  98. <xs:simpleType name="reducedDerivationControl">
  99. <xs:annotation>
  100. <xs:documentation>
  101. A utility type, not for public use</xs:documentation>
  102. </xs:annotation>
  103. <xs:restriction base="xs:derivationControl">
  104. <xs:enumeration value="extension"/>
  105. <xs:enumeration value="restriction"/>
  106. </xs:restriction>
  107. </xs:simpleType>
  108. <xs:simpleType name="derivationSet">
  109. <xs:annotation>
  110. <xs:documentation>
  111. A utility type, not for public use</xs:documentation>
  112. <xs:documentation>
  113. #all or (possibly empty) subset of {extension, restriction}</xs:documentation>
  114. </xs:annotation>
  115. <xs:union>
  116. <xs:simpleType>
  117. <xs:restriction base="xs:token">
  118. <xs:enumeration value="#all"/>
  119. </xs:restriction>
  120. </xs:simpleType>
  121. <xs:simpleType>
  122. <xs:list itemType="xs:reducedDerivationControl"/>
  123. </xs:simpleType>
  124. </xs:union>
  125. </xs:simpleType>
  126. <xs:simpleType name="typeDerivationControl">
  127. <xs:annotation>
  128. <xs:documentation>
  129. A utility type, not for public use</xs:documentation>
  130. </xs:annotation>
  131. <xs:restriction base="xs:derivationControl">
  132. <xs:enumeration value="extension"/>
  133. <xs:enumeration value="restriction"/>
  134. <xs:enumeration value="list"/>
  135. <xs:enumeration value="union"/>
  136. </xs:restriction>
  137. </xs:simpleType>
  138. <xs:simpleType name="fullDerivationSet">
  139. <xs:annotation>
  140. <xs:documentation>
  141. A utility type, not for public use</xs:documentation>
  142. <xs:documentation>
  143. #all or (possibly empty) subset of {extension, restriction, list, union}</xs:documentation>
  144. </xs:annotation>
  145. <xs:union>
  146. <xs:simpleType>
  147. <xs:restriction base="xs:token">
  148. <xs:enumeration value="#all"/>
  149. </xs:restriction>
  150. </xs:simpleType>
  151. <xs:simpleType>
  152. <xs:list itemType="xs:typeDerivationControl"/>
  153. </xs:simpleType>
  154. </xs:union>
  155. </xs:simpleType>
  156. <xs:element name="schema" id="schema">
  157. <xs:annotation>
  158. <xs:documentation
  159. source="http://www.w3.org/TR/xmlschema-1/#element-schema"/>
  160. </xs:annotation>
  161. <xs:complexType>
  162. <xs:complexContent>
  163. <xs:extension base="xs:openAttrs">
  164. <xs:sequence>
  165. <xs:choice minOccurs="0" maxOccurs="unbounded">
  166. <xs:element ref="xs:include"/>
  167. <xs:element ref="xs:import"/>
  168. <xs:element ref="xs:redefine"/>
  169. <xs:element ref="xs:annotation"/>
  170. </xs:choice>
  171. <xs:sequence minOccurs="0" maxOccurs="unbounded">
  172. <xs:group ref="xs:schemaTop"/>
  173. <xs:element ref="xs:annotation" minOccurs="0"
  174. maxOccurs="unbounded"/>
  175. </xs:sequence>
  176. </xs:sequence>
  177. <xs:attribute name="targetNamespace" type="xs:anyURI"/>
  178. <xs:attribute name="version" type="xs:token"/>
  179. <xs:attribute name="finalDefault" type="xs:fullDerivationSet"
  180. default="" use="optional"/>
  181. <xs:attribute name="blockDefault" type="xs:blockSet" default=""
  182. use="optional"/>
  183. <xs:attribute name="attributeFormDefault" type="xs:formChoice"
  184. default="unqualified" use="optional"/>
  185. <xs:attribute name="elementFormDefault" type="xs:formChoice"
  186. default="unqualified" use="optional"/>
  187. <xs:attribute name="id" type="xs:ID"/>
  188. <xs:attribute ref="xml:lang"/>
  189. </xs:extension>
  190. </xs:complexContent>
  191. </xs:complexType>
  192. <xs:key name="element">
  193. <xs:selector xpath="xs:element"/>
  194. <xs:field xpath="@name"/>
  195. </xs:key>
  196. <xs:key name="attribute">
  197. <xs:selector xpath="xs:attribute"/>
  198. <xs:field xpath="@name"/>
  199. </xs:key>
  200. <xs:key name="type">
  201. <xs:selector xpath="xs:complexType|xs:simpleType"/>
  202. <xs:field xpath="@name"/>
  203. </xs:key>
  204. <xs:key name="group">
  205. <xs:selector xpath="xs:group"/>
  206. <xs:field xpath="@name"/>
  207. </xs:key>
  208. <xs:key name="attributeGroup">
  209. <xs:selector xpath="xs:attributeGroup"/>
  210. <xs:field xpath="@name"/>
  211. </xs:key>
  212. <xs:key name="notation">
  213. <xs:selector xpath="xs:notation"/>
  214. <xs:field xpath="@name"/>
  215. </xs:key>
  216. <xs:key name="identityConstraint">
  217. <xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/>
  218. <xs:field xpath="@name"/>
  219. </xs:key>
  220. </xs:element>
  221. <xs:simpleType name="allNNI">
  222. <xs:annotation>
  223. <xs:documentation>
  224. for maxOccurs</xs:documentation>
  225. </xs:annotation>
  226. <xs:union memberTypes="xs:nonNegativeInteger">
  227. <xs:simpleType>
  228. <xs:restriction base="xs:NMTOKEN">
  229. <xs:enumeration value="unbounded"/>
  230. </xs:restriction>
  231. </xs:simpleType>
  232. </xs:union>
  233. </xs:simpleType>
  234. <xs:attributeGroup name="occurs">
  235. <xs:annotation>
  236. <xs:documentation>
  237. for all particles</xs:documentation>
  238. </xs:annotation>
  239. <xs:attribute name="minOccurs" type="xs:nonNegativeInteger" default="1"
  240. use="optional"/>
  241. <xs:attribute name="maxOccurs" type="xs:allNNI" default="1" use="optional"/>
  242. </xs:attributeGroup>
  243. <xs:attributeGroup name="defRef">
  244. <xs:annotation>
  245. <xs:documentation>
  246. for element, group and attributeGroup,
  247. which both define and reference</xs:documentation>
  248. </xs:annotation>
  249. <xs:attribute name="name" type="xs:NCName"/>
  250. <xs:attribute name="ref" type="xs:QName"/>
  251. </xs:attributeGroup>
  252. <xs:group name="typeDefParticle">
  253. <xs:annotation>
  254. <xs:documentation>
  255. 'complexType' uses this</xs:documentation>
  256. </xs:annotation>
  257. <xs:choice>
  258. <xs:element name="group" type="xs:groupRef"/>
  259. <xs:element ref="xs:all"/>
  260. <xs:element ref="xs:choice"/>
  261. <xs:element ref="xs:sequence"/>
  262. </xs:choice>
  263. </xs:group>
  264. <xs:group name="nestedParticle">
  265. <xs:choice>
  266. <xs:element name="element" type="xs:localElement"/>
  267. <xs:element name="group" type="xs:groupRef"/>
  268. <xs:element ref="xs:choice"/>
  269. <xs:element ref="xs:sequence"/>
  270. <xs:element ref="xs:any"/>
  271. </xs:choice>
  272. </xs:group>
  273. <xs:group name="particle">
  274. <xs:choice>
  275. <xs:element name="element" type="xs:localElement"/>
  276. <xs:element name="group" type="xs:groupRef"/>
  277. <xs:element ref="xs:all"/>
  278. <xs:element ref="xs:choice"/>
  279. <xs:element ref="xs:sequence"/>
  280. <xs:element ref="xs:any"/>
  281. </xs:choice>
  282. </xs:group>
  283. <xs:complexType name="attribute">
  284. <xs:complexContent>
  285. <xs:extension base="xs:annotated">
  286. <xs:sequence>
  287. <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
  288. </xs:sequence>
  289. <xs:attributeGroup ref="xs:defRef"/>
  290. <xs:attribute name="type" type="xs:QName"/>
  291. <xs:attribute name="use" default="optional" use="optional">
  292. <xs:simpleType>
  293. <xs:restriction base="xs:NMTOKEN">
  294. <xs:enumeration value="prohibited"/>
  295. <xs:enumeration value="optional"/>
  296. <xs:enumeration value="required"/>
  297. </xs:restriction>
  298. </xs:simpleType>
  299. </xs:attribute>
  300. <xs:attribute name="default" type="xs:string"/>
  301. <xs:attribute name="fixed" type="xs:string"/>
  302. <xs:attribute name="form" type="xs:formChoice"/>
  303. </xs:extension>
  304. </xs:complexContent>
  305. </xs:complexType>
  306. <xs:complexType name="topLevelAttribute">
  307. <xs:complexContent>
  308. <xs:restriction base="xs:attribute">
  309. <xs:sequence>
  310. <xs:element ref="xs:annotation" minOccurs="0"/>
  311. <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
  312. </xs:sequence>
  313. <xs:attribute name="ref" use="prohibited"/>
  314. <xs:attribute name="form" use="prohibited"/>
  315. <xs:attribute name="use" use="prohibited"/>
  316. <xs:attribute name="name" type="xs:NCName" use="required"/>
  317. <xs:anyAttribute namespace="##other" processContents="lax"/>
  318. </xs:restriction>
  319. </xs:complexContent>
  320. </xs:complexType>
  321. <xs:group name="attrDecls">
  322. <xs:sequence>
  323. <xs:choice minOccurs="0" maxOccurs="unbounded">
  324. <xs:element name="attribute" type="xs:attribute"/>
  325. <xs:element name="attributeGroup" type="xs:attributeGroupRef"/>
  326. </xs:choice>
  327. <xs:element ref="xs:anyAttribute" minOccurs="0"/>
  328. </xs:sequence>
  329. </xs:group>
  330. <xs:element name="anyAttribute" type="xs:wildcard" id="anyAttribute">
  331. <xs:annotation>
  332. <xs:documentation
  333. source="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/>
  334. </xs:annotation>
  335. </xs:element>
  336. <xs:group name="complexTypeModel">
  337. <xs:choice>
  338. <xs:element ref="xs:simpleContent"/>
  339. <xs:element ref="xs:complexContent"/>
  340. <xs:sequence>
  341. <xs:annotation>
  342. <xs:documentation>
  343. This branch is short for
  344. &lt;complexContent>
  345. &lt;restriction base="xs:anyType">
  346. ...
  347. &lt;/restriction>
  348. &lt;/complexContent></xs:documentation>
  349. </xs:annotation>
  350. <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
  351. <xs:group ref="xs:attrDecls"/>
  352. </xs:sequence>
  353. </xs:choice>
  354. </xs:group>
  355. <xs:complexType name="complexType" abstract="true">
  356. <xs:complexContent>
  357. <xs:extension base="xs:annotated">
  358. <xs:group ref="xs:complexTypeModel"/>
  359. <xs:attribute name="name" type="xs:NCName">
  360. <xs:annotation>
  361. <xs:documentation>
  362. Will be restricted to required or forbidden</xs:documentation>
  363. </xs:annotation>
  364. </xs:attribute>
  365. <xs:attribute name="mixed" type="xs:boolean" default="false"
  366. use="optional">
  367. <xs:annotation>
  368. <xs:documentation>
  369. Not allowed if simpleContent child is chosen.
  370. May be overriden by setting on complexContent child.</xs:documentation>
  371. </xs:annotation>
  372. </xs:attribute>
  373. <xs:attribute name="abstract" type="xs:boolean" default="false"
  374. use="optional"/>
  375. <xs:attribute name="final" type="xs:derivationSet"/>
  376. <xs:attribute name="block" type="xs:derivationSet"/>
  377. </xs:extension>
  378. </xs:complexContent>
  379. </xs:complexType>
  380. <xs:complexType name="topLevelComplexType">
  381. <xs:complexContent>
  382. <xs:restriction base="xs:complexType">
  383. <xs:sequence>
  384. <xs:element ref="xs:annotation" minOccurs="0"/>
  385. <xs:group ref="xs:complexTypeModel"/>
  386. </xs:sequence>
  387. <xs:attribute name="name" type="xs:NCName" use="required"/>
  388. <xs:anyAttribute namespace="##other" processContents="lax"/>
  389. </xs:restriction>
  390. </xs:complexContent>
  391. </xs:complexType>
  392. <xs:complexType name="localComplexType">
  393. <xs:complexContent>
  394. <xs:restriction base="xs:complexType">
  395. <xs:sequence>
  396. <xs:element ref="xs:annotation" minOccurs="0"/>
  397. <xs:group ref="xs:complexTypeModel"/>
  398. </xs:sequence>
  399. <xs:attribute name="name" use="prohibited"/>
  400. <xs:attribute name="abstract" use="prohibited"/>
  401. <xs:attribute name="final" use="prohibited"/>
  402. <xs:attribute name="block" use="prohibited"/>
  403. <xs:anyAttribute namespace="##other" processContents="lax"/>
  404. </xs:restriction>
  405. </xs:complexContent>
  406. </xs:complexType>
  407. <xs:complexType name="restrictionType">
  408. <xs:complexContent>
  409. <xs:extension base="xs:annotated">
  410. <xs:sequence>
  411. <xs:choice minOccurs="0">
  412. <xs:group ref="xs:typeDefParticle"/>
  413. <xs:group ref="xs:simpleRestrictionModel"/>
  414. </xs:choice>
  415. <xs:group ref="xs:attrDecls"/>
  416. </xs:sequence>
  417. <xs:attribute name="base" type="xs:QName" use="required"/>
  418. </xs:extension>
  419. </xs:complexContent>
  420. </xs:complexType>
  421. <xs:complexType name="complexRestrictionType">
  422. <xs:complexContent>
  423. <xs:restriction base="xs:restrictionType">
  424. <xs:sequence>
  425. <xs:element ref="xs:annotation" minOccurs="0"/>
  426. <xs:choice minOccurs="0">
  427. <xs:annotation>
  428. <xs:documentation>This choice is added simply to
  429. make this a valid restriction per the REC</xs:documentation>
  430. </xs:annotation>
  431. <xs:group ref="xs:typeDefParticle"/>
  432. </xs:choice>
  433. <xs:group ref="xs:attrDecls"/>
  434. </xs:sequence>
  435. <xs:anyAttribute namespace="##other" processContents="lax"/>
  436. </xs:restriction>
  437. </xs:complexContent>
  438. </xs:complexType>
  439. <xs:complexType name="extensionType">
  440. <xs:complexContent>
  441. <xs:extension base="xs:annotated">
  442. <xs:sequence>
  443. <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
  444. <xs:group ref="xs:attrDecls"/>
  445. </xs:sequence>
  446. <xs:attribute name="base" type="xs:QName" use="required"/>
  447. </xs:extension>
  448. </xs:complexContent>
  449. </xs:complexType>
  450. <xs:element name="complexContent" id="complexContent">
  451. <xs:annotation>
  452. <xs:documentation
  453. source="http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>
  454. </xs:annotation>
  455. <xs:complexType>
  456. <xs:complexContent>
  457. <xs:extension base="xs:annotated">
  458. <xs:choice>
  459. <xs:element name="restriction" type="xs:complexRestrictionType"/>
  460. <xs:element name="extension" type="xs:extensionType"/>
  461. </xs:choice>
  462. <xs:attribute name="mixed" type="xs:boolean">
  463. <xs:annotation>
  464. <xs:documentation>
  465. Overrides any setting on complexType parent.</xs:documentation>
  466. </xs:annotation>
  467. </xs:attribute>
  468. </xs:extension>
  469. </xs:complexContent>
  470. </xs:complexType>
  471. </xs:element>
  472. <xs:complexType name="simpleRestrictionType">
  473. <xs:complexContent>
  474. <xs:restriction base="xs:restrictionType">
  475. <xs:sequence>
  476. <xs:element ref="xs:annotation" minOccurs="0"/>
  477. <xs:choice minOccurs="0">
  478. <xs:annotation>
  479. <xs:documentation>This choice is added simply to
  480. make this a valid restriction per the REC</xs:documentation>
  481. </xs:annotation>
  482. <xs:group ref="xs:simpleRestrictionModel"/>
  483. </xs:choice>
  484. <xs:group ref="xs:attrDecls"/>
  485. </xs:sequence>
  486. <xs:anyAttribute namespace="##other" processContents="lax"/>
  487. </xs:restriction>
  488. </xs:complexContent>
  489. </xs:complexType>
  490. <xs:complexType name="simpleExtensionType">
  491. <xs:complexContent>
  492. <xs:restriction base="xs:extensionType">
  493. <xs:sequence>
  494. <xs:annotation>
  495. <xs:documentation>
  496. No typeDefParticle group reference</xs:documentation>
  497. </xs:annotation>
  498. <xs:element ref="xs:annotation" minOccurs="0"/>
  499. <xs:group ref="xs:attrDecls"/>
  500. </xs:sequence>
  501. <xs:anyAttribute namespace="##other" processContents="lax"/>
  502. </xs:restriction>
  503. </xs:complexContent>
  504. </xs:complexType>
  505. <xs:element name="simpleContent" id="simpleContent">
  506. <xs:annotation>
  507. <xs:documentation
  508. source="http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>
  509. </xs:annotation>
  510. <xs:complexType>
  511. <xs:complexContent>
  512. <xs:extension base="xs:annotated">
  513. <xs:choice>
  514. <xs:element name="restriction" type="xs:simpleRestrictionType"/>
  515. <xs:element name="extension" type="xs:simpleExtensionType"/>
  516. </xs:choice>
  517. </xs:extension>
  518. </xs:complexContent>
  519. </xs:complexType>
  520. </xs:element>
  521. <xs:element name="complexType" type="xs:topLevelComplexType" id="complexType">
  522. <xs:annotation>
  523. <xs:documentation
  524. source="http://www.w3.org/TR/xmlschema-1/#element-complexType"/>
  525. </xs:annotation>
  526. </xs:element>
  527. <xs:simpleType name="blockSet">
  528. <xs:annotation>
  529. <xs:documentation>
  530. A utility type, not for public use</xs:documentation>
  531. <xs:documentation>
  532. #all or (possibly empty) subset of {substitution, extension,
  533. restriction}</xs:documentation>
  534. </xs:annotation>
  535. <xs:union>
  536. <xs:simpleType>
  537. <xs:restriction base="xs:token">
  538. <xs:enumeration value="#all"/>
  539. </xs:restriction>
  540. </xs:simpleType>
  541. <xs:simpleType>
  542. <xs:list>
  543. <xs:simpleType>
  544. <xs:restriction base="xs:derivationControl">
  545. <xs:enumeration value="extension"/>
  546. <xs:enumeration value="restriction"/>
  547. <xs:enumeration value="substitution"/>
  548. </xs:restriction>
  549. </xs:simpleType>
  550. </xs:list>
  551. </xs:simpleType>
  552. </xs:union>
  553. </xs:simpleType>
  554. <xs:complexType name="element" abstract="true">
  555. <xs:annotation>
  556. <xs:documentation>
  557. The element element can be used either
  558. at the top level to define an element-type binding globally,
  559. or within a content model to either reference a globally-defined
  560. element or type or declare an element-type binding locally.
  561. The ref form is not allowed at the top level.</xs:documentation>
  562. </xs:annotation>
  563. <xs:complexContent>
  564. <xs:extension base="xs:annotated">
  565. <xs:sequence>
  566. <xs:choice minOccurs="0">
  567. <xs:element name="simpleType" type="xs:localSimpleType"/>
  568. <xs:element name="complexType" type="xs:localComplexType"/>
  569. </xs:choice>
  570. <xs:group ref="xs:identityConstraint" minOccurs="0"
  571. maxOccurs="unbounded"/>
  572. </xs:sequence>
  573. <xs:attributeGroup ref="xs:defRef"/>
  574. <xs:attribute name="type" type="xs:QName"/>
  575. <xs:attribute name="substitutionGroup" type="xs:QName"/>
  576. <xs:attributeGroup ref="xs:occurs"/>
  577. <xs:attribute name="default" type="xs:string"/>
  578. <xs:attribute name="fixed" type="xs:string"/>
  579. <xs:attribute name="nillable" type="xs:boolean" default="false"
  580. use="optional"/>
  581. <xs:attribute name="abstract" type="xs:boolean" default="false"
  582. use="optional"/>
  583. <xs:attribute name="final" type="xs:derivationSet"/>
  584. <xs:attribute name="block" type="xs:blockSet"/>
  585. <xs:attribute name="form" type="xs:formChoice"/>
  586. </xs:extension>
  587. </xs:complexContent>
  588. </xs:complexType>
  589. <xs:complexType name="topLevelElement">
  590. <xs:complexContent>
  591. <xs:restriction base="xs:element">
  592. <xs:sequence>
  593. <xs:element ref="xs:annotation" minOccurs="0"/>
  594. <xs:choice minOccurs="0">
  595. <xs:element name="simpleType" type="xs:localSimpleType"/>
  596. <xs:element name="complexType" type="xs:localComplexType"/>
  597. </xs:choice>
  598. <xs:group ref="xs:identityConstraint" minOccurs="0"
  599. maxOccurs="unbounded"/>
  600. </xs:sequence>
  601. <xs:attribute name="ref" use="prohibited"/>
  602. <xs:attribute name="form" use="prohibited"/>
  603. <xs:attribute name="minOccurs" use="prohibited"/>
  604. <xs:attribute name="maxOccurs" use="prohibited"/>
  605. <xs:attribute name="name" type="xs:NCName" use="required"/>
  606. <xs:anyAttribute namespace="##other" processContents="lax"/>
  607. </xs:restriction>
  608. </xs:complexContent>
  609. </xs:complexType>
  610. <xs:complexType name="localElement">
  611. <xs:complexContent>
  612. <xs:restriction base="xs:element">
  613. <xs:sequence>
  614. <xs:element ref="xs:annotation" minOccurs="0"/>
  615. <xs:choice minOccurs="0">
  616. <xs:element name="simpleType" type="xs:localSimpleType"/>
  617. <xs:element name="complexType" type="xs:localComplexType"/>
  618. </xs:choice>
  619. <xs:group ref="xs:identityConstraint" minOccurs="0"
  620. maxOccurs="unbounded"/>
  621. </xs:sequence>
  622. <xs:attribute name="substitutionGroup" use="prohibited"/>
  623. <xs:attribute name="final" use="prohibited"/>
  624. <xs:attribute name="abstract" use="prohibited"/>
  625. <xs:anyAttribute namespace="##other" processContents="lax"/>
  626. </xs:restriction>
  627. </xs:complexContent>
  628. </xs:complexType>
  629. <xs:element name="element" type="xs:topLevelElement" id="element">
  630. <xs:annotation>
  631. <xs:documentation
  632. source="http://www.w3.org/TR/xmlschema-1/#element-element"/>
  633. </xs:annotation>
  634. </xs:element>
  635. <xs:complexType name="group" abstract="true">
  636. <xs:annotation>
  637. <xs:documentation>
  638. group type for explicit groups, named top-level groups and
  639. group references</xs:documentation>
  640. </xs:annotation>
  641. <xs:complexContent>
  642. <xs:extension base="xs:annotated">
  643. <xs:group ref="xs:particle" minOccurs="0" maxOccurs="unbounded"/>
  644. <xs:attributeGroup ref="xs:defRef"/>
  645. <xs:attributeGroup ref="xs:occurs"/>
  646. </xs:extension>
  647. </xs:complexContent>
  648. </xs:complexType>
  649. <xs:complexType name="realGroup">
  650. <xs:complexContent>
  651. <xs:restriction base="xs:group">
  652. <xs:sequence>
  653. <xs:element ref="xs:annotation" minOccurs="0"/>
  654. <xs:choice minOccurs="0" maxOccurs="1">
  655. <xs:element ref="xs:all"/>
  656. <xs:element ref="xs:choice"/>
  657. <xs:element ref="xs:sequence"/>
  658. </xs:choice>
  659. </xs:sequence>
  660. <xs:anyAttribute namespace="##other" processContents="lax"/>
  661. </xs:restriction>
  662. </xs:complexContent>
  663. </xs:complexType>
  664. <xs:complexType name="namedGroup">
  665. <xs:complexContent>
  666. <xs:restriction base="xs:realGroup">
  667. <xs:sequence>
  668. <xs:element ref="xs:annotation" minOccurs="0"/>
  669. <xs:choice minOccurs="1" maxOccurs="1">
  670. <xs:element name="all">
  671. <xs:complexType>
  672. <xs:complexContent>
  673. <xs:restriction base="xs:all">
  674. <xs:group ref="xs:allModel"/>
  675. <xs:attribute name="minOccurs" use="prohibited"/>
  676. <xs:attribute name="maxOccurs" use="prohibited"/>
  677. <xs:anyAttribute namespace="##other" processContents="lax"/>
  678. </xs:restriction>
  679. </xs:complexContent>
  680. </xs:complexType>
  681. </xs:element>
  682. <xs:element name="choice" type="xs:simpleExplicitGroup"/>
  683. <xs:element name="sequence" type="xs:simpleExplicitGroup"/>
  684. </xs:choice>
  685. </xs:sequence>
  686. <xs:attribute name="name" type="xs:NCName" use="required"/>
  687. <xs:attribute name="ref" use="prohibited"/>
  688. <xs:attribute name="minOccurs" use="prohibited"/>
  689. <xs:attribute name="maxOccurs" use="prohibited"/>
  690. <xs:anyAttribute namespace="##other" processContents="lax"/>
  691. </xs:restriction>
  692. </xs:complexContent>
  693. </xs:complexType>
  694. <xs:complexType name="groupRef">
  695. <xs:complexContent>
  696. <xs:restriction base="xs:realGroup">
  697. <xs:sequence>
  698. <xs:element ref="xs:annotation" minOccurs="0"/>
  699. </xs:sequence>
  700. <xs:attribute name="ref" type="xs:QName" use="required"/>
  701. <xs:attribute name="name" use="prohibited"/>
  702. <xs:anyAttribute namespace="##other" processContents="lax"/>
  703. </xs:restriction>
  704. </xs:complexContent>
  705. </xs:complexType>
  706. <xs:complexType name="explicitGroup">
  707. <xs:annotation>
  708. <xs:documentation>
  709. group type for the three kinds of group</xs:documentation>
  710. </xs:annotation>
  711. <xs:complexContent>
  712. <xs:restriction base="xs:group">
  713. <xs:sequence>
  714. <xs:element ref="xs:annotation" minOccurs="0"/>
  715. <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
  716. </xs:sequence>
  717. <xs:attribute name="name" type="xs:NCName" use="prohibited"/>
  718. <xs:attribute name="ref" type="xs:QName" use="prohibited"/>
  719. <xs:anyAttribute namespace="##other" processContents="lax"/>
  720. </xs:restriction>
  721. </xs:complexContent>
  722. </xs:complexType>
  723. <xs:complexType name="simpleExplicitGroup">
  724. <xs:complexContent>
  725. <xs:restriction base="xs:explicitGroup">
  726. <xs:sequence>
  727. <xs:element ref="xs:annotation" minOccurs="0"/>
  728. <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
  729. </xs:sequence>
  730. <xs:attribute name="minOccurs" use="prohibited"/>
  731. <xs:attribute name="maxOccurs" use="prohibited"/>
  732. <xs:anyAttribute namespace="##other" processContents="lax"/>
  733. </xs:restriction>
  734. </xs:complexContent>
  735. </xs:complexType>
  736. <xs:group name="allModel">
  737. <xs:sequence>
  738. <xs:element ref="xs:annotation" minOccurs="0"/>
  739. <xs:choice minOccurs="0" maxOccurs="unbounded">
  740. <xs:annotation>
  741. <xs:documentation>This choice with min/max is here to
  742. avoid a pblm with the Elt:All/Choice/Seq
  743. Particle derivation constraint</xs:documentation>
  744. </xs:annotation>
  745. <xs:element name="element" type="xs:narrowMaxMin"/>
  746. </xs:choice>
  747. </xs:sequence>
  748. </xs:group>
  749. <xs:complexType name="narrowMaxMin">
  750. <xs:annotation>
  751. <xs:documentation>restricted max/min</xs:documentation>
  752. </xs:annotation>
  753. <xs:complexContent>
  754. <xs:restriction base="xs:localElement">
  755. <xs:sequence>
  756. <xs:element ref="xs:annotation" minOccurs="0"/>
  757. <xs:choice minOccurs="0">
  758. <xs:element name="simpleType" type="xs:localSimpleType"/>
  759. <xs:element name="complexType" type="xs:localComplexType"/>
  760. </xs:choice>
  761. <xs:group ref="xs:identityConstraint" minOccurs="0"
  762. maxOccurs="unbounded"/>
  763. </xs:sequence>
  764. <xs:attribute name="minOccurs" default="1" use="optional">
  765. <xs:simpleType>
  766. <xs:restriction base="xs:nonNegativeInteger">
  767. <xs:enumeration value="0"/>
  768. <xs:enumeration value="1"/>
  769. </xs:restriction>
  770. </xs:simpleType>
  771. </xs:attribute>
  772. <xs:attribute name="maxOccurs" default="1" use="optional">
  773. <xs:simpleType>
  774. <xs:restriction base="xs:allNNI">
  775. <xs:enumeration value="0"/>
  776. <xs:enumeration value="1"/>
  777. </xs:restriction>
  778. </xs:simpleType>
  779. </xs:attribute>
  780. <xs:anyAttribute namespace="##other" processContents="lax"/>
  781. </xs:restriction>
  782. </xs:complexContent>
  783. </xs:complexType>
  784. <xs:complexType name="all">
  785. <xs:annotation>
  786. <xs:documentation>
  787. Only elements allowed inside</xs:documentation>
  788. </xs:annotation>
  789. <xs:complexContent>
  790. <xs:restriction base="xs:explicitGroup">
  791. <xs:group ref="xs:allModel"/>
  792. <xs:attribute name="minOccurs" default="1" use="optional">
  793. <xs:simpleType>
  794. <xs:restriction base="xs:nonNegativeInteger">
  795. <xs:enumeration value="0"/>
  796. <xs:enumeration value="1"/>
  797. </xs:restriction>
  798. </xs:simpleType>
  799. </xs:attribute>
  800. <xs:attribute name="maxOccurs" default="1" use="optional">
  801. <xs:simpleType>
  802. <xs:restriction base="xs:allNNI">
  803. <xs:enumeration value="1"/>
  804. </xs:restriction>
  805. </xs:simpleType>
  806. </xs:attribute>
  807. <xs:anyAttribute namespace="##other" processContents="lax"/>
  808. </xs:restriction>
  809. </xs:complexContent>
  810. </xs:complexType>
  811. <xs:element name="all" type="xs:all" id="all">
  812. <xs:annotation>
  813. <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-all"/>
  814. </xs:annotation>
  815. </xs:element>
  816. <xs:element name="choice" type="xs:explicitGroup" id="choice">
  817. <xs:annotation>
  818. <xs:documentation
  819. source="http://www.w3.org/TR/xmlschema-1/#element-choice"/>
  820. </xs:annotation>
  821. </xs:element>
  822. <xs:element name="sequence" type="xs:explicitGroup" id="sequence">
  823. <xs:annotation>
  824. <xs:documentation
  825. source="http://www.w3.org/TR/xmlschema-1/#element-sequence"/>
  826. </xs:annotation>
  827. </xs:element>
  828. <xs:element name="group" type="xs:namedGroup" id="group">
  829. <xs:annotation>
  830. <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-group"/>
  831. </xs:annotation>
  832. </xs:element>
  833. <xs:complexType name="wildcard">
  834. <xs:complexContent>
  835. <xs:extension base="xs:annotated">
  836. <xs:attribute name="namespace" type="xs:namespaceList" default="##any"
  837. use="optional"/>
  838. <xs:attribute name="processContents" default="strict" use="optional">
  839. <xs:simpleType>
  840. <xs:restriction base="xs:NMTOKEN">
  841. <xs:enumeration value="skip"/>
  842. <xs:enumeration value="lax"/>
  843. <xs:enumeration value="strict"/>
  844. </xs:restriction>
  845. </xs:simpleType>
  846. </xs:attribute>
  847. </xs:extension>
  848. </xs:complexContent>
  849. </xs:complexType>
  850. <xs:element name="any" id="any">
  851. <xs:annotation>
  852. <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/>
  853. </xs:annotation>
  854. <xs:complexType>
  855. <xs:complexContent>
  856. <xs:extension base="xs:wildcard">
  857. <xs:attributeGroup ref="xs:occurs"/>
  858. </xs:extension>
  859. </xs:complexContent>
  860. </xs:complexType>
  861. </xs:element>
  862. <xs:annotation>
  863. <xs:documentation>
  864. simple type for the value of the 'namespace' attr of
  865. 'any' and 'anyAttribute'</xs:documentation>
  866. </xs:annotation>
  867. <xs:annotation>
  868. <xs:documentation>
  869. Value is
  870. ##any - - any non-conflicting WFXML/attribute at all
  871. ##other - - any non-conflicting WFXML/attribute from
  872. namespace other than targetNS
  873. ##local - - any unqualified non-conflicting WFXML/attribute
  874. one or - - any non-conflicting WFXML/attribute from
  875. more URI the listed namespaces
  876. references
  877. (space separated)
  878. ##targetNamespace or ##local may appear in the above list, to
  879. refer to the targetNamespace of the enclosing
  880. schema or an absent targetNamespace respectively</xs:documentation>
  881. </xs:annotation>
  882. <xs:simpleType name="namespaceList">
  883. <xs:annotation>
  884. <xs:documentation>
  885. A utility type, not for public use</xs:documentation>
  886. </xs:annotation>
  887. <xs:union>
  888. <xs:simpleType>
  889. <xs:restriction base="xs:token">
  890. <xs:enumeration value="##any"/>
  891. <xs:enumeration value="##other"/>
  892. </xs:restriction>
  893. </xs:simpleType>
  894. <xs:simpleType>
  895. <xs:list>
  896. <xs:simpleType>
  897. <xs:union memberTypes="xs:anyURI">
  898. <xs:simpleType>
  899. <xs:restriction base="xs:token">
  900. <xs:enumeration value="##targetNamespace"/>
  901. <xs:enumeration value="##local"/>
  902. </xs:restriction>
  903. </xs:simpleType>
  904. </xs:union>
  905. </xs:simpleType>
  906. </xs:list>
  907. </xs:simpleType>
  908. </xs:union>
  909. </xs:simpleType>
  910. <xs:element name="attribute" type="xs:topLevelAttribute" id="attribute">
  911. <xs:annotation>
  912. <xs:documentation
  913. source="http://www.w3.org/TR/xmlschema-1/#element-attribute"/>
  914. </xs:annotation>
  915. </xs:element>
  916. <xs:complexType name="attributeGroup" abstract="true">
  917. <xs:complexContent>
  918. <xs:extension base="xs:annotated">
  919. <xs:group ref="xs:attrDecls"/>
  920. <xs:attributeGroup ref="xs:defRef"/>
  921. </xs:extension>
  922. </xs:complexContent>
  923. </xs:complexType>
  924. <xs:complexType name="namedAttributeGroup">
  925. <xs:complexContent>
  926. <xs:restriction base="xs:attributeGroup">
  927. <xs:sequence>
  928. <xs:element ref="xs:annotation" minOccurs="0"/>
  929. <xs:group ref="xs:attrDecls"/>
  930. </xs:sequence>
  931. <xs:attribute name="name" type="xs:NCName" use="required"/>
  932. <xs:attribute name="ref" use="prohibited"/>
  933. <xs:anyAttribute namespace="##other" processContents="lax"/>
  934. </xs:restriction>
  935. </xs:complexContent>
  936. </xs:complexType>
  937. <xs:complexType name="attributeGroupRef">
  938. <xs:complexContent>
  939. <xs:restriction base="xs:attributeGroup">
  940. <xs:sequence>
  941. <xs:element ref="xs:annotation" minOccurs="0"/>
  942. </xs:sequence>
  943. <xs:attribute name="ref" type="xs:QName" use="required"/>
  944. <xs:attribute name="name" use="prohibited"/>
  945. <xs:anyAttribute namespace="##other" processContents="lax"/>
  946. </xs:restriction>
  947. </xs:complexContent>
  948. </xs:complexType>
  949. <xs:element name="attributeGroup" type="xs:namedAttributeGroup"
  950. id="attributeGroup">
  951. <xs:annotation>
  952. <xs:documentation
  953. source="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>
  954. </xs:annotation>
  955. </xs:element>
  956. <xs:element name="include" id="include">
  957. <xs:annotation>
  958. <xs:documentation
  959. source="http://www.w3.org/TR/xmlschema-1/#element-include"/>
  960. </xs:annotation>
  961. <xs:complexType>
  962. <xs:complexContent>
  963. <xs:extension base="xs:annotated">
  964. <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
  965. </xs:extension>
  966. </xs:complexContent>
  967. </xs:complexType>
  968. </xs:element>
  969. <xs:element name="redefine" id="redefine">
  970. <xs:annotation>
  971. <xs:documentation
  972. source="http://www.w3.org/TR/xmlschema-1/#element-redefine"/>
  973. </xs:annotation>
  974. <xs:complexType>
  975. <xs:complexContent>
  976. <xs:extension base="xs:openAttrs">
  977. <xs:choice minOccurs="0" maxOccurs="unbounded">
  978. <xs:element ref="xs:annotation"/>
  979. <xs:group ref="xs:redefinable"/>
  980. </xs:choice>
  981. <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
  982. <xs:attribute name="id" type="xs:ID"/>
  983. </xs:extension>
  984. </xs:complexContent>
  985. </xs:complexType>
  986. </xs:element>
  987. <xs:element name="import" id="import">
  988. <xs:annotation>
  989. <xs:documentation
  990. source="http://www.w3.org/TR/xmlschema-1/#element-import"/>
  991. </xs:annotation>
  992. <xs:complexType>
  993. <xs:complexContent>
  994. <xs:extension base="xs:annotated">
  995. <xs:attribute name="namespace" type="xs:anyURI"/>
  996. <xs:attribute name="schemaLocation" type="xs:anyURI"/>
  997. </xs:extension>
  998. </xs:complexContent>
  999. </xs:complexType>
  1000. </xs:element>
  1001. <xs:element name="selector" id="selector">
  1002. <xs:annotation>
  1003. <xs:documentation
  1004. source="http://www.w3.org/TR/xmlschema-1/#element-selector"/>
  1005. </xs:annotation>
  1006. <xs:complexType>
  1007. <xs:complexContent>
  1008. <xs:extension base="xs:annotated">
  1009. <xs:attribute name="xpath" use="required">
  1010. <xs:simpleType>
  1011. <xs:annotation>
  1012. <xs:documentation>A subset of XPath expressions for use
  1013. in selectors</xs:documentation>
  1014. <xs:documentation>A utility type, not for public
  1015. use</xs:documentation>
  1016. </xs:annotation>
  1017. <xs:restriction base="xs:token">
  1018. <xs:annotation>
  1019. <xs:documentation>The following pattern is intended to allow XPath
  1020. expressions per the following EBNF:
  1021. Selector ::= Path ( '|' Path )*
  1022. Path ::= ('.//')? Step ( '/' Step )*
  1023. Step ::= '.' | NameTest
  1024. NameTest ::= QName | '*' | NCName ':' '*'
  1025. child:: is also allowed
  1026. </xs:documentation>
  1027. </xs:annotation>
  1028. <xs:pattern
  1029. value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*"/>
  1030. </xs:restriction>
  1031. </xs:simpleType>
  1032. </xs:attribute>
  1033. </xs:extension>
  1034. </xs:complexContent>
  1035. </xs:complexType>
  1036. </xs:element>
  1037. <xs:element name="field" id="field">
  1038. <xs:annotation>
  1039. <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/>
  1040. </xs:annotation>
  1041. <xs:complexType>
  1042. <xs:complexContent>
  1043. <xs:extension base="xs:annotated">
  1044. <xs:attribute name="xpath" use="required">
  1045. <xs:simpleType>
  1046. <xs:annotation>
  1047. <xs:documentation>A subset of XPath expressions for use
  1048. in fields</xs:documentation>
  1049. <xs:documentation>A utility type, not for public
  1050. use</xs:documentation>
  1051. </xs:annotation>
  1052. <xs:restriction base="xs:token">
  1053. <xs:annotation>
  1054. <xs:documentation>The following pattern is intended to allow XPath
  1055. expressions per the same EBNF as for selector,
  1056. with the following change:
  1057. Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )
  1058. </xs:documentation>
  1059. </xs:annotation>
  1060. <xs:pattern
  1061. value="(\.//)?((((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*|\*)))))*"/>
  1062. </xs:restriction>
  1063. </xs:simpleType>
  1064. </xs:attribute>
  1065. </xs:extension>
  1066. </xs:complexContent>
  1067. </xs:complexType>
  1068. </xs:element>
  1069. <xs:complexType name="keybase">
  1070. <xs:complexContent>
  1071. <xs:extension base="xs:annotated">
  1072. <xs:sequence>
  1073. <xs:element ref="xs:selector"/>
  1074. <xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/>
  1075. </xs:sequence>
  1076. <xs:attribute name="name" type="xs:NCName" use="required"/>
  1077. </xs:extension>
  1078. </xs:complexContent>
  1079. </xs:complexType>
  1080. <xs:group name="identityConstraint">
  1081. <xs:annotation>
  1082. <xs:documentation>The three kinds of identity constraints, all with
  1083. type of or derived from 'keybase'.
  1084. </xs:documentation>
  1085. </xs:annotation>
  1086. <xs:choice>
  1087. <xs:element ref="xs:unique"/>
  1088. <xs:element ref="xs:key"/>
  1089. <xs:element ref="xs:keyref"/>
  1090. </xs:choice>
  1091. </xs:group>
  1092. <xs:element name="unique" type="xs:keybase" id="unique">
  1093. <xs:annotation>
  1094. <xs:documentation
  1095. source="http://www.w3.org/TR/xmlschema-1/#element-unique"/>
  1096. </xs:annotation>
  1097. </xs:element>
  1098. <xs:element name="key" type="xs:keybase" id="key">
  1099. <xs:annotation>
  1100. <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/>
  1101. </xs:annotation>
  1102. </xs:element>
  1103. <xs:element name="keyref" id="keyref">
  1104. <xs:annotation>
  1105. <xs:documentation
  1106. source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/>
  1107. </xs:annotation>
  1108. <xs:complexType>
  1109. <xs:complexContent>
  1110. <xs:extension base="xs:keybase">
  1111. <xs:attribute name="refer" type="xs:QName" use="required"/>
  1112. </xs:extension>
  1113. </xs:complexContent>
  1114. </xs:complexType>
  1115. </xs:element>
  1116. <xs:element name="notation" id="notation">
  1117. <xs:annotation>
  1118. <xs:documentation
  1119. source="http://www.w3.org/TR/xmlschema-1/#element-notation"/>
  1120. </xs:annotation>
  1121. <xs:complexType>
  1122. <xs:complexContent>
  1123. <xs:extension base="xs:annotated">
  1124. <xs:attribute name="name" type="xs:NCName" use="required"/>
  1125. <xs:attribute name="public" type="xs:public"/>
  1126. <xs:attribute name="system" type="xs:anyURI"/>
  1127. </xs:extension>
  1128. </xs:complexContent>
  1129. </xs:complexType>
  1130. </xs:element>
  1131. <xs:simpleType name="public">
  1132. <xs:annotation>
  1133. <xs:documentation>
  1134. A utility type, not for public use</xs:documentation>
  1135. <xs:documentation>
  1136. A public identifier, per ISO 8879</xs:documentation>
  1137. </xs:annotation>
  1138. <xs:restriction base="xs:token"/>
  1139. </xs:simpleType>
  1140. <xs:element name="appinfo" id="appinfo">
  1141. <xs:annotation>
  1142. <xs:documentation
  1143. source="http://www.w3.org/TR/xmlschema-1/#element-appinfo"/>
  1144. </xs:annotation>
  1145. <xs:complexType mixed="true">
  1146. <xs:sequence minOccurs="0" maxOccurs="unbounded">
  1147. <xs:any processContents="lax"/>
  1148. </xs:sequence>
  1149. <xs:attribute name="source" type="xs:anyURI"/>
  1150. <xs:anyAttribute namespace="##other" processContents="lax"/>
  1151. </xs:complexType>
  1152. </xs:element>
  1153. <xs:element name="documentation" id="documentation">
  1154. <xs:annotation>
  1155. <xs:documentation
  1156. source="http://www.w3.org/TR/xmlschema-1/#element-documentation"/>
  1157. </xs:annotation>
  1158. <xs:complexType mixed="true">
  1159. <xs:sequence minOccurs="0" maxOccurs="unbounded">
  1160. <xs:any processContents="lax"/>
  1161. </xs:sequence>
  1162. <xs:attribute name="source" type="xs:anyURI"/>
  1163. <xs:attribute ref="xml:lang"/>
  1164. <xs:anyAttribute namespace="##other" processContents="lax"/>
  1165. </xs:complexType>
  1166. </xs:element>
  1167. <xs:element name="annotation" id="annotation">
  1168. <xs:annotation>
  1169. <xs:documentation
  1170. source="http://www.w3.org/TR/xmlschema-1/#element-annotation"/>
  1171. </xs:annotation>
  1172. <xs:complexType>
  1173. <xs:complexContent>
  1174. <xs:extension base="xs:openAttrs">
  1175. <xs:choice minOccurs="0" maxOccurs="unbounded">
  1176. <xs:element ref="xs:appinfo"/>
  1177. <xs:element ref="xs:documentation"/>
  1178. </xs:choice>
  1179. <xs:attribute name="id" type="xs:ID"/>
  1180. </xs:extension>
  1181. </xs:complexContent>
  1182. </xs:complexType>
  1183. </xs:element>
  1184. <xs:annotation>
  1185. <xs:documentation>
  1186. notations for use within XML Schema schemas</xs:documentation>
  1187. </xs:annotation>
  1188. <xs:notation name="XMLSchemaStructures" public="structures"
  1189. system="http://www.w3.org/2000/08/XMLSchema.xsd"/>
  1190. <xs:notation name="XML" public="REC-xml-19980210"
  1191. system="http://www.w3.org/TR/1998/REC-xml-19980210"/>
  1192. <xs:complexType name="anyType" mixed="true">
  1193. <xs:annotation>
  1194. <xs:documentation>
  1195. Not the real urType, but as close an approximation as we can
  1196. get in the XML representation</xs:documentation>
  1197. </xs:annotation>
  1198. <xs:sequence>
  1199. <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
  1200. </xs:sequence>
  1201. <xs:anyAttribute processContents="lax"/>
  1202. </xs:complexType>
  1203. </xs:schema>