To link different documents within the Sophora XML you can use the optional attribute externalID
of the <document>
element. When this external id attribute is used in a reference property somewhere else in the XML document, the Importer automatically hooks the two documents.
In the following example an image gallery containing a reference to an image object is created:
<?xml version="1.0" encoding="UTF-8"?>
<document nodeType="sophora-content-nt:imagegallery"
xmlns="http://www.sophoracms.com/import/5.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<properties>
[...]
</properties>
<childNodes>
<childNode nodeType="sophora-content-nt:imageref" name="sophora-content:image">
<properties>
<property name="sophora:reference">
<value>refImage01</value>
</property>
</properties>
<childNodes/>
<resourceList>
<document nodeType="sophora-content-nt:imageobject" externalID="refImage01">
<properties>
[...]
</properties>
<childNodes>
<childNode nodeType="sophora-extension-nt:imagedata" name="sophora-extension:imagedata">
<properties>
[...]
</properties>
<childNodes/>
<resourceList/>
</childNode>
</childNodes>
<resourceList/>
<fields>
[...]
</fields>
<instructions>
[...]
</instructions>
</document>
</resourceList>
</childNode>
</childNodes>
<resourceList/>
<fields>
[...]
</fields>
<instructions>
[...]
</instructions>
</document>
Using this mechanism you can even import documents that reference eachother. This might be the case when two news documents reference each other as a teaser.