mybatis-3-mapper.dtd 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!--
  3. Copyright 2009-2013 the original author or authors.
  4. Licensed under the Apache License, Version 2.0 (the "License");
  5. you may not use this file except in compliance with the License.
  6. You may obtain a copy of the License at
  7. http://www.apache.org/licenses/LICENSE-2.0
  8. Unless required by applicable law or agreed to in writing, software
  9. distributed under the License is distributed on an "AS IS" BASIS,
  10. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. See the License for the specific language governing permissions and
  12. limitations under the License.
  13. -->
  14. <!ELEMENT mapper (cache-ref | cache | resultMap* | parameterMap* | sql* | insert* | update* | delete* | select* )+>
  15. <!ATTLIST mapper
  16. xmlns:fo CDATA #IMPLIED
  17. namespace CDATA #IMPLIED
  18. >
  19. <!ELEMENT cache-ref EMPTY>
  20. <!ATTLIST cache-ref
  21. namespace CDATA #REQUIRED
  22. >
  23. <!ELEMENT cache (property*)>
  24. <!ATTLIST cache
  25. type CDATA #IMPLIED
  26. eviction CDATA #IMPLIED
  27. flushInterval CDATA #IMPLIED
  28. size CDATA #IMPLIED
  29. readOnly CDATA #IMPLIED
  30. >
  31. <!ELEMENT parameterMap (parameter+)?>
  32. <!ATTLIST parameterMap
  33. id CDATA #REQUIRED
  34. type CDATA #REQUIRED
  35. >
  36. <!ELEMENT parameter EMPTY>
  37. <!ATTLIST parameter
  38. property CDATA #REQUIRED
  39. javaType CDATA #IMPLIED
  40. jdbcType CDATA #IMPLIED
  41. mode (IN | OUT | INOUT) #IMPLIED
  42. resultMap CDATA #IMPLIED
  43. scale CDATA #IMPLIED
  44. typeHandler CDATA #IMPLIED
  45. >
  46. <!ELEMENT resultMap (constructor?,id*,result*,association*,collection*, discriminator?)>
  47. <!ATTLIST resultMap
  48. id CDATA #REQUIRED
  49. type CDATA #REQUIRED
  50. extends CDATA #IMPLIED
  51. autoMapping (true|false) #IMPLIED
  52. >
  53. <!ELEMENT constructor (idArg*,arg*)>
  54. <!ELEMENT id EMPTY>
  55. <!ATTLIST id
  56. property CDATA #IMPLIED
  57. javaType CDATA #IMPLIED
  58. column CDATA #IMPLIED
  59. jdbcType CDATA #IMPLIED
  60. typeHandler CDATA #IMPLIED
  61. >
  62. <!ELEMENT result EMPTY>
  63. <!ATTLIST result
  64. property CDATA #IMPLIED
  65. javaType CDATA #IMPLIED
  66. column CDATA #IMPLIED
  67. jdbcType CDATA #IMPLIED
  68. typeHandler CDATA #IMPLIED
  69. >
  70. <!ELEMENT idArg EMPTY>
  71. <!ATTLIST idArg
  72. javaType CDATA #IMPLIED
  73. column CDATA #IMPLIED
  74. jdbcType CDATA #IMPLIED
  75. typeHandler CDATA #IMPLIED
  76. select CDATA #IMPLIED
  77. resultMap CDATA #IMPLIED
  78. >
  79. <!ELEMENT arg EMPTY>
  80. <!ATTLIST arg
  81. javaType CDATA #IMPLIED
  82. column CDATA #IMPLIED
  83. jdbcType CDATA #IMPLIED
  84. typeHandler CDATA #IMPLIED
  85. select CDATA #IMPLIED
  86. resultMap CDATA #IMPLIED
  87. >
  88. <!ELEMENT collection (constructor?,id*,result*,association*,collection*, discriminator?)>
  89. <!ATTLIST collection
  90. property CDATA #REQUIRED
  91. column CDATA #IMPLIED
  92. javaType CDATA #IMPLIED
  93. ofType CDATA #IMPLIED
  94. jdbcType CDATA #IMPLIED
  95. select CDATA #IMPLIED
  96. resultMap CDATA #IMPLIED
  97. typeHandler CDATA #IMPLIED
  98. notNullColumn CDATA #IMPLIED
  99. columnPrefix CDATA #IMPLIED
  100. resultSet CDATA #IMPLIED
  101. foreignColumn CDATA #IMPLIED
  102. autoMapping (true|false) #IMPLIED
  103. fetchType (lazy|eager) #IMPLIED
  104. >
  105. <!ELEMENT association (constructor?,id*,result*,association*,collection*, discriminator?)>
  106. <!ATTLIST association
  107. property CDATA #REQUIRED
  108. column CDATA #IMPLIED
  109. javaType CDATA #IMPLIED
  110. jdbcType CDATA #IMPLIED
  111. select CDATA #IMPLIED
  112. resultMap CDATA #IMPLIED
  113. typeHandler CDATA #IMPLIED
  114. notNullColumn CDATA #IMPLIED
  115. columnPrefix CDATA #IMPLIED
  116. resultSet CDATA #IMPLIED
  117. foreignColumn CDATA #IMPLIED
  118. autoMapping (true|false) #IMPLIED
  119. fetchType (lazy|eager) #IMPLIED
  120. >
  121. <!ELEMENT discriminator (case+)>
  122. <!ATTLIST discriminator
  123. column CDATA #IMPLIED
  124. javaType CDATA #REQUIRED
  125. jdbcType CDATA #IMPLIED
  126. typeHandler CDATA #IMPLIED
  127. >
  128. <!ELEMENT case (constructor?,id*,result*,association*,collection*, discriminator?)>
  129. <!ATTLIST case
  130. value CDATA #REQUIRED
  131. resultMap CDATA #IMPLIED
  132. resultType CDATA #IMPLIED
  133. >
  134. <!ELEMENT property EMPTY>
  135. <!ATTLIST property
  136. name CDATA #REQUIRED
  137. value CDATA #REQUIRED
  138. >
  139. <!ELEMENT typeAlias EMPTY>
  140. <!ATTLIST typeAlias
  141. alias CDATA #REQUIRED
  142. type CDATA #REQUIRED
  143. >
  144. <!ELEMENT select (#PCDATA | include | trim | where | set | foreach | choose | if | bind)*>
  145. <!ATTLIST select
  146. id CDATA #REQUIRED
  147. parameterMap CDATA #IMPLIED
  148. parameterType CDATA #IMPLIED
  149. resultMap CDATA #IMPLIED
  150. resultType CDATA #IMPLIED
  151. resultSetType (FORWARD_ONLY | SCROLL_INSENSITIVE | SCROLL_SENSITIVE) #IMPLIED
  152. statementType (STATEMENT|PREPARED|CALLABLE) #IMPLIED
  153. fetchSize CDATA #IMPLIED
  154. timeout CDATA #IMPLIED
  155. flushCache (true|false) #IMPLIED
  156. useCache (true|false) #IMPLIED
  157. databaseId CDATA #IMPLIED
  158. lang CDATA #IMPLIED
  159. resultOrdered (true|false) #IMPLIED
  160. resultSets CDATA #IMPLIED
  161. >
  162. <!ELEMENT insert (#PCDATA | selectKey | include | trim | where | set | foreach | choose | if | bind)*>
  163. <!ATTLIST insert
  164. id CDATA #REQUIRED
  165. parameterMap CDATA #IMPLIED
  166. parameterType CDATA #IMPLIED
  167. timeout CDATA #IMPLIED
  168. flushCache (true|false) #IMPLIED
  169. statementType (STATEMENT|PREPARED|CALLABLE) #IMPLIED
  170. keyProperty CDATA #IMPLIED
  171. useGeneratedKeys (true|false) #IMPLIED
  172. keyColumn CDATA #IMPLIED
  173. databaseId CDATA #IMPLIED
  174. lang CDATA #IMPLIED
  175. >
  176. <!ELEMENT selectKey (#PCDATA | include | trim | where | set | foreach | choose | if | bind)*>
  177. <!ATTLIST selectKey
  178. resultType CDATA #IMPLIED
  179. statementType (STATEMENT|PREPARED|CALLABLE) #IMPLIED
  180. keyProperty CDATA #IMPLIED
  181. keyColumn CDATA #IMPLIED
  182. order (BEFORE|AFTER) #IMPLIED
  183. databaseId CDATA #IMPLIED
  184. >
  185. <!ELEMENT update (#PCDATA | selectKey | include | trim | where | set | foreach | choose | if | bind)*>
  186. <!ATTLIST update
  187. id CDATA #REQUIRED
  188. parameterMap CDATA #IMPLIED
  189. parameterType CDATA #IMPLIED
  190. timeout CDATA #IMPLIED
  191. flushCache (true|false) #IMPLIED
  192. statementType (STATEMENT|PREPARED|CALLABLE) #IMPLIED
  193. keyProperty CDATA #IMPLIED
  194. useGeneratedKeys (true|false) #IMPLIED
  195. keyColumn CDATA #IMPLIED
  196. databaseId CDATA #IMPLIED
  197. lang CDATA #IMPLIED
  198. >
  199. <!ELEMENT delete (#PCDATA | include | trim | where | set | foreach | choose | if | bind)*>
  200. <!ATTLIST delete
  201. id CDATA #REQUIRED
  202. parameterMap CDATA #IMPLIED
  203. parameterType CDATA #IMPLIED
  204. timeout CDATA #IMPLIED
  205. flushCache (true|false) #IMPLIED
  206. statementType (STATEMENT|PREPARED|CALLABLE) #IMPLIED
  207. databaseId CDATA #IMPLIED
  208. lang CDATA #IMPLIED
  209. >
  210. <!-- Dynamic -->
  211. <!ELEMENT include EMPTY>
  212. <!ATTLIST include
  213. refid CDATA #REQUIRED
  214. >
  215. <!ELEMENT bind EMPTY>
  216. <!ATTLIST bind
  217. name CDATA #REQUIRED
  218. value CDATA #REQUIRED
  219. >
  220. <!ELEMENT sql (#PCDATA | include | trim | where | set | foreach | choose | if | bind)*>
  221. <!ATTLIST sql
  222. id CDATA #REQUIRED
  223. lang CDATA #IMPLIED
  224. databaseId CDATA #IMPLIED
  225. >
  226. <!ELEMENT trim (#PCDATA | include | trim | where | set | foreach | choose | if | bind)*>
  227. <!ATTLIST trim
  228. prefix CDATA #IMPLIED
  229. prefixOverrides CDATA #IMPLIED
  230. suffix CDATA #IMPLIED
  231. suffixOverrides CDATA #IMPLIED
  232. >
  233. <!ELEMENT where (#PCDATA | include | trim | where | set | foreach | choose | if | bind)*>
  234. <!ELEMENT set (#PCDATA | include | trim | where | set | foreach | choose | if | bind)*>
  235. <!ELEMENT foreach (#PCDATA | include | trim | where | set | foreach | choose | if | bind)*>
  236. <!ATTLIST foreach
  237. collection CDATA #REQUIRED
  238. item CDATA #IMPLIED
  239. index CDATA #IMPLIED
  240. open CDATA #IMPLIED
  241. close CDATA #IMPLIED
  242. separator CDATA #IMPLIED
  243. >
  244. <!ELEMENT choose (when* , otherwise?)>
  245. <!ELEMENT when (#PCDATA | include | trim | where | set | foreach | choose | if | bind)*>
  246. <!ATTLIST when
  247. test CDATA #REQUIRED
  248. >
  249. <!ELEMENT otherwise (#PCDATA | include | trim | where | set | foreach | choose | if | bind)*>
  250. <!ELEMENT if (#PCDATA | include | trim | where | set | foreach | choose | if | bind)*>
  251. <!ATTLIST if
  252. test CDATA #REQUIRED
  253. >