<% // Set content type to XML. By default it will be HTML, and OPS will tidy it. response.setContentType("application/xhtml+xml"); %> XForms Bookcast <author/> <language/> <link/> <rating/> <notes/> </book> </books> </xforms:instance> <xforms:bind nodeset="book"> <xforms:bind nodeset="title" required="true()"/> <xforms:bind nodeset="author" required="true()"/> </xforms:bind> <xforms:instance id="languages-instance"> <languages xmlns=""> <language> <name>English</name> <value>en</value> </language> <language> <name>French</name> <value>fr</value> </language> <language> <name>Spanish</name> <value>es</value> </language> </languages> </xforms:instance> <xforms:instance id="ratings-instance"> <ratings xmlns=""> <rating> <name>1</name> <value>1</value> </rating> <rating> <name>2</name> <value>2</value> </rating> <rating> <name>3</name> <value>3</value> </rating> <rating> <name>4</name> <value>4</value> </rating> <rating> <name>5</name> <value>5</value> </rating> </ratings> </xforms:instance> <xforms:instance id="book-template"> <book xmlns=""> <title/> <author/> <language/> <link/> <rating/> <notes/> </book> </xforms:instance> <xforms:submission id="save-submission" ref="instance('books-instance')" action="/exist/rest/db/orbeon/mybooks/books.xml" method="put" replace="none"> <xforms:message ev:event="xforms-submit-error" level="modal">An error occurred while saving!</xforms:message> </xforms:submission> <xforms:submission id="list-submission" serialize="false" method="get" action="/exist/rest/db/orbeon/mybooks/books.xml" replace="instance" instance="books-instance"/> </xforms:model> </head> <body> <table class="books-action-table"> <tr> <td> <xforms:submit submission="save-submission" appearance="minimal"> <xforms:label>Save</xforms:label> </xforms:submit> </td> <td> <xforms:submit submission="list-submission" appearance="minimal"> <xforms:label> Revert </xforms:label> </xforms:submit> </td> </tr> </table> <table class="books-table"> <tr> <td> <xforms:trigger appearance="minimal"> <xforms:label> </xforms:label> <xforms:insert ev:event="DOMActivate" context="instance('books-instance')" nodeset="book" at="1" position="before" origin="instance('book-template')"/> </xforms:trigger> </td> <td class="add-td"> <xforms:trigger appearance="minimal"> <xforms:label>Add One</xforms:label> <xforms:insert ev:event="DOMActivate" context="instance('books-instance')" nodeset="book" at="1" position="before" origin="instance('book-template')"/> </xforms:trigger> </td> </tr> <xforms:repeat nodeset="book" id="book-repeat"> <tr> <td> <xforms:trigger> <xforms:label> Remove </xforms:label> <xforms:delete ev:event="DOMActivate" context="instance('books-instance')" nodeset="book" at="index('book-repeat')"/> </xforms:trigger> </td> <td class="form-td"> <xforms:input ref="title"> <xforms:label class="books-label">Title</xforms:label> </xforms:input> <br/> <xforms:input ref="author"> <xforms:label class="books-label">Author</xforms:label> </xforms:input> <br/> <xforms:select1 ref="language"> <xforms:label class="books-label">Language</xforms:label> <xforms:item> <xforms:label class="books-label">Choose one...</xforms:label> <xforms:value/> </xforms:item> <xforms:itemset nodeset="instance('languages-instance')/language"> <xforms:label ref="name" class="books-label"/> <xforms:value ref="value"/> </xforms:itemset> </xforms:select1> <br/> <xforms:input ref="link"> <xforms:label class="books-label">Link</xforms:label> </xforms:input> <br/> <xforms:select1 ref="rating" appearance="full"> <xforms:label class="books-label">Rating</xforms:label> <xforms:item> <xforms:label class="books-label">None</xforms:label> <xforms:value/> </xforms:item> <xforms:itemset nodeset="instance('ratings-instance')/rating"> <xforms:label ref="name" class="books-label"/> <xforms:value ref="value"/> </xforms:itemset> </xforms:select1> <br/> <xforms:textarea ref="notes"> <xforms:label class="books-label">Notes</xforms:label> </xforms:textarea> </td> </tr> </xforms:repeat> </table> </body> </html>