[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gentoo-dev
Subject:    [gentoo-dev] [PATCH 1/2] metadata.xsd: Use xs:language for lang attributes
From:       Ulrich Müller <ulm () gentoo ! org>
Date:       2022-05-22 5:34:07
Message-ID: 20220522053408.16960-1-ulm () gentoo ! org
[Download RAW message or body]

Use a build-in datatype of XML Schema instead of hand-crafting our own.

Bug: https://bugs.gentoo.org/578294
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
 metadata.xsd | 224 ++-------------------------------------------------
 1 file changed, 6 insertions(+), 218 deletions(-)

diff --git a/metadata.xsd b/metadata.xsd
index 1a86051..40e230e 100644
--- a/metadata.xsd
+++ b/metadata.xsd
@@ -170,7 +170,7 @@
 	<xs:complexType name='maintainerDescType'>
 		<xs:simpleContent>
 			<xs:extension base="xs:token">
-				<xs:attribute name='lang' type='langAttrType' default='en'/>
+				<xs:attribute name='lang' type='xs:language' default='en'/>
 			</xs:extension>
 		</xs:simpleContent>
 	</xs:complexType>
@@ -181,7 +181,7 @@
 			<xs:element name='pkg' type='pkgType'/>
 			<xs:element name='cat' type='catType'/>
 		</xs:choice>
-		<xs:attribute name='lang' type='langAttrType' default='en'/>
+		<xs:attribute name='lang' type='xs:language' default='en'/>
 		<xs:attribute name='restrict' type='restrictAttrType' default=''/>
 	</xs:complexType>
 
@@ -190,7 +190,7 @@
 			<xs:element name='pkg' type='pkgType'/>
 			<xs:element name='cat' type='catType'/>
 		</xs:choice>
-		<xs:attribute name='lang' type='langAttrType' default='en'/>
+		<xs:attribute name='lang' type='xs:language' default='en'/>
 	</xs:complexType>
 
 	<!-- slots -->
@@ -199,7 +199,7 @@
 			<xs:element name='slot' type='slotType'/>
 			<xs:element name='subslots' type='tokenOnceType'/>
 		</xs:choice>
-		<xs:attribute name='lang' type='langAttrType' default='en'/>
+		<xs:attribute name='lang' type='xs:language' default='en'/>
 	</xs:complexType>
 
 	<xs:complexType name='slotType'>
@@ -229,7 +229,7 @@
 		<xs:choice minOccurs='0' maxOccurs='unbounded'>
 			<xs:element name='flag' type='flagType'/>
 		</xs:choice>
-		<xs:attribute name='lang' type='langAttrType' default='en'/>
+		<xs:attribute name='lang' type='xs:language' default='en'/>
 	</xs:complexType>
 
 	<xs:complexType name='flagType' mixed='true'>
@@ -254,7 +254,7 @@
 	<xs:complexType name='upstreamDocType'>
 		<xs:simpleContent>
 			<xs:extension base="urlType">
-				<xs:attribute name='lang' type='langAttrType' default='en'/>
+				<xs:attribute name='lang' type='xs:language' default='en'/>
 			</xs:extension>
 		</xs:simpleContent>
 	</xs:complexType>
@@ -313,218 +313,6 @@
 	</xs:simpleType>
 
 	<!-- common attributes -->
-	<xs:simpleType name='langAttrType'>
-		<xs:restriction base='xs:token'>
-			<!-- ISO 639-1 language codes -->
-			<xs:enumeration value='aa'/>
-			<xs:enumeration value='ab'/>
-			<xs:enumeration value='ae'/>
-			<xs:enumeration value='af'/>
-			<xs:enumeration value='ak'/>
-			<xs:enumeration value='am'/>
-			<xs:enumeration value='an'/>
-			<xs:enumeration value='ar'/>
-			<xs:enumeration value='as'/>
-			<xs:enumeration value='av'/>
-			<xs:enumeration value='ay'/>
-			<xs:enumeration value='az'/>
-			<xs:enumeration value='ba'/>
-			<xs:enumeration value='be'/>
-			<xs:enumeration value='bg'/>
-			<xs:enumeration value='bh'/>
-			<xs:enumeration value='bi'/>
-			<xs:enumeration value='bm'/>
-			<xs:enumeration value='bn'/>
-			<xs:enumeration value='bo'/>
-			<xs:enumeration value='bo'/>
-			<xs:enumeration value='br'/>
-			<xs:enumeration value='bs'/>
-			<xs:enumeration value='ca'/>
-			<xs:enumeration value='ce'/>
-			<xs:enumeration value='ch'/>
-			<xs:enumeration value='co'/>
-			<xs:enumeration value='cr'/>
-			<xs:enumeration value='cs'/>
-			<xs:enumeration value='cs'/>
-			<xs:enumeration value='cu'/>
-			<xs:enumeration value='cv'/>
-			<xs:enumeration value='cy'/>
-			<xs:enumeration value='cy'/>
-			<xs:enumeration value='da'/>
-			<xs:enumeration value='de'/>
-			<xs:enumeration value='de'/>
-			<xs:enumeration value='dv'/>
-			<xs:enumeration value='dz'/>
-			<xs:enumeration value='ee'/>
-			<xs:enumeration value='el'/>
-			<xs:enumeration value='el'/>
-			<xs:enumeration value='en'/>
-			<xs:enumeration value='eo'/>
-			<xs:enumeration value='es'/>
-			<xs:enumeration value='et'/>
-			<xs:enumeration value='eu'/>
-			<xs:enumeration value='eu'/>
-			<xs:enumeration value='fa'/>
-			<xs:enumeration value='fa'/>
-			<xs:enumeration value='ff'/>
-			<xs:enumeration value='fi'/>
-			<xs:enumeration value='fj'/>
-			<xs:enumeration value='fo'/>
-			<xs:enumeration value='fr'/>
-			<xs:enumeration value='fr'/>
-			<xs:enumeration value='fy'/>
-			<xs:enumeration value='ga'/>
-			<xs:enumeration value='ga'/>
-			<xs:enumeration value='Ga'/>
-			<xs:enumeration value='gd'/>
-			<xs:enumeration value='gl'/>
-			<xs:enumeration value='gn'/>
-			<xs:enumeration value='gu'/>
-			<xs:enumeration value='gv'/>
-			<xs:enumeration value='ha'/>
-			<xs:enumeration value='he'/>
-			<xs:enumeration value='hi'/>
-			<xs:enumeration value='ho'/>
-			<xs:enumeration value='hr'/>
-			<xs:enumeration value='ht'/>
-			<xs:enumeration value='hu'/>
-			<xs:enumeration value='hy'/>
-			<xs:enumeration value='hy'/>
-			<xs:enumeration value='hz'/>
-			<xs:enumeration value='ia'/>
-			<xs:enumeration value='id'/>
-			<xs:enumeration value='ie'/>
-			<xs:enumeration value='ig'/>
-			<xs:enumeration value='ii'/>
-			<xs:enumeration value='ik'/>
-			<xs:enumeration value='io'/>
-			<xs:enumeration value='is'/>
-			<xs:enumeration value='is'/>
-			<xs:enumeration value='it'/>
-			<xs:enumeration value='iu'/>
-			<xs:enumeration value='ja'/>
-			<xs:enumeration value='jv'/>
-			<xs:enumeration value='ka'/>
-			<xs:enumeration value='ka'/>
-			<xs:enumeration value='kg'/>
-			<xs:enumeration value='ki'/>
-			<xs:enumeration value='kj'/>
-			<xs:enumeration value='kk'/>
-			<xs:enumeration value='kl'/>
-			<xs:enumeration value='km'/>
-			<xs:enumeration value='kn'/>
-			<xs:enumeration value='ko'/>
-			<xs:enumeration value='kr'/>
-			<xs:enumeration value='ks'/>
-			<xs:enumeration value='ku'/>
-			<xs:enumeration value='kv'/>
-			<xs:enumeration value='kw'/>
-			<xs:enumeration value='ky'/>
-			<xs:enumeration value='la'/>
-			<xs:enumeration value='lb'/>
-			<xs:enumeration value='lg'/>
-			<xs:enumeration value='li'/>
-			<xs:enumeration value='ln'/>
-			<xs:enumeration value='lo'/>
-			<xs:enumeration value='lt'/>
-			<xs:enumeration value='lu'/>
-			<xs:enumeration value='lv'/>
-			<xs:enumeration value='mg'/>
-			<xs:enumeration value='mh'/>
-			<xs:enumeration value='mi'/>
-			<xs:enumeration value='mi'/>
-			<xs:enumeration value='mk'/>
-			<xs:enumeration value='mk'/>
-			<xs:enumeration value='ml'/>
-			<xs:enumeration value='mn'/>
-			<xs:enumeration value='mr'/>
-			<xs:enumeration value='ms'/>
-			<xs:enumeration value='ms'/>
-			<xs:enumeration value='mt'/>
-			<xs:enumeration value='my'/>
-			<xs:enumeration value='my'/>
-			<xs:enumeration value='na'/>
-			<xs:enumeration value='nb'/>
-			<xs:enumeration value='nd'/>
-			<xs:enumeration value='ne'/>
-			<xs:enumeration value='ng'/>
-			<xs:enumeration value='nl'/>
-			<xs:enumeration value='nl'/>
-			<xs:enumeration value='nn'/>
-			<xs:enumeration value='no'/>
-			<xs:enumeration value='nr'/>
-			<xs:enumeration value='nv'/>
-			<xs:enumeration value='ny'/>
-			<xs:enumeration value='oc'/>
-			<xs:enumeration value='oj'/>
-			<xs:enumeration value='om'/>
-			<xs:enumeration value='or'/>
-			<xs:enumeration value='os'/>
-			<xs:enumeration value='pa'/>
-			<xs:enumeration value='pi'/>
-			<xs:enumeration value='pl'/>
-			<xs:enumeration value='ps'/>
-			<xs:enumeration value='pt'/>
-			<xs:enumeration value='qu'/>
-			<xs:enumeration value='rm'/>
-			<xs:enumeration value='rn'/>
-			<xs:enumeration value='ro'/>
-			<xs:enumeration value='ro'/>
-			<xs:enumeration value='ru'/>
-			<xs:enumeration value='rw'/>
-			<xs:enumeration value='sa'/>
-			<xs:enumeration value='sc'/>
-			<xs:enumeration value='sd'/>
-			<xs:enumeration value='se'/>
-			<xs:enumeration value='sg'/>
-			<xs:enumeration value='si'/>
-			<xs:enumeration value='sk'/>
-			<xs:enumeration value='sk'/>
-			<xs:enumeration value='sl'/>
-			<xs:enumeration value='sm'/>
-			<xs:enumeration value='sn'/>
-			<xs:enumeration value='so'/>
-			<xs:enumeration value='sq'/>
-			<xs:enumeration value='sq'/>
-			<xs:enumeration value='sr'/>
-			<xs:enumeration value='ss'/>
-			<xs:enumeration value='st'/>
-			<xs:enumeration value='su'/>
-			<xs:enumeration value='sv'/>
-			<xs:enumeration value='sw'/>
-			<xs:enumeration value='ta'/>
-			<xs:enumeration value='te'/>
-			<xs:enumeration value='tg'/>
-			<xs:enumeration value='th'/>
-			<xs:enumeration value='ti'/>
-			<xs:enumeration value='tk'/>
-			<xs:enumeration value='tl'/>
-			<xs:enumeration value='tn'/>
-			<xs:enumeration value='to'/>
-			<xs:enumeration value='tr'/>
-			<xs:enumeration value='ts'/>
-			<xs:enumeration value='tt'/>
-			<xs:enumeration value='tw'/>
-			<xs:enumeration value='ty'/>
-			<xs:enumeration value='ug'/>
-			<xs:enumeration value='uk'/>
-			<xs:enumeration value='ur'/>
-			<xs:enumeration value='uz'/>
-			<xs:enumeration value='ve'/>
-			<xs:enumeration value='vi'/>
-			<xs:enumeration value='vo'/>
-			<xs:enumeration value='wa'/>
-			<xs:enumeration value='wo'/>
-			<xs:enumeration value='xh'/>
-			<xs:enumeration value='yi'/>
-			<xs:enumeration value='yo'/>
-			<xs:enumeration value='za'/>
-			<xs:enumeration value='zh'/>
-			<xs:enumeration value='zh'/>
-			<xs:enumeration value='zu'/>
-		</xs:restriction>
-	</xs:simpleType>
-
 	<xs:simpleType name='restrictAttrType'>
 		<xs:restriction base='xs:token'>
 			<!-- simplified package dependency syntax -->
-- 
2.35.1


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic