Patent Publication Number: US-7904801-B2

Title: Recursive sections in electronic forms

Description:
TECHNICAL FIELD 
     This invention relates to recursive sections in electronic forms. 
     BACKGROUND 
     Electronic data-entry forms are commonly used to collect information. These electronic forms enable users to enter data and have that data stored digitally, such as in computer-accessible databases. Data so stored can be quickly retrieved, allowing others to use that data. 
     In some cases, it is useful for electronic data-entry forms to include recursive sections. These sections may permit nested sets of similar information to be entered, each section being governed similarly by a schema governing the electronic form. 
     Assume, for example, that a user of an electronic form wishes to enter names and email addresses for employees that are within a management hierarchy. To do so, a group of recursive sections may be used, each of which enables the user to enter the needed information for each employee within the hierarchy. 
     Building recursive sections into an electronic data-entry form, however, can require significant time and computer-programming skill. A person often needs to have extensive training and experience in computer programming before he or she can build recursive sections into an electronic data-entry form. Even with extensive training, this programmer may need many hours to build and maintain these recursive sections. 
     Further, these recursive sections may be limited by the electronic form. Assume, for example, that the programmer thought that the form&#39;s user would need to have up to three levels of hierarchy in a management structure, each having up to five employees, and built the electronic form to reflect the recursive sections accordingly. The electronic form may work for a sales team having one president, two sales managers below the president, and five salesmen below the sales managers. If the form&#39;s user, however, needs to enter into the form a sixth salesman or a salesman&#39;s assistant (a fourth level of management hierarchy), the form may no longer be capable of handling the management structure needed by the user. In this case, the programmer may have to go back and re-design the electronic form. 
     Alternatively, a programmer may design an electronic form to enable additional flexibility by permitting a user to add recursive sections to an electronic form; to add these recursive sections, however, a user may need to do so through a potentially confusing and difficult-to-manage hierarchical representation of the electronic form&#39;s data structure. In this case, for example, a user may need to view and understand a hierarchical tree representation of the electronic form, select a particular node or hierarchical level of the tree, and insert a representation of a recursive structure at that particular node or level. Not only is this way of adding recursive sections potentially confusing and difficult, it may permit the user to improperly insert the recursive structure. If the user inserts the structure improperly, the altered data structure of the electronic form may be invalid to its governing schema. An electronic form invalid to its schema may be useless. 
     Given the foregoing, there is a need in the art for a more user-friendly and/or less time-consuming way to build and/or use recursive sections for electronic data-entry forms. 
     SUMMARY 
     Systems and/or methods (“tools”) enabling creation and/or use of recursive sections for an electronic data-entry form are described. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  illustrates an exemplary architecture capable of facilitating creation and/or use of recursive sections in an electronic form. 
         FIG. 2  sets forth a flow diagram of an exemplary process for building recursive sections. 
         FIG. 3  illustrates an exemplary and empty form-design area. 
         FIG. 4  illustrates the form-design area of  FIG. 3  showing an exemplary control. 
         FIG. 5  sets forth a flow diagram of an exemplary process for enabling a user to add or alter recursive sections. 
         FIG. 6  illustrates an exemplary rendered view of an electronic form having a recursive section. 
         FIG. 7  illustrates the rendered view of  FIG. 6  with an exemplary recursive selection dialog. 
         FIG. 8  illustrates the rendered view of  FIG. 6  with an exemplary subordinate recursive section. 
     
    
    
     The same numbers are used throughout the disclosure and figures to reference like components and features. 
     DETAILED DESCRIPTION 
     Overview 
     Tools described below enable creation and/or use of recursive sections for an electronic data-entry form. 
     The tools, in one embodiment, enable a recursive section to be built into an electronic form graphically, such as through enabling a form designer to graphically select a component representing the recursive section. By so doing, the tools may enable form designers to quickly and easily create recursive sections for electronic forms without needing to write script or have extensive programming experience. 
     The tools also, in another embodiment, enable users of an electronic form to modify recursive sections in an electronic form through a data-entry and/or rendered view of the electronic form. In this way, the tools may enable a user to alter recursive sections through a view of the form in which the user may be most familiar. 
     The tools may also, in another embodiment, enable creation and/or use of recursive sections in an electronic form that permit a user to add an arbitrary number or level of recursive sections to the electronic form. 
     In still another embodiment, the tools enable a user to add recursive sections to an electronic form while ensuring that the form remains valid to its governing schema. 
     Architecture 
     An exemplary architecture  100  capable of facilitating creation and/or use of a recursive section is shown  FIG. 1 . This architecture is set forth as one example of a computer architecture in which the tools may be implemented. The architecture  100  comprises a display  102 , one or more user-input devices  104 , and a computer  106 . The user-input devices  104  comprise any device allowing a computer to receive a designer&#39;s or user&#39;s preferences, such as a keyboard  108 , other device(s)  110  (e.g., a touch screen, a voice-activated input device, a track ball, etc.), and a mouse  112 . The computer comprises a processing unit  114  capable of executing computer-readable media  116  communicated to the processing unit through a bus  117 . 
     The computer-readable media comprises an operating system  118  and one or more applications stored in memory and executable by the processing unit. One particular application is a design application  120 , which may allow a form designer to create recursive sections for an electronic form with little or no programming skill. The design application is capable of providing a visual what-you-see-is-what-you-get (WYSIWYG) user interface  122  that, in one embodiment, enables designers to graphically construct recursive sections by visually selecting graphics and arranging them in a manner that can be intuitive and straight forward. 
     An electronic-form template  124  is also shown. This template comprises a schema  126  governing electronic form  128 , and recursive section logic  130 . The recursive section logic may be part of or separate from the template. The electronic form comprises a data structure  132  and a form view  134 . The data structure may be arranged hierarchically and comprise nodes. The data structure may also be transformed to render the form view, which enables data entry into the electronic form. In one embodiment, the data structure comprises eXtensible Markup Language (XML) and can be transformed with an eXtensible Style-sheet Language Transformation (XSLT) to produce HyperText Machine Language (HTML) that is viewable and through which a user can enter information. 
     The computer-readable media also comprises a runtime application  136 . The runtime is capable of enabling a user&#39;s interaction with the electronic form, and may include a user interface. 
     Recursive Sections 
     Generally, a recursive section in the context of electronic forms comprises a section capable of containing or referencing an instance of itself. In some cases, a recursive section can contain an instance of itself as a direct child or a descendant. In some others, it can reference an instance of itself as a child or descendant as a choice. 
     Electronic forms described herein may provide multiple, substantially similar data-entry sections into which a user may enter and view information. These data-entry sections may correspond to a recursive section and instances of that recursive section, though each may appear different in some fashion. The schema governing and/or the logic directing the operation of these data-entry sections may, however, be identical. 
     An electronic form having three levels of recursion, for instance, may provide data-entry sections each having the same data-entry fields, though the orientation, color, accompanying text, and the like may be different. For example, the first level may be oriented to the left of the page and have accompanying text of “President”, as a highest level of an employee management structure. The second level may be oriented slightly right of the first level and have accompanying text of “Vice President”. Likewise, the third level may be oriented further right and have accompanying text of “Manager”. 
     Building Recursive Sections 
     An exemplary process  200  enabling a form designer to build a recursive section into an electronic data-entry form is shown in  FIG. 2 . The process  200  is illustrated as a series of blocks representing individual operations or acts performed by components of architecture  100 , such as design application  120  and/or its user interface  122 . This and other processes described herein may be implemented in any suitable hardware, software, firmware, or combination thereof. In the case of software and firmware, these processes represent sets of operations implemented as computer-executable instructions. 
     At block  202 , design application  120  enables selection of a recursive section component. This component may be selected graphically, such as by dragging and dropping it from one region of display  102  to another, for instance. It can also be selected (graphically or otherwise) through a dialog menu or in other appropriate ways. 
     In an illustrated embodiment, the design application enables graphical selection of a recursive section component without writing script or code, as illustrated in a screen shot  300  of  FIG. 3 . This screen shot sets forth an exemplary form-design area  302  capable of showing a what-you-see-is-what-you-get (WYSIWYG) representation of a selected recursive section component, a hierarchical representation  304  (entitled “data source”) of an electronic form from which a node may be selected at which the recursive section may be associated or a position at which a node corresponding to the selected component may be placed, and a selectable recursive section component  306  (entitled “Repeating Recursive Section”). 
     At block  204 , the design application may determine whether or not the electronic form comprises a schema part that is substantially similar to a schema construct that may be added when a recursive section component is selected. In some cases an electronic form being designed already comprises a schema, which may have a part or parts that is substantially similar to a schema construct for a recursive section component. If the design application determines that the electronic form being designed comprises such a schema part, it proceeds to block  206 . Otherwise, it proceeds to block  208 . 
     At block  206 , the design application indicates that this recursive section component may be selected without altering the schema of the electronic form. This may be useful when a designer does not wish to alter a schema of an electronic form but does wish to alter how the electronic form behaves. By so doing, this process  200  permits an existing electronic form that has a schema matching an industry or company standard (and so should not be changed) to have its behavior (e.g., logic or view) but not its schema altered. 
     At block  208 , the design application receives a form designer&#39;s selection. In the ongoing illustrated embodiment shown in  FIG. 3 , the design application receives a selection of an employee node  308  and recursive section component  306 . The design application is capable of associating the selected recursive section component with the selected employee node. 
     In the ongoing illustrated embodiment, the design application indicates a selection of the form designer graphically, in this case in a WYSIWYG way by presenting a control approximating what a user of the form may see when editing the form (an “editable view”).  FIG. 4  sets forth this exemplary presentation with screen shot  400  showing control  402  associated with the selected recursive section in the form-design area  302 . 
     In one embodiment, the form designer is also enabled to customize the user&#39;s experience, such as by selecting: concentric boxes for recursive sections based on their hierarchy; text or other user interfaces to aid the user that may also be dependent on the level of the hierarchy; and the like. Thus, a form designer may select that a first level employee have an outer concentric box and text of “employee”, and each successive level employee have an inner concentric box for each level and a “sub” before “employee” also for each level. 
     Following block  208 , the design application may proceed to block  210  or, if the designer selected to not alter the electronic form&#39;s schema, to block  212 . 
     At block  210 , the design application may alter the electronic form&#39;s schema to permit a recursive section. The design application may alter the electronic form&#39;s schema at a location in the schema at which a component is selected, such as at the employee node selected in the illustrated embodiment. 
     Continuing this embodiment, the design application alters the electronic form&#39;s schema  126  of  FIG. 1  by adding a schema construct associated with the selected recursive section component. This schema construct may govern the recursive section of the electronic form and may permit an arbitrary number and/or level of instances contained by or referencing the recursive section. This arbitrary number and/or level may permit, for example, a user of the electronic form to enter information for many employees and to many levels of hierarchy without the electronic form being invalid. 
     The design application adds the following schema construct (here in XML schema, “XSD”) to the electronic form&#39;s schema in the illustrated embodiment: 
     
       
         
           
               
             
               
                   
               
             
            
               
                 &lt;?xml version=“1.0” encoding=“UTF-8” standalone=“no” ?&gt; 
               
               
                 &lt;xsd:schema 
               
               
                 targetNamespace=“http://schemas.microsoft.com/office/infopath/2003 
               
               
                 /myXSD/2004-08-30T18:16:22” 
               
               
                 xmlns:my=“http://schemas.microsoft.com/office/infopath/2003/myXSD/ 
               
               
                 2004-08-30T18:16:22” xmlns:xsd=“http://www.w3.org/2001/ 
               
               
                 XMLSchema”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xsd:element name=“myFields”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xsd:complexType&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xsd:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xsd:element ref=“my:Employee” minOccurs=“0” 
               
            
           
           
               
            
               
                 maxOccurs=“unbounded”/&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xsd:sequence&gt; 
               
               
                   
                 &lt;xsd:anyAttribute processContents=“lax” 
               
            
           
           
               
            
               
                 namespace=“http://www.w3.org/XML/1998/namespace” /&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xsd:complexType&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xsd:element&gt; 
               
               
                   
                 &lt;xsd:element name=“Employee”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xsd:complexType&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xsd:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xsd:element ref=“my:Name” minOccurs=“0” /&gt; 
               
               
                   
                 &lt;xsd:element ref=“my:Email” minOccurs=“0” /&gt; 
               
               
                   
                 &lt;xsd:element ref =“my:Employee” minOccurs=“0” 
               
            
           
           
               
            
               
                 maxOccurs=“unbounded” /&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xsd:sequence&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xsd:complexType&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xsd:element&gt; 
               
               
                   
                 &lt;xsd:element name=“Name” type=“xsd:string” /&gt; 
               
               
                   
                 &lt;xsd:element name=“Email” type=“xsd:string” /&gt; 
               
            
           
           
               
            
               
                 &lt;/xsd:schema&gt; 
               
               
                   
               
            
           
         
       
     
     At block  212 , the design application associates logic with the electronic form that is capable of guiding how the recursive section is used during editing. If the design application skipped block  210 , this logic may be associated with the existing schema part determined at block  204 . 
     In the illustrated embodiment, this logic is mapped one-to-one to the schema construct for the selected recursive section component. This logic is added to recursive section logic  130  of electronic form template  124  of  FIG. 1 . The design application adds the logic set forth below (here written in XML) to the electronic form template. The first “xsf:xmlToEdit” section set forth below governs the outer instance and the second “xsf:xmlToEdit” section governs all inner (sub-hierarchical or nested) instances. 
     
       
         
           
               
             
               
                   
               
             
            
               
                 &lt;xsf:editing&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xsf:xmlToEdit name=“Employee_1” 
               
            
           
           
               
            
               
                 item=“/my:myFields/my:Employee” container=“/my:myFields”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xsf:editWith caption=“Employee” 
               
            
           
           
               
            
               
                 xd:autogeneration=“template” component=“xCollection”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xsf:fragmentToInsert&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xsf:chooseFragment innerFragment= 
               
               
                   
                 “my:Employee”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;myEmployee&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;my:Name&gt;&lt;/my:Name&gt; 
               
               
                   
                 &lt;my:Email&gt;&lt;/my:Email&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/my:Employee&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xsf:chooseFragment&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xsf:fragmentToInsert&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xsf:editWith&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xsf:xmlToEdit&gt; 
               
               
                   
                 &lt;xsf:xmlToEdit name=“Employee_2” 
               
            
           
           
               
            
               
                 item=“/my:myFields//my:Employee//my:Employee” 
               
               
                 container=“/my:myFields//my:Employee”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xsf:editWith caption=“Sub Employee” 
               
            
           
           
               
            
               
                 xd:autogeneration=“template” component=“xCollection”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xsf:fragmentToInsert&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;xsf:chooseFragment innerFragment= 
               
               
                   
                 “my:Employee”&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;my:Employee&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;my:Name&gt;&lt;/my:Name&gt; 
               
               
                   
                 &lt;my:Email&gt;&lt;/my:Email&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/my:Employee&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xsf:chooseFragment&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xsf:fragmentToInsert&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xsf:editWith&gt; 
               
            
           
           
               
               
            
               
                   
                 &lt;/xsf:xmlToEdit&gt; 
               
            
           
           
               
            
               
                 &lt;/xsf:editing&gt; 
               
               
                   
               
            
           
         
       
     
     At block  214 , the design application may associate with the electronic form viewing information associated with a recursive section component. This viewing information may provide additional information guiding how the selected recursive section is viewed by a user. This viewing information is available to runtime  136  of  FIG. 1  during editing of the electronic form. 
     Continuing the illustrated embodiment, the design application may add the following viewing information (here an extensible Stylesheet Language (XSL) transformation), to the electronic form template: 
                                &lt;xsl:template match=“my:myFields”&gt;                         &lt;html&gt;                         &lt;body&gt;                         &lt;div&gt;&lt;xsl:apply-templates select=“my:Employee”                 mode=“_3”/&gt;                         &lt;div class=“optionalPlaceholder”                 xd:xmlToEdit=“Employee_1” tabIndex=“0”       xd:action=“xCollection::insert” align=“left” style=“WIDTH:       651px”&gt;Insert item&lt;/div&gt;                         &lt;/div&gt;           &lt;div&gt; &lt;/div&gt;                         &lt;/body&gt;                         &lt;/html&gt;                 &lt;/xsl:template&gt;       &lt;xsl:template match=“my:Employee” mode=“_3”&gt;                         &lt;div class=“xdRepeatingSection xdRepeating” title=“ ”                 style=“MARGIN-BOTTOM: 6px; WIDTH: 651px” align=“left”       xd:CtrlId=“CTRL7” xd:xctname=“RepeatingSection” tabIndex=“−1”&gt;                         &lt;div&gt;Name:&lt;span class=“xdTextBox” hideFocus=“1” title=“ ”                 xd:CtrlId=“CTRL8” xd:xctname=“PlainText” tabIndex=“0”       xd:binding=“my:Name” style=“WIDTH: 130px”&gt;                         &lt;xsl:value-of select=“my:Name”/&gt;                         &lt;/ span&gt;                         &lt;/div&gt;           &lt;div&gt;Email:&lt;span class=“xdTextBox” hideFocus=“1” title=“ ”                 xd:CtrlId=“CTRL9” xd:xctname=“PlainText” tabIndex=“0”       xd:binding=“my:Email” style=“WIDTH: 130px”&gt;                         &lt;xsl:value-of select=“my:Email”/&gt;                         &lt;/ span&gt;                         &lt;/ div&gt;           &lt;div&gt;&lt;xsl:apply-templates select=“my:Employee”                 mode=“_3“/&gt;                         &lt;div class=“optionalPlaceholder”                 xd xmlToEdit=“Employee_2” tabIndex=“0”       xd:action=“xCollection::insert” align=“left” style=“WIDTH:       100%”&gt;Insert item&lt;/div&gt;                         &lt;/div&gt;           &lt;div&gt; &lt;/div&gt;           &lt;div&gt; &lt;/div&gt;           &lt;div&gt; &lt;/div&gt;                         &lt;/div&gt;                 &lt;/xsl:template&gt;                    
Exemplary User Interaction
 
     Referring to  FIG. 5 , an exemplary process  500  enabling a user to modify a recursive section in an electronic form is shown. The process  500  is illustrated as a series of blocks representing individual operations or acts performed by components of architecture  100 , such as runtime  136  and electronic form template  124 . Electronic forms in which a user may modify a recursive section according to the process  500  may comprise, for instance, those with recursive sections built according to process  200  above or electronic forms built in other ways and governed by a schema permitting recursive sections, such as some electronic forms that follow an industry standard. 
     At block  502 , a view of an electronic form having a schema permitting recursive sections is displayed. This view may be editable by a user and/or comprise a rendering of an electronic form&#39;s data structure, such as a transformation of data structure  132  of  FIG. 1 . In one embodiment, this view comprises data-entry fields or otherwise enables a user to enter data. 
     Continuing the illustrated embodiment above, a screen shot  600  showing a rendered view  602  is set forth in  FIG. 6 . This view shows a recursive section  604  presented in HTML, which is an XSL transformation of an XML data structure in the electronic form for the recursive section. 
     At block  504 , a user is enabled to modify a recursive section. The user may, in one embodiment, be enabled to add recursive sections to an arbitrary number and/or level of hierarchy. Thus, the runtime may permit a user to add recursive sections at the same or an arbitrary level below a recursive section over and over again. Constraints of the schema may be determined in part based on the form&#39;s schema and/or recursive section logic  130  of  FIG. 1 . 
     Also, the user may be able to modify the recursive section graphically while maintaining the form&#39;s validity to its schema. The modifications to the recursive section may be constrained so that a user is not enabled to perform a modification that is not permitted by a schema governing the electronic form. The runtime may determine what modifications are permitted in part based on the recursive section logic. Based on this information, the runtime may orient where in a view the user is enabled to modify the recursive section. 
     Graphical interaction may be enabled through an editable, rendered view of the electronic form. By so doing, a user is enabled to interact with the form through a view in which the user may be familiar. Also, by so doing, the user may not have to switch out of the editable view to modify the recursive section. 
     Continuing the illustrated embodiment, the rendered view shown in  FIG. 6  comprises a recursive selection button  606 . Responsive to receiving a user&#39;s selection of this button, the runtime may present additional options to the user. These options may enable the user to add, delete, or alter a recursive section. The user may also be enabled to select in which way he or she wishes a recursive section to be added. 
     Consider, for example,  FIG. 7 . There a screen shot  700  shows an updated rendered view  602  having a recursive selection dialog  702 . Through this recursive selection dialog a user is enabled to select to add an instance of a recursive section at the same level as the recursive section with which the recursive selection button  606  is associated in  FIG. 6 . The dialog  702  shows two options for adding an instance of a recursive section at the same level, an insert above option  704  (entitled “Insert Employee above”) and an insert below option  706  (entitled “Insert Employee below”). The dialog also enables the user to remove the recursive section  604  with a remove option  708  (entitled “Remove Employee”). Further, the dialog enables the user to add an instance of the recursive section at a level below that of recursive section  604  with an insert subordinate option  710  (entitled “Insert Sub Employee”). 
     In the illustrated embodiment, the runtime (in some cases using the recursive section logic of  FIG. 1 ), enables the user to select to add as many numbers of employees and to as many levels as the user desires. If, for instance, the user wishes to add thirty employees at the current level of recursive section  604  (e.g., for thirty-one sales managers), each of which has between three and twenty-six salesmen, each of these of which has zero to twelve sales assistants, and so forth, the runtime may enable the user to do so. In at least this sense, the electronic form is enabled to be user-driven, rather than forcing the user to follow a prescribed set of recursive section options. Also, each of the added instances of the recursive section may enable similar or identical instances to be added to the added recursive section. Thus, each recursive section, whether original or later added, may have additional instances added at or below its level. 
     At block  506 , the runtime modifies the electronic form&#39;s data structure  132 . The user may, for instance, select to add an employee with insert subordinate option  710  (and thus at a lower level as the employee shown with recursive section  604 ), responsive to which the runtime may add an instance of the recursive section for the additional employee. 
     At block  508 , the runtime alters the form view  134  for the electronic form. It may do so by transforming the data structure with a transformation associated with the recursive section (such as described above). In presenting data-entry fields and the like for the newly added recursive section, the runtime may rely on aspects of the electronic form template  124 , such as parts of recursive section logic  130  associated with the recursive section. This logic may set forth a way in which the added recursive section may appear (e.g., shading, orientation, and text). 
     Consider, for example,  FIG. 8 . There a screen shot  800  shows an updated rendered view  602  having an added, subordinate recursive section  802  for an additional employee. Note also that the runtime enables the user to add, delete, and or alter recursive sections for both the recursive section  604  and the newly added subordinate recursive section  802 . Through recursive selection button  606  and a subordinate recursive selection button  804 , the user can continue to add, delete, and alter recursive sections for employees at various levels. 
     The user may then enter information into the subordinate recursive section. 
     CONCLUSION 
     The above-described systems and methods enable creation and/or use of a recursive section for an electronic data-entry form. Although the invention has been described in language specific to structural features and/or methodological acts, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claimed invention.