XForms/Deep Copy with Insert Origin

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Motivation[edit | edit source]

You want to add a new instance or element from a template. You want to do a deep copy of complex XML from one instance to another instance within a model.

Method[edit | edit source]

We will use the XForms xf:insert element with the origin attribute set to the source instance. We will use the nodeset attribute to indicate where the data should be copied to.

Link to XForms Application[edit | edit source]

Load XForms Application

Source Code[edit | edit source]

          <title>Using Origin to do a Deep Copy between instances</title>
          <style type="text/css">
               @namespace xf url("http://www.w3.org/2002/xforms");
               body {font-family:Helvetica, sans-serif}
               #source-repeat {border: blue solid 1px;}
               #destination-repeat {border: green solid 1px;}
               <xf:instance xmlns="" id="source">
               <xf:instance xmlns="" id="destination">
          <h1>Example of deep copy using XForms insert origin</h1>
          <xf:repeat id="source-repeat" nodeset="instance('source')/a">
               <xf:output ref="."/>
          <xf:repeat id="destination-repeat" nodeset="instance('destination')/a">
               <xf:output ref="."/>
               <xf:label>Copy data from source to destination</xf:label>     
               <xf:action ev:event="DOMActivate">

Discussion[edit | edit source]

Next Page: Incremental Model Loading | Previous Page: Dynamic Selection Lists
Home: XForms