Spec addition proposal: explicitly add external instances in XLSForm

I would like to bring some visibility to a proposal by @martijnr at https://github.com/XLSForm/pyxform/issues/107 to introduce a new type in XLSForm to add a reference to an external secondary instance in a form. For example:

+----------+--------+
|   type   |  name  |
+----------+--------+
| xml-data | mydata |
+----------+--------+

results in the following in XML:
<instance id="mydata" src="jr://file/mydata.xml" />

I proposed making the type xml-external instead of xml-data to make it clear the reference is to an external secondary instance and leaving the door open to adding xml-internal.

Otherwise I think this is non-controversial. @Lindsay_Stevens_Au has a pull request ready at https://github.com/XLSForm/pyxform/pull/169 which @Ukang_a_Dickson has approved. I still wanted to bring attention to it and give another opportunity for comments because there's a bit of a history of hastily adding external data features and this is a great opportunity to Get It Right™.

1 Like

I used xls2xform from lindsay-stevens:feature/external-instance on this XLS:

type	name	label
xml-external	towns	

I was surprised to see the root element inside the instance:

<instance id="towns" src="jr://file/towns.xml">
  <root>
    <item>
      <name>_</name>
      <label>_</label>
    </item>
  </root>
</instance>

Our JavaRosa test form simply has this:

<instance id="towns" src="jr://file/towns.xml"/>