Advertisement
Guest User

orbeon sum repeated grid output

a guest
Jul 15th, 2019
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.75 KB | None | 0 0
  1. <xh:html xmlns:xh="http://www.w3.org/1999/xhtml"
  2. xmlns:ev="http://www.w3.org/2001/xml-events"
  3. xmlns:exf="http://www.exforms.org/exf/1-0"
  4. xmlns:fb="http://orbeon.org/oxf/xml/form-builder"
  5. xmlns:fr="http://orbeon.org/oxf/xml/form-runner"
  6. xmlns:saxon="http://saxon.sf.net/"
  7. xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  8. xmlns:sql="http://orbeon.org/oxf/xml/sql"
  9. xmlns:xf="http://www.w3.org/2002/xforms"
  10. xmlns:xi="http://www.w3.org/2001/XInclude"
  11. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  12. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  13. xmlns:xxf="http://orbeon.org/oxf/xml/xforms"
  14. xmlns:xxi="http://orbeon.org/oxf/xml/xinclude"
  15. fr:data-format-version="4.0.0">
  16. <xh:head>
  17. <xh:title>SUM TEST</xh:title>
  18. <xf:model id="fr-form-model" xxf:expose-xpath-types="true">
  19.  
  20. <!-- Main instance -->
  21. <xf:instance id="fr-form-instance" xxf:exclude-result-prefixes="#all" xxf:index="id">
  22. <form>
  23. <section-a>
  24. <section-a-summary>
  25. <section-a-summary-total/>
  26. </section-a-summary>
  27. <section-a-it>
  28. <section-a-it-iteration>
  29. <section-a-repetition>
  30. <section-data>
  31. <section-percent/>
  32. <section-value/>
  33. <section-value-total/>
  34. </section-data>
  35. </section-a-repetition>
  36. </section-a-it-iteration>
  37.  
  38. </section-a-it>
  39. </section-a>
  40.  
  41.  
  42. </form>
  43. </xf:instance>
  44.  
  45. <!-- Bindings -->
  46. <xf:bind id="fr-form-binds" ref="instance('fr-form-instance')">
  47. <xf:bind id="section-a-bind" ref="section-a" name="section-a">
  48. <xf:bind id="section-a-summary-bind" ref="section-a-summary" name="section-a-summary">
  49. <xf:bind id="section-a-summary-total-bind" ref="section-a-summary-total"
  50. name="section-a-summary-total"
  51. calculate="sum($section-value-total[string() castable as xs:decimal])"
  52. type="xf:decimal"
  53. readonly="true()"/>
  54. </xf:bind>
  55. <xf:bind id="section-a-it-bind" ref="section-a-it" name="section-a-it">
  56. <xf:bind id="section-a-it-iteration-bind" ref="section-a-it-iteration"
  57. name="section-a-it-iteration">
  58. <xf:bind id="section-a-repetition-bind" ref="section-a-repetition"
  59. name="section-a-repetition">
  60. <xf:bind id="section-data-bind" ref="section-data" name="section-data">
  61.  
  62.  
  63.  
  64.  
  65. <xf:bind id="section-percent-bind" ref="section-percent" name="section-percent">
  66. <xf:constraint id="validation-9-validation" value="xxf:positive()"/>
  67. <xf:constraint id="validation-10-validation" value="xxf:fraction-digits(2)"/>
  68. <xf:constraint id="validation-11-validation"
  69. value="$section-percent &lt;= 100"/>
  70.  
  71.  
  72. <xf:required id="validation-1-validation" value="true()"/>
  73. <xf:type id="validation-8-validation">xs:decimal</xf:type>
  74.  
  75.  
  76. </xf:bind>
  77.  
  78. <xf:bind id="section-value-bind" ref="section-value" name="section-value">
  79. <xf:constraint id="validation-16-validation" value="xxf:fraction-digits(2)"/>
  80. <xf:constraint id="validation-17-validation" value="$section-value &gt; 0"/>
  81. <xf:constraint id="validation-18-validation"
  82. value="$section-value &lt; 1000000000"/>
  83.  
  84.  
  85. <xf:required id="validation-2-validation" value="true()"/>
  86. <xf:type id="validation-15-validation">xs:decimal</xf:type>
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94. </xf:bind>
  95. <xf:bind id="section-value-total-bind" ref="section-value-total"
  96. name="section-value-total"
  97. readonly="true()"
  98. calculate="round-half-to-even($section-value * ($section-percent div 100))"
  99. xxf:default="0"
  100. type="xf:decimal"/>
  101.  
  102. </xf:bind>
  103.  
  104.  
  105. </xf:bind>
  106. </xf:bind>
  107. </xf:bind>
  108.  
  109. </xf:bind>
  110.  
  111.  
  112. </xf:bind>
  113.  
  114. <!-- Metadata -->
  115. <xf:instance xxf:readonly="true" id="fr-form-metadata" xxf:exclude-result-prefixes="#all">
  116. <metadata>
  117. <application-name>yforms</application-name>
  118. <form-name>sumtest</form-name>
  119. <title xml:lang="es">SUM TEST</title>
  120. <description xml:lang="es">SUM TEST</description>
  121. </metadata>
  122. </xf:instance>
  123.  
  124. <!-- Attachments -->
  125. <xf:instance id="fr-form-attachments" xxf:exclude-result-prefixes="#all">
  126. <attachments>
  127. <css mediatype="text/css" filename="" size=""/>
  128. <pdf mediatype="application/pdf" filename="" size=""/>
  129. </attachments>
  130. </xf:instance>
  131.  
  132. <!-- All form resources -->
  133. <!-- Don't make readonly by default in case a service modifies the resources -->
  134. <xf:instance id="fr-form-resources" xxf:readonly="false" xxf:exclude-result-prefixes="#all">
  135. <resources>
  136. <resource xml:lang="es">
  137. <section-a-summary-total>
  138. <label/>
  139. <hint/>
  140. </section-a-summary-total>
  141. <section-a-summary>
  142. <label/>
  143. </section-a-summary>
  144. <section-a-it>
  145. <label/>
  146. </section-a-it>
  147. <section-percent>
  148. <label>Percent</label>
  149. <hint/>
  150. <alert>Valor necesario</alert>
  151. <alert>Valor incorrecto</alert>
  152. <alert>Valor debe ser mayor que 0</alert>
  153. <alert>Valor puede tener máximo 2 cifras decimales</alert>
  154. <alert>Valor debe ser menor o igual que 100</alert>
  155. <alert/>
  156. </section-percent>
  157. <section-value>
  158. <label>Value</label>
  159. <hint/>
  160. <alert>Valor obligatorio</alert>
  161. <alert>Valor incorrecto</alert>
  162. <alert>Valor puede tener máximo 2 cifras decimales</alert>
  163. <alert>Valor debe ser mayor que 0</alert>
  164. <alert>Valor debe ser menor que 1000000000</alert>
  165. <alert/>
  166. </section-value>
  167. <section-value-total>
  168. <label>Total</label>
  169. <hint/>
  170. </section-value-total>
  171. <section-a>
  172. <label>section a</label>
  173. </section-a>
  174. <section-a-repetition>
  175. <label/>
  176. </section-a-repetition>
  177. <section-data>
  178. <label>Data</label>
  179. </section-data>
  180. </resource>
  181. </resources>
  182. </xf:instance>
  183.  
  184.  
  185.  
  186. <xf:instance xxf:readonly="true" xxf:exclude-result-prefixes="#all"
  187. id="section-a-it-template">
  188. <section-a-it-iteration>
  189. <section-a-repetition>
  190. <section-data>
  191. <section-percent/>
  192. <section-value/>
  193. <section-value-total/>
  194. </section-data>
  195. </section-a-repetition>
  196. </section-a-it-iteration>
  197. </xf:instance>
  198.  
  199.  
  200.  
  201. </xf:model>
  202. </xh:head>
  203. <xh:body>
  204. <fr:view>
  205. <fr:body xmlns:xbl="http://www.w3.org/ns/xbl" xmlns:p="http://www.orbeon.com/oxf/pipeline"
  206. xmlns:oxf="http://www.orbeon.com/oxf/processors">
  207. <fr:section id="section-a-section" bind="section-a-bind" appearance="minimal"
  208. insert="index"
  209. class="section-a"
  210. collapsible="true">
  211. <xf:label ref="$form-resources/section-a/label"/>
  212. <fr:section id="section-a-summary-section" bind="section-a-summary-bind"
  213. class="section-a-summary">
  214. <xf:label ref="$form-resources/section-a-summary/label"/>
  215. <fr:grid id="grid-8-grid">
  216. <fr:c x="1" y="1" w="6">
  217. <xf:output id="section-a-summary-total-control" bind="section-a-summary-total-bind"
  218. class="section-a-summary-total">
  219. <xf:label ref="$form-resources/section-a-summary-total/label"/>
  220. <xf:hint ref="$form-resources/section-a-summary-total/hint"/>
  221. <xf:alert ref="$fr-resources/detail/labels/alert"/>
  222.  
  223.  
  224.  
  225. </xf:output>
  226. </fr:c>
  227. <fr:c x="7" y="1" w="6"/>
  228. </fr:grid>
  229. </fr:section>
  230. <fr:section id="section-a-it-section" bind="section-a-it-bind" repeat="content"
  231. template="instance('section-a-it-template')"
  232. apply-defaults="true"
  233. fb:initial-iterations="first"
  234. appearance="minimal"
  235. insert="index"
  236. class="section-a-it"
  237. collapsible="true">
  238. <xf:label ref="$form-resources/section-a-it/label"/>
  239. <fr:section id="section-a-repetition-section" bind="section-a-repetition-bind"
  240. class="section-a-repetition">
  241. <xf:label ref="$form-resources/section-a-repetition/label"/>
  242.  
  243. <fr:section id="section-data-section" bind="section-data-bind" class="section-data"
  244. collapsible="false">
  245. <xf:label ref="$form-resources/section-data/label"/>
  246. <fr:grid id="grid-6-grid">
  247.  
  248.  
  249.  
  250. <fr:c x="1" y="1" w="1">
  251.  
  252. </fr:c>
  253. <fr:c x="2" y="1" w="7">
  254. <fr:number xmlns="http://orbeon.org/oxf/xml/form-builder"
  255. xmlns:xxbl="http://orbeon.org/oxf/xml/xbl"
  256. xmlns:NumberSupport="java:org.orbeon.xbl.NumberSupportJava"
  257. id="section-percent-control"
  258. bind="section-percent-bind"
  259. suffix="%"
  260. decimal-separator=","
  261. grouping-separator="."
  262. class="section-percent">
  263. <xf:label ref="$form-resources/section-percent/label"/>
  264. <xf:hint ref="$form-resources/section-percent/hint"/>
  265. <xf:alert ref="$form-resources/section-percent/alert[1]"
  266. validation="validation-1-validation"/>
  267. <xf:alert ref="$form-resources/section-percent/alert[2]"
  268. validation="validation-8-validation"/>
  269. <xf:alert ref="$form-resources/section-percent/alert[3]"
  270. validation="validation-9-validation"/>
  271. <xf:alert ref="$form-resources/section-percent/alert[4]"
  272. validation="validation-10-validation"/>
  273. <xf:alert ref="$form-resources/section-percent/alert[5]"
  274. validation="validation-11-validation"/>
  275. <xf:alert ref="$form-resources/section-percent/alert[6]"/>
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284. </fr:number>
  285. </fr:c>
  286. <fr:c x="9" y="1" w="1">
  287.  
  288.  
  289. </fr:c>
  290. <fr:c x="10" y="1" w="3" h="1">
  291. <fr:number xmlns="http://orbeon.org/oxf/xml/form-builder"
  292. xmlns:xxbl="http://orbeon.org/oxf/xml/xbl"
  293. xmlns:NumberSupport="java:org.orbeon.xbl.NumberSupportJava"
  294. id="section-value-control"
  295. bind="section-value-bind"
  296. suffix="€"
  297. decimal-separator=","
  298. grouping-separator="."
  299. class="section-value">
  300. <xf:label ref="$form-resources/section-value/label"/>
  301. <xf:hint ref="$form-resources/section-value/hint"/>
  302. <xf:alert ref="$form-resources/section-value/alert[1]"
  303. validation="validation-2-validation"/>
  304. <xf:alert ref="$form-resources/section-value/alert[2]"
  305. validation="validation-15-validation"/>
  306. <xf:alert ref="$form-resources/section-value/alert[3]"
  307. validation="validation-16-validation"/>
  308. <xf:alert ref="$form-resources/section-value/alert[4]"
  309. validation="validation-17-validation"/>
  310. <xf:alert ref="$form-resources/section-value/alert[5]"
  311. validation="validation-18-validation"/>
  312. <xf:alert ref="$form-resources/section-value/alert[6]"/>
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327. </fr:number>
  328. </fr:c>
  329. <fr:c x="1" y="2" w="12">
  330. <xf:output id="section-value-total-control" bind="section-value-total-bind"
  331. class="section-value-total">
  332. <xf:label ref="$form-resources/section-value-total/label"/>
  333. <xf:hint ref="$form-resources/section-value-total/hint"/>
  334. <xf:alert ref="$fr-resources/detail/labels/alert"/>
  335.  
  336.  
  337.  
  338.  
  339. </xf:output>
  340. </fr:c>
  341. </fr:grid>
  342. </fr:section>
  343.  
  344. </fr:section>
  345. </fr:section>
  346. </fr:section>
  347.  
  348.  
  349. </fr:body>
  350. </fr:view>
  351. </xh:body>
  352. </xh:html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement