It's long enough to have a independant definition.
---
docs/schemas/domaincommon.rng | 93 +++++++++++++++++++++--------------------
1 files changed, 48 insertions(+), 45 deletions(-)
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 049f232..87653ce 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -1075,51 +1075,7 @@
<interleave>
<optional>
<element name="source">
- <attribute name="protocol">
- <choice>
- <value>nbd</value>
- <value>rbd</value>
- <value>sheepdog</value>
- <value>gluster</value>
- </choice>
- </attribute>
- <optional>
- <attribute name="name"/>
- </optional>
- <zeroOrMore>
- <element name="host">
- <choice>
- <group>
- <optional>
- <attribute name="transport">
- <choice>
- <value>tcp</value>
- <value>rdma</value>
- </choice>
- </attribute>
- </optional>
- <attribute name="name">
- <choice>
- <ref name="dnsName"/>
- <ref name="ipAddr"/>
- </choice>
- </attribute>
- <attribute name="port">
- <ref name="unsignedInt"/>
- </attribute>
- </group>
- <group>
- <attribute name="transport">
- <value>unix</value>
- </attribute>
- <attribute name="socket">
- <ref name="absFilePath"/>
- </attribute>
- </group>
- </choice>
- </element>
- </zeroOrMore>
- <empty/>
+ <ref name='diskSourceNetwork'/>
</element>
</optional>
<ref name="diskspec"/>
@@ -1129,6 +1085,53 @@
</choice>
</element>
</define>
+ <define name="diskSourceNetwork">
+ <attribute name="protocol">
+ <choice>
+ <value>nbd</value>
+ <value>rbd</value>
+ <value>sheepdog</value>
+ <value>gluster</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="name"/>
+ </optional>
+ <zeroOrMore>
+ <element name="host">
+ <choice>
+ <group>
+ <optional>
+ <attribute name="transport">
+ <choice>
+ <value>tcp</value>
+ <value>rdma</value>
+ </choice>
+ </attribute>
+ </optional>
+ <attribute name="name">
+ <choice>
+ <ref name="dnsName"/>
+ <ref name="ipAddr"/>
+ </choice>
+ </attribute>
+ <attribute name="port">
+ <ref name="unsignedInt"/>
+ </attribute>
+ </group>
+ <group>
+ <attribute name="transport">
+ <value>unix</value>
+ </attribute>
+ <attribute name="socket">
+ <ref name="absFilePath"/>
+ </attribute>
+ </group>
+ </choice>
+ </element>
+ </zeroOrMore>
+ <empty/>
+ </define>
<define name="diskTarget">
<data type="string">
<param
name="pattern">(ioemu:)?(fd|hd|sd|vd|xvd|ubd)[a-zA-Z0-9_]+</param>
--
1.7.7.6