publicdata

Identifies specified XForms elements as “public”. Marking an element public ensures that you can map the element to a workflow task in a content management system.

Syntax

   <publicdata>
	    <dataref> 
		     <model>id</model>
		     <ref>reference</ref>
         <name>name</name>
         <type>type</type>
				<choicelistref>node reference</choicelistref>
	    </dataref>
	     ...
	    <dataref> 
	       <model>id</model>
		     <ref>reference</ref>
         <name>name</name>
         <type>type</type>
				<columncontext>context</columncontext>
				<columnorigin>origin</columnorigin>
	    </dataref>
   </publicdata>
Table 1. publicdata parameters
Parameter Type Description
id string optional. The id of the XForms model that contains the element that you want to make public. You do not need to include this parameter unless you have multiple models in your form.
reference XPath reference The XPath reference to the element that you want to make public. For example:

instance('employee_info')/last_name

name string optional. The name for the reference. The name element is a single line xsd:string; it cannot contain multiple lines.
type schema optional. The type of element. The type element is used by the Mashup designer to correctly wire the data to consumers of the data. The type element is a valid W3C Schema Type. Two types are supported:
  • xsd:anySimpleType – Indicates a leaf node.
  • xsd:anyType – Indicates a non-leaf node.
choicelistref node reference This child element is used if the data node being made public is bound to an XFDL item that skins an xforms:select1 or xforms:select item, such as popup, list, combobox, radiogroup or checkgroup. The content is a single node reference to the container of the list needed for the injection to update. For example:

<choicelistref>instance('SCHEMA')/enumeriations/Gender</choicelistref>

columncontext context This child element is used if the node being made public is bound to an XFDL item contained by an XFDL table item.
columnorigin origin This child element is used if the node being made public is bound to an XFDL item contained by an XFDL table item.

Available in

form global

Example

The following example makes two elements public: the “data1” element in the “Request” model and the “output2” element in the “Response” model.

   <publicdata>
      <dataref>
         <model>Request</model>
         <ref>instance('data')/data1</ref>   
      </dataref>
      <dataref>
         <model>Response</model>
         <ref>instance('output')/output2</ref>   
      </dataref>
   </publicdata>

Usage details

  1. Default: none.
  2. The publicdata option identifies child elements only. Elements that contain other elements cannot be referenced.
  3. The publicdata option supports child elements inside of tables.
  4. The publicdata option may contain multiple dataref elements.
  5. The model element is optional.
  6. If you are referencing an element in the default instance, the instance() XPath function does not need to be included in the reference.