Advertisement
hcarpri

orbeon sum repeated grid output

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