[elbe-devel] [PATCH] schema: use all instead of sequence
John Ogness
john.ogness at linutronix.de
Fri Jul 20 14:24:04 CEST 2018
On 2018-07-12, Manuel Traut <manut at linutronix.de> wrote:
> 'sequence' requires that each element appears multiple times or
> not at all and cares on ordering of the elements. It also eases coding.
> E.g. 'chg_archive' should insert the 'archive' on the correct position.
> However the source-code always appends it to the end. That might lead to
> validation errors, if there is another element before.
>
> The ordering is not required by the elbe source code the parses the XML
> for most cases and it's easier for humans if there is no required ordering
> of the elements.
>
> However, 'all' requires that each element appears only once or doesn't occure
> at all. So it can't be used in all places that uses 'sequence' currently.
> However in most places it is fine to use 'all' instead of 'sequence'.
>
> This fixes issue #68 on github.
>
> Signed-off-by: Manuel Traut <manut at linutronix.de>
Reviewed-by: John Ogness <john.ogness at linutronix.de>
> ---
> schema/dbsfed.xsd | 72 +++++++++++++++++++++++------------------------
> 1 file changed, 36 insertions(+), 36 deletions(-)
>
> diff --git a/schema/dbsfed.xsd b/schema/dbsfed.xsd
> index 4161ee0e..3e1d3157 100644
> --- a/schema/dbsfed.xsd
> +++ b/schema/dbsfed.xsd
> @@ -23,7 +23,7 @@
> includes all subelements to define the elbe project
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="initvm" type="rfs:initvm" minOccurs="0">
> <annotation>
> <documentation>
> @@ -113,7 +113,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute name="created" type="dateTime">
> <annotation>
> <documentation>
> @@ -176,7 +176,7 @@
> links to one additional debian mirror
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="binary" type="rfs:binary-url" minOccurs="0">
> <annotation>
> <documentation>
> @@ -198,7 +198,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute ref="xml:base"/>
> </complexType>
>
> @@ -226,7 +226,7 @@
> specify main and additional debian mirrors
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="primary_host" type="rfs:string" minOccurs="0" maxOccurs="1">
> <annotation>
> <documentation>
> @@ -273,7 +273,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute ref="xml:base"/>
> </complexType>
>
> @@ -283,7 +283,7 @@
> describes settings that apply to the creation of the initvm
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="buildtype" type="rfs:string" minOccurs="0" maxOccurs="1">
> <annotation>
> <documentation>
> @@ -373,7 +373,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute ref="xml:base"/>
> </complexType>
>
> @@ -507,7 +507,7 @@
> definition of the build environment
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="arch" type="rfs:string" minOccurs="0" maxOccurs="1">
> <annotation>
> <documentation>
> @@ -590,7 +590,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute ref="xml:base"/>
> </complexType>
>
> @@ -625,7 +625,7 @@
> describes a virtual network interface
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="model" type="rfs:string" minOccurs="0" maxOccurs="1">
> <annotation>
> <documentation>
> @@ -640,7 +640,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute ref="xml:base"/>
> </complexType>
>
> @@ -675,7 +675,7 @@
> forward a network port from the build environment to the host machine
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="proto" type="rfs:fw_proto" minOccurs="1" maxOccurs="1">
> <annotation>
> <documentation>
> @@ -697,7 +697,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute ref="xml:base"/>
> </complexType>
>
> @@ -725,7 +725,7 @@
> configuration of the target rootfilesystem
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="hostname" type="rfs:string" minOccurs="1" maxOccurs="1">
> <annotation>
> <documentation>
> @@ -836,7 +836,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute ref="xml:base"/>
> </complexType>
>
> @@ -871,7 +871,7 @@
> describes a ubi volume
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="type" type="rfs:ubi_type" minOccurs="1" maxOccurs="1">
> <annotation>
> <documentation>
> @@ -918,7 +918,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute ref="xml:base"/>
> </complexType>
>
> @@ -991,7 +991,7 @@
> describes a mtd device
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="name" type="rfs:string" minOccurs="1" maxOccurs="1">
> <annotation>
> <documentation>
> @@ -1030,7 +1030,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute ref="xml:base"/>
> </complexType>
>
> @@ -1208,7 +1208,7 @@
> description of a linux filesystem
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="type" type="rfs:fs_type" minOccurs="1" maxOccurs="1">
> <annotation>
> <documentation>
> @@ -1237,7 +1237,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute ref="xml:base"/>
> </complexType>
>
> @@ -1247,7 +1247,7 @@
> mount storage by the label of the partition or volume
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="label" type="rfs:string" minOccurs="1" maxOccurs="1">
> <annotation>
> <documentation>
> @@ -1285,7 +1285,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute ref="xml:base"/>
> </complexType>
>
> @@ -1295,7 +1295,7 @@
> mount virtual filesystems or other storage devices device-node
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="source" type="rfs:string" minOccurs="1" maxOccurs="1">
> <annotation>
> <documentation>
> @@ -1325,7 +1325,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute ref="xml:base"/>
> </complexType>
>
> @@ -1361,7 +1361,7 @@
> list of packages, each contains the hole rootfilesystem
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="tar" type="rfs:tar" minOccurs="0">
> <annotation>
> <documentation>
> @@ -1383,7 +1383,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute ref="xml:base"/>
> </complexType>
>
> @@ -1393,7 +1393,7 @@
> describes a tar package
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="name" type="rfs:string" minOccurs="0">
> <annotation>
> <documentation>
> @@ -1408,7 +1408,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute ref="xml:base"/>
> </complexType>
>
> @@ -1418,7 +1418,7 @@
> describes a cpio package
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="name" type="rfs:string" minOccurs="0">
> <annotation>
> <documentation>
> @@ -1426,7 +1426,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute ref="xml:base"/>
> </complexType>
>
> @@ -1436,7 +1436,7 @@
> describes a squashfs image
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="name" type="rfs:string" minOccurs="0">
> <annotation>
> <documentation>
> @@ -1444,7 +1444,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute ref="xml:base"/>
> </complexType>
>
> @@ -1454,7 +1454,7 @@
> describes a partition of a harddisk
> </documentation>
> </annotation>
> - <sequence>
> + <all>
> <element name="size" type="rfs:part_size">
> <annotation>
> <documentation>
> @@ -1484,7 +1484,7 @@
> </documentation>
> </annotation>
> </element>
> - </sequence>
> + </all>
> <attribute ref="xml:base"/>
> </complexType>
More information about the elbe-devel
mailing list