xsd.vim 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. " Author: Thomas Barthel
  2. " Last change: 2007 May 8
  3. let g:xmldata_xsd = {
  4. \ 'schema': [
  5. \ [ 'include', 'import', 'redefine', 'annotation', 'simpleType', 'complexType', 'element', 'attribute', 'attributeGroup', 'group', 'notation', 'annotation'],
  6. \ { 'targetNamespace' : [], 'version' : [], 'xmlns' : [], 'finalDefault' : [], 'blockDefault' : [], 'id' : [], 'elementFormDefault' : [], 'attributeFormDefault' : [], 'xml:lang' : [] }],
  7. \ 'redefine' : [
  8. \ ['annotation', 'simpleType', 'complexType', 'attributeGroup', 'group'],
  9. \ {'schemaLocation' : [], 'id' : []} ],
  10. \ 'include' : [
  11. \ ['annotation'],
  12. \ {'namespace' : [], 'id' : []} ],
  13. \ 'import' : [
  14. \ ['annotation'],
  15. \ {'namespace' : [], 'schemaLocation' : [], 'id' : []} ],
  16. \ 'complexType' : [
  17. \ ['annotation', 'simpleContent', 'complexContent', 'all', 'choice', 'sequence', 'group', 'attribute', 'attributeGroup', 'anyAttribute'],
  18. \ {'name' : [], 'id' : [], 'abstract' : [], 'final' : [], 'block' : [], 'mixed' : []} ],
  19. \ 'complexContent' : [
  20. \ ['annotation', 'restriction', 'extension'],
  21. \ {'mixed' : [], 'id' : [] } ],
  22. \ 'simpleType' : [
  23. \ ['annotation', 'restriction', 'list', 'union'],
  24. \ {'name' : [], 'final' : [], 'id' : []} ],
  25. \ 'simpleContent' : [
  26. \ ['annotation', 'restriction', 'extension'],
  27. \ {'id' : []} ],
  28. \ 'element' : [
  29. \ ['annotation', 'complexType', 'simpleType', 'unique', 'key', 'keyref'],
  30. \ {'name' : [], 'id' : [], 'ref' : [], 'type' : [], 'minOccurs' : [], 'maxOccurs' : [], 'nillable' : [], 'substitutionGroup' : [], 'abstract' : [], 'final' : [], 'block' : [], 'default' : [], 'fixed' : [], 'form' : []} ],
  31. \ 'attribute' : [
  32. \ ['annotation', 'simpleType'],
  33. \ {'name' : [], 'id' : [], 'ref' : [], 'type' : [], 'use' : [], 'default' : [], 'fixed' : [], 'form' : []} ],
  34. \ 'group' : [
  35. \ ['annotation', 'all', 'choice', 'sequence'],
  36. \ {'name' : [], 'ref' : [], 'minOccurs' : [], 'maxOccurs' : [], 'id' : []} ],
  37. \ 'choice' : [
  38. \ ['annotation', 'element', 'group', 'choice', 'sequence', 'any'],
  39. \ {'minOccurs' : [], 'maxOccurs' : [], 'id' : []} ],
  40. \ 'sequence' : [
  41. \ ['annotation', 'element', 'group', 'choice', 'sequence', 'any'],
  42. \ {'minOccurs' : [], 'maxOccurs' : [], 'id' : []} ],
  43. \ 'all' : [
  44. \ ['annotation', 'element'],
  45. \ {'minOccurs' : [], 'maxOccurs' : [], 'id' : []} ],
  46. \ 'any' : [
  47. \ ['annotation'],
  48. \ {'namespace' : [], 'processContents' : [], 'minOccurs' : [], 'maxOccurs' : [], 'id' : []} ],
  49. \ 'unique' : [
  50. \ ['annotation', 'selector', 'field'],
  51. \ {'name' : [], 'id' : []} ],
  52. \ 'key' : [
  53. \ ['annotation', 'selector', 'field'],
  54. \ {'name' : [], 'id' : []} ],
  55. \ 'keyref' : [
  56. \ ['annotation', 'selector', 'field'],
  57. \ {'name' : [], 'refer' : [], 'id' : []} ],
  58. \ 'selector' : [
  59. \ ['annotation'],
  60. \ {'xpath' : [], 'id' : []} ],
  61. \ 'field' : [
  62. \ ['annotation'],
  63. \ {'xpath' : [], 'id' : []} ],
  64. \ 'restriction' : [
  65. \ ['annotation', 'simpleType', 'minExclusive', 'maxExclusive', 'minInclusive', 'maxInclusive', 'totalDigits', 'fractionDigits', 'length', 'minLength', 'maxLength', 'enumeration', 'whiteSpace', 'pattern'],
  66. \ {'base' : [], 'id' : []} ],
  67. \ 'minExclusive' : [
  68. \ ['annotation'],
  69. \ {'value' : [], 'id' : [], 'fixed' : []}],
  70. \ 'maxExclusive' : [
  71. \ ['annotation'],
  72. \ {'value' : [], 'id' : [], 'fixed' : []}],
  73. \ 'minInclusive' : [
  74. \ ['annotation'],
  75. \ {'value' : [], 'id' : [], 'fixed' : []}],
  76. \ 'maxInclusive' : [
  77. \ ['annotation'],
  78. \ {'value' : [], 'id' : [], 'fixed' : []}],
  79. \ 'totalDigits' : [
  80. \ ['annotation'],
  81. \ {'value' : [], 'id' : [], 'fixed' : []}],
  82. \ 'fractionDigits' : [
  83. \ ['annotation'],
  84. \ {'value' : [], 'id' : [], 'fixed' : []}],
  85. \ 'length' : [
  86. \ ['annotation'],
  87. \ {'value' : [], 'id' : [], 'fixed' : []}],
  88. \ 'minLength' : [
  89. \ ['annotation'],
  90. \ {'value' : [], 'id' : [], 'fixed' : []}],
  91. \ 'maxLength' : [
  92. \ ['annotation'],
  93. \ {'value' : [], 'id' : [], 'fixed' : []}],
  94. \ 'enumeration' : [
  95. \ ['annotation'],
  96. \ {'value' : [], 'id' : []}],
  97. \ 'whiteSpace' : [
  98. \ ['annotation'],
  99. \ {'value' : [], 'id' : [], 'fixed' : []}],
  100. \ 'pattern' : [
  101. \ ['annotation'],
  102. \ {'value' : [], 'id' : []}],
  103. \ 'extension' : [
  104. \ ['annotation', 'all', 'choice', 'sequence', 'group', 'attribute', 'attributeGroup', 'anyAttribute'],
  105. \ {'base' : [], 'id' : []} ],
  106. \ 'attributeGroup' : [
  107. \ ['annotation', 'attribute', 'attributeGroup', 'anyAttribute'],
  108. \ {'name' : [], 'id' : [], 'ref' : []} ],
  109. \ 'anyAttribute' : [
  110. \ ['annotation'],
  111. \ {'namespace' : [], 'processContents' : [], 'id' : []} ],
  112. \ 'list' : [
  113. \ ['annotation', 'simpleType'],
  114. \ {'itemType' : [], 'id' : []} ],
  115. \ 'union' : [
  116. \ ['annotation', 'simpleType'],
  117. \ {'id' : [], 'memberTypes' : []} ],
  118. \ 'notation' : [
  119. \ ['annotation'],
  120. \ {'name' : [], 'id' : [], 'public' : [], 'system' : []} ],
  121. \ 'annotation' : [
  122. \ ['appinfo', 'documentation'],
  123. \ {} ],
  124. \ 'appinfo' : [
  125. \ [],
  126. \ {'source' : [], 'id' : []} ],
  127. \ 'documentation' : [
  128. \ [],
  129. \ {'source' : [], 'id' : [], 'xml' : []} ]
  130. \ }