<attribute name='type'>
<value>dir</value>
</attribute>
- <ref name='commonmetadata'/>
- <ref name='sizing'/>
- <ref name='sourcedir'/>
- <ref name='target'/>
+ <interleave>
+ <ref name='commonmetadata'/>
+ <ref name='sizing'/>
+ <ref name='sourcedir'/>
+ <ref name='target'/>
+ </interleave>
</define>
<define name='poolfs'>
<attribute name='type'>
<value>fs</value>
</attribute>
- <ref name='commonmetadata'/>
- <ref name='sizing'/>
- <ref name='sourcefs'/>
- <ref name='target'/>
+ <interleave>
+ <ref name='commonmetadata'/>
+ <ref name='sizing'/>
+ <ref name='sourcefs'/>
+ <ref name='target'/>
+ </interleave>
</define>
<define name='poolnetfs'>
<attribute name='type'>
<value>netfs</value>
</attribute>
- <ref name='commonmetadata'/>
- <ref name='sizing'/>
- <ref name='sourcenetfs'/>
- <ref name='target'/>
+ <interleave>
+ <ref name='commonmetadata'/>
+ <ref name='sizing'/>
+ <ref name='sourcenetfs'/>
+ <ref name='target'/>
+ </interleave>
</define>
<define name='poollogical'>
<attribute name='type'>
<value>logical</value>
</attribute>
- <ref name='commonmetadata'/>
- <ref name='sizing'/>
- <ref name='sourcelogical'/>
- <ref name='targetlogical'/>
+ <interleave>
+ <ref name='commonmetadata'/>
+ <ref name='sizing'/>
+ <ref name='sourcelogical'/>
+ <ref name='targetlogical'/>
+ </interleave>
</define>
<define name='pooldisk'>
<attribute name='type'>
<value>disk</value>
</attribute>
- <ref name='commonmetadata'/>
- <ref name='sizing'/>
- <ref name='sourcedisk'/>
- <ref name='target'/>
+ <interleave>
+ <ref name='commonmetadata'/>
+ <ref name='sizing'/>
+ <ref name='sourcedisk'/>
+ <ref name='target'/>
+ </interleave>
</define>
<define name='pooliscsi'>
<attribute name='type'>
<value>iscsi</value>
</attribute>
- <ref name='commonmetadata'/>
- <ref name='sizing'/>
- <ref name='sourceiscsi'/>
- <ref name='target'/>
+ <interleave>
+ <ref name='commonmetadata'/>
+ <ref name='sizing'/>
+ <ref name='sourceiscsi'/>
+ <ref name='target'/>
+ </interleave>
</define>
<define name='poolscsi'>
<attribute name='type'>
<value>scsi</value>
</attribute>
- <ref name='commonmetadata'/>
- <ref name='sizing'/>
- <ref name='sourcescsi'/>
- <ref name='target'/>
+ <interleave>
+ <ref name='commonmetadata'/>
+ <ref name='sizing'/>
+ <ref name='sourcescsi'/>
+ <ref name='target'/>
+ </interleave>
</define>
<define name='poolmpath'>
<attribute name='type'>
<value>mpath</value>
</attribute>
- <ref name='commonmetadata'/>
- <ref name='sizing'/>
- <optional>
- <ref name='sourcempath'/>
- </optional>
- <ref name='target'/>
+ <interleave>
+ <ref name='commonmetadata'/>
+ <ref name='sizing'/>
+ <optional>
+ <ref name='sourcempath'/>
+ </optional>
+ <ref name='target'/>
+ </interleave>
</define>
<define name='poolrbd'>
<attribute name='type'>
<value>rbd</value>
</attribute>
- <ref name='commonmetadata'/>
- <ref name='sizing'/>
- <ref name='sourcerbd'/>
+ <interleave>
+ <ref name='commonmetadata'/>
+ <ref name='sizing'/>
+ <ref name='sourcerbd'/>
+ </interleave>
</define>
<define name='poolsheepdog'>
<attribute name='type'>
<value>sheepdog</value>
</attribute>
- <ref name='commonmetadata'/>
- <ref name='sizing'/>
- <ref name='sourcesheepdog'/>
+ <interleave>
+ <ref name='commonmetadata'/>
+ <ref name='sizing'/>
+ <ref name='sourcesheepdog'/>
+ </interleave>
</define>
<define name='sourceinfovendor'>
- <optional>
- <element name='vendor'>
- <attribute name='name'>
- <text/>
- </attribute>
- </element>
- </optional>
- <optional>
- <element name='product'>
- <attribute name='name'>
- <text/>
- </attribute>
- </element>
- </optional>
+ <interleave>
+ <optional>
+ <element name='vendor'>
+ <attribute name='name'>
+ <text/>
+ </attribute>
+ </element>
+ </optional>
+ <optional>
+ <element name='product'>
+ <attribute name='name'>
+ <text/>
+ </attribute>
+ </element>
+ </optional>
+ </interleave>
</define>
<define name='commonmetadata'>
- <element name='name'>
- <ref name='genericName'/>
- </element>
- <optional>
- <element name='uuid'>
- <ref name='UUID'/>
+ <interleave>
+ <element name='name'>
+ <ref name='genericName'/>
</element>
- </optional>
+ <optional>
+ <element name='uuid'>
+ <ref name='UUID'/>
+ </element>
+ </optional>
+ </interleave>
</define>
<define name='sizing'>
- <optional>
- <element name='capacity'>
- <ref name='scaledInteger'/>
- </element>
- </optional>
- <optional>
- <element name='allocation'>
- <ref name='scaledInteger'/>
- </element>
- </optional>
- <optional>
- <element name='available'>
- <ref name='scaledInteger'/>
- </element>
- </optional>
+ <interleave>
+ <optional>
+ <element name='capacity'>
+ <ref name='scaledInteger'/>
+ </element>
+ </optional>
+ <optional>
+ <element name='allocation'>
+ <ref name='scaledInteger'/>
+ </element>
+ </optional>
+ <optional>
+ <element name='available'>
+ <ref name='scaledInteger'/>
+ </element>
+ </optional>
+ </interleave>
</define>
<define name='permissions'>
<optional>
<element name='permissions'>
- <element name='mode'>
- <ref name='octalMode'/>
- </element>
- <element name='owner'>
- <choice>
- <ref name='unsignedInt'/>
- <value>-1</value>
- </choice>
- </element>
- <element name='group'>
- <choice>
- <ref name='unsignedInt'/>
- <value>-1</value>
- </choice>
- </element>
- <optional>
- <element name='label'>
- <text/>
- </element>
- </optional>
+ <interleave>
+ <element name='mode'>
+ <ref name='octalMode'/>
+ </element>
+ <element name='owner'>
+ <choice>
+ <ref name='unsignedInt'/>
+ <value>-1</value>
+ </choice>
+ </element>
+ <element name='group'>
+ <choice>
+ <ref name='unsignedInt'/>
+ <value>-1</value>
+ </choice>
+ </element>
+ <optional>
+ <element name='label'>
+ <text/>
+ </element>
+ </optional>
+ </interleave>
</element>
</optional>
</define>
<define name='target'>
<element name='target'>
- <element name='path'>
- <ref name='absFilePath'/>
- </element>
- <ref name='permissions'/>
+ <interleave>
+ <element name='path'>
+ <ref name='absFilePath'/>
+ </element>
+ <ref name='permissions'/>
+ </interleave>
</element>
</define>
<define name='targetlogical'>
<element name='target'>
- <optional>
- <element name='path'>
- <ref name='absFilePath'/>
- </element>
- </optional>
- <ref name='permissions'/>
+ <interleave>
+ <optional>
+ <element name='path'>
+ <ref name='absFilePath'/>
+ </element>
+ </optional>
+ <ref name='permissions'/>
+ </interleave>
</element>
</define>
<define name='sourcefs'>
<element name='source'>
- <ref name='sourceinfodev'/>
- <ref name='sourcefmtfs'/>
- <optional>
- <ref name='sourceinfovendor'/>
- </optional>
+ <interleave>
+ <ref name='sourceinfodev'/>
+ <ref name='sourcefmtfs'/>
+ <optional>
+ <ref name='sourceinfovendor'/>
+ </optional>
+ </interleave>
</element>
</define>
<define name='sourcenetfs'>
<element name='source'>
- <ref name='sourceinfohost'/>
- <ref name='sourceinfodir'/>
- <ref name='sourcefmtnetfs'/>
- <optional>
- <ref name='sourceinfovendor'/>
- </optional>
+ <interleave>
+ <ref name='sourceinfohost'/>
+ <ref name='sourceinfodir'/>
+ <ref name='sourcefmtnetfs'/>
+ <optional>
+ <ref name='sourceinfovendor'/>
+ </optional>
+ </interleave>
</element>
</define>
<define name='sourcelogical'>
<element name='source'>
- <oneOrMore>
+ <interleave>
+ <oneOrMore>
+ <optional>
+ <ref name='sourceinfoname'/>
+ </optional>
+ <optional>
+ <ref name='sourceinfodev'/>
+ </optional>
+ </oneOrMore>
+ <ref name='sourcefmtlogical'/>
<optional>
- <ref name='sourceinfoname'/>
- </optional>
- <optional>
- <ref name='sourceinfodev'/>
+ <ref name='sourceinfovendor'/>
</optional>
- </oneOrMore>
- <ref name='sourcefmtlogical'/>
- <optional>
- <ref name='sourceinfovendor'/>
- </optional>
+ </interleave>
</element>
</define>
<define name='sourcedisk'>
<element name='source'>
- <ref name='sourceinfodev'/>
- <ref name='sourcefmtdisk'/>
- <optional>
- <ref name='sourceinfovendor'/>
- </optional>
+ <interleave>
+ <ref name='sourceinfodev'/>
+ <ref name='sourcefmtdisk'/>
+ <optional>
+ <ref name='sourceinfovendor'/>
+ </optional>
+ </interleave>
</element>
</define>
<define name='sourceiscsi'>
<element name='source'>
- <ref name='sourceinfohost'/>
- <ref name='sourceinfodev'/>
- <optional>
- <ref name='initiatorinfo'/>
- </optional>
- <optional>
- <ref name='sourceinfoauth'/>
- </optional>
- <optional>
- <ref name='sourceinfovendor'/>
- </optional>
+ <interleave>
+ <ref name='sourceinfohost'/>
+ <ref name='sourceinfodev'/>
+ <optional>
+ <ref name='initiatorinfo'/>
+ </optional>
+ <optional>
+ <ref name='sourceinfoauth'/>
+ </optional>
+ <optional>
+ <ref name='sourceinfovendor'/>
+ </optional>
+ </interleave>
</element>
</define>
<define name='sourcescsi'>
<element name='source'>
- <ref name='sourceinfoadapter'/>
- <optional>
- <ref name='sourceinfovendor'/>
- </optional>
+ <interleave>
+ <ref name='sourceinfoadapter'/>
+ <optional>
+ <ref name='sourceinfovendor'/>
+ </optional>
+ </interleave>
</element>
</define>
<define name='sourcerbd'>
<element name='source'>
- <ref name='sourceinfoname'/>
- <ref name='sourceinfohost'/>
- <optional>
- <ref name='sourceinfoauth'/>
- </optional>
+ <interleave>
+ <ref name='sourceinfoname'/>
+ <ref name='sourceinfohost'/>
+ <optional>
+ <ref name='sourceinfoauth'/>
+ </optional>
+ </interleave>
</element>
</define>
<define name='sourcesheepdog'>
<element name='source'>
- <ref name='sourceinfohost'/>
- <ref name='sourceinfoname'/>
+ <interleave>
+ <ref name='sourceinfohost'/>
+ <ref name='sourceinfoname'/>
+ </interleave>
</element>
</define>