topical media & game development

talk show tell print

professional-xml-23-ExpenseReport-expenseReport.xml / xml



  <?xml version="1.0" encoding="utf-8"?>
  <html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:xf="http://www.w3.org/2002/xforms"
  xmlns:ev="http://www.w3.org/2001/xml-events"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:exp="http://example.com/expenseReport">
    <head>
      <xf:model schema="file:
C:/Documents%20and%20Settings/Kent/My%20Documents/My%20Writing/Books/ProXML/24-XForms/codeWork/ExpenseReport/expenseReport.xsd">

<xf:instance src="file:
C:/Documents%20and%20Settings/Kent/My%20Documents/My%20Writing/Books/ProXML/24-XForms/codeWork/ExpenseReport/baseReport.xml" />

<xf:submission id="saveXML" method="put" action="file:
C:/temp/output.xml"

includenamespaceprefixes="exp" /> <xf:bind nodeset="exp:summary/exp:travelSummary" type="xs:decimal" calculate="sum(//exp:expenseItem/exp:amount[../exp:type='Travel'])" /> <xf:bind nodeset="exp:summary/exp:entSummary" type="xs:decimal" calculate="sum(//exp:expenseItem/exp:amount[../exp:type='Entertainment'])" /> <xf:bind nodeset="exp:summary/exp:mealSummary" type="xs:decimal" calculate="sum(//exp:expenseItem/exp:amount[../exp:type='Meal'])" /> <xf:bind nodeset="exp:summary/exp:miscSummary" type="xs:decimal" calculate="sum(//exp:expenseItem/exp:amount[../exp:type='Miscellaneous'])" /> <xf:instance id="departments"> <departments xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <department id="dev"> <name>Development</name> </department> <department id="sal"> <name>Sales</name> </department> </departments> </xf:instance> <xf:instance id="expenseTypes"> <expenseType xmlns=""> <option value="Travel" /> <option value="Entertainment" /> <option value="Meal" /> <option value="Miscellaneous" /> </expenseType> </xf:instance> </xf:model> <link href="sample.css" type="text/css" rel="stylesheet"> </link> </head> <body> <div id="wrapper"> <div id="header">Expense Report</div> <div id="content"> <xf:group ref="exp:employee"> <xf:input ref="exp:name"> <xf:label>Employee:</xf:label> </xf:input> <xf:input ref="exp:employeeID"> <xf:label>Employee ID:</xf:label> </xf:input> <xf:select1 ref="exp:dept"> <xf:label>Dept:</xf:label> <xf:itemset nodeset="instance('departments')/department"> <xf:label ref="name" /> <xf:value ref="@id" /> </xf:itemset> </xf:select1> </xf:group> <xf:group> <xf:input ref="exp:date"> <xf:label>Date:</xf:label> </xf:input> <br /> <xf:input ref="exp:purpose"> <xf:label>Purpose:</xf:label> </xf:input> <br /> <xf:group> <xf:input ref="exp:startDate"> <xf:label>Start Date:</xf:label> </xf:input> <xf:input ref="exp:endDate"> <xf:label>End Date:</xf:label> </xf:input> </xf:group> </xf:group> </div> <hr /> <xf:repeat id="lineitems" nodeset="exp:expenseItem"> <xf:input ref="exp:date" /> <xf:input ref="exp:amount" /> <xf:select1 ref="exp:type"> <xf:itemset nodeset="instance('expenseTypes')/option"> <xf:label ref="@value" /> <xf:value ref="@value" /> </xf:itemset> </xf:select1> <xf:input ref="exp:description" /> </xf:repeat> <hr /> <xf:trigger> <xf:label>Insert item</xf:label> <xf:action ev:event="DOMActivate"> <xf:insert position="after" nodeset="exp:expenseItem" at="index('lineitems')" /> </xf:action> </xf:trigger> <div id="summary"> <xf:group ref="exp:summary"> <xf:label> <h3>Category Summaries</h3> </xf:label> <xf:output ref="exp:travelSummary"> <xf:label>Travel:</xf:label> </xf:output> <br /> <xf:output ref="exp:entSummary"> <xf:label>Entertainment:</xf:label> </xf:output> <br /> <xf:output ref="exp:mealSummary"> <xf:label>Meal:</xf:label> </xf:output> <br /> <xf:output ref="exp:miscSummary"> <xf:label>Miscellaneous:</xf:label> </xf:output> <br /> </xf:group> </div> <div id="footer"> <xf:submit submission="saveXML"> <xf:label>Save</xf:label> </xf:submit> </div> </div> </body> </html>


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.