diff options
author | 2016-03-18 23:38:40 +0100 | |
---|---|---|
committer | 2016-03-18 23:38:40 +0100 | |
commit | 6d11d70eda433370086742e3d8bedb5b54a2cb55 (patch) | |
tree | bb52ef3d746a99f871757a8cc8aff94adeb6b905 | |
parent | repositories: Copy allowed languages over (diff) | |
download | xml-schema-6d11d70eda433370086742e3d8bedb5b54a2cb55.tar.gz xml-schema-6d11d70eda433370086742e3d8bedb5b54a2cb55.tar.bz2 xml-schema-6d11d70eda433370086742e3d8bedb5b54a2cb55.zip |
projects: Allow multi-language descriptions
-rw-r--r-- | projects.xsd | 225 |
1 files changed, 224 insertions, 1 deletions
diff --git a/projects.xsd b/projects.xsd index e6f778b..4446a71 100644 --- a/projects.xsd +++ b/projects.xsd @@ -25,6 +25,10 @@ <xs:selector xpath='project'/> <xs:field xpath='url'/> </xs:key> + <xs:unique name='descUniquityConstraint'> + <xs:selector xpath='description'/> + <xs:field xpath='@lang'/> + </xs:unique> </xs:element> <xs:complexType name='projectType'> @@ -32,12 +36,20 @@ <xs:element name='email' type='emailType'/> <xs:element name='name' type='xs:token'/> <xs:element name='url' type='urlType'/> - <xs:element name='description' type='xs:token'/> + <xs:element name='description' type='descriptionType'/> <xs:element name='subproject' type='subprojectType'/> <xs:element name='member' type='memberType'/> </xs:choice> </xs:complexType> + <xs:complexType name='descriptionType'> + <xs:simpleContent> + <xs:extension base='xs:token'> + <xs:attribute name='lang' type='langAttrType' default='en'/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:complexType name='subprojectType'> <xs:attribute name='inherit-members' type='numericBoolType'/> <xs:attribute name='ref' type='projectRefType'/> @@ -60,6 +72,217 @@ <xs:attribute name='is-lead' type='numericBoolType'/> </xs:complexType> + <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> + <!-- generic types --> <xs:simpleType name='emailType'> <xs:restriction base='xs:token'> |