# Copyright © 2026 Unicode, Inc. default namespace ucd = "http://www.unicode.org/ns/2003/ucd/1.0" # default; datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes" single-code-point = xsd:string { pattern = "(|[1-9A-F]|(10))[0-9A-F]{4}" } one-or-more-code-points = list { single-code-point + } zero-or-more-code-points = list { single-code-point * } two-code-points = list { single-code-point, single-code-point } start = element ucd { ucd.content } boolean = "Y" | "N" ucd.content &= element description { text }? ucd.content &= element repertoire { (code-point | group) + }? set-of-code-points = attribute cp { single-code-point } | ( attribute first-cp { single-code-point }, attribute last-cp { single-code-point } ) code-point |= element reserved { set-of-code-points, code-point-attributes } code-point |= element noncharacter { set-of-code-points, code-point-attributes } code-point |= element surrogate { set-of-code-points, code-point-attributes } code-point |= element char { set-of-code-points, code-point-attributes } group = element group { code-point-attributes, code-point* } code-point-attributes &= attribute age { "1.1" | "2.0" | "2.1" | "3.0" | "3.1" | "3.2" | "4.0" | "4.1" | "5.0" | "5.1" | "5.2" | "6.0" | "6.1" | "6.2" | "6.3" | "7.0" | "8.0" | "9.0" | "10.0" | "11.0" | "12.0" | "12.1" | "13.0" | "14.0" | "15.0" | "15.1" | "16.0" | "17.0" | "18.0" | "unassigned" }? code-point-attributes &= attribute na { "" | "CJK UNIFIED IDEOGRAPH-#" | "CJK COMPATIBILITY IDEOGRAPH-#" | "EGYPTIAN HIEROGLYPH-#" | "TANGUT IDEOGRAPH-#" | "KHITAN SMALL SCRIPT CHARACTER-#" | "NUSHU CHARACTER-#" | "SMALL SEAL CHARACTER-#" | "JURCHEN CHARACTER-#" | xsd:string { pattern="[a-zA-Z0-9]+(( -|- |[\-_ ])[a-zA-Z0-9]+)*" } }? code-point-attributes &= attribute na1 { "" | xsd:string { pattern="[a-zA-Z0-9]+([\-_ ][a-zA-Z0-9]+)*( \(.*\))?" } }? code-point-attributes &= element name-alias { attribute alias { xsd:string { pattern="[a-zA-Z0-9]+(( -|- |[\-_ ])[a-zA-Z0-9]+)*" } }?, attribute type { "abbreviation" | "alternate" | "control" | "correction" | "figment" }? } * code-point-attributes &= attribute blk { "Adlam" | "Aegean_Numbers" | "Ahom" | "Alchemical" | "Alphabetic_PF" | "Anatolian_Hieroglyphs" | "Ancient_Greek_Music" | "Ancient_Greek_Numbers" | "Ancient_Symbols" | "Arabic" | "Arabic_Ext_A" | "Arabic_Ext_B" | "Arabic_Ext_C" | "Arabic_Math" | "Arabic_PF_A" | "Arabic_PF_B" | "Arabic_Sup" | "Archaic_Cuneiform_Numerals" | "Armenian" | "Arrows" | "ASCII" | "Avestan" | "Balinese" | "Bamum" | "Bamum_Sup" | "Bassa_Vah" | "Batak" | "Bengali" | "Bengali_Sup" | "Beria_Erfe" | "Bhaiksuki" | "Block_Elements" | "Bopomofo" | "Bopomofo_Ext" | "Box_Drawing" | "Brahmi" | "Braille" | "Buginese" | "Buhid" | "Byzantine_Music" | "Carian" | "Caucasian_Albanian" | "Chakma" | "Cham" | "Cherokee" | "Cherokee_Sup" | "Chess_Symbols" | "Chorasmian" | "CJK" | "CJK_Compat" | "CJK_Compat_Forms" | "CJK_Compat_Ideographs" | "CJK_Compat_Ideographs_Sup" | "CJK_Ext_A" | "CJK_Ext_B" | "CJK_Ext_C" | "CJK_Ext_D" | "CJK_Ext_E" | "CJK_Ext_F" | "CJK_Ext_G" | "CJK_Ext_H" | "CJK_Ext_I" | "CJK_Ext_J" | "CJK_Radicals_Sup" | "CJK_Strokes" | "CJK_Symbols" | "Compat_Jamo" | "Control_Pictures" | "Coptic" | "Coptic_Epact_Numbers" | "Counting_Rod" | "Cuneiform" | "Cuneiform_Numbers" | "Currency_Symbols" | "Cypriot_Syllabary" | "Cypro_Minoan" | "Cyrillic" | "Cyrillic_Ext_A" | "Cyrillic_Ext_B" | "Cyrillic_Ext_C" | "Cyrillic_Ext_D" | "Cyrillic_Sup" | "Deseret" | "Devanagari" | "Devanagari_Ext" | "Devanagari_Ext_A" | "Diacriticals" | "Diacriticals_Ext" | "Diacriticals_For_Symbols" | "Diacriticals_Sup" | "Dingbats" | "Dives_Akuru" | "Dogra" | "Domino" | "Duployan" | "Early_Dynastic_Cuneiform" | "Egyptian_Hieroglyph_Format_Controls" | "Egyptian_Hieroglyphs" | "Egyptian_Hieroglyphs_Ext_A" | "Elbasan" | "Elymaic" | "Emoticons" | "Enclosed_Alphanum" | "Enclosed_Alphanum_Sup" | "Enclosed_CJK" | "Enclosed_Ideographic_Sup" | "Ethiopic" | "Ethiopic_Ext" | "Ethiopic_Ext_A" | "Ethiopic_Ext_B" | "Ethiopic_Sup" | "Garay" | "Geometric_Shapes" | "Geometric_Shapes_Ext" | "Georgian" | "Georgian_Ext" | "Georgian_Sup" | "Glagolitic" | "Glagolitic_Sup" | "Gothic" | "Grantha" | "Greek" | "Greek_Ext" | "Gujarati" | "Gunjala_Gondi" | "Gurmukhi" | "Gurung_Khema" | "Half_And_Full_Forms" | "Half_Marks" | "Hangul" | "Hanifi_Rohingya" | "Hanunoo" | "Hatran" | "Hebrew" | "High_PU_Surrogates" | "High_Surrogates" | "Hiragana" | "IDC" | "Ideographic_Symbols" | "Imperial_Aramaic" | "Indic_Number_Forms" | "Indic_Siyaq_Numbers" | "Inscriptional_Pahlavi" | "Inscriptional_Parthian" | "IPA_Ext" | "Jamo" | "Jamo_Ext_A" | "Jamo_Ext_B" | "Javanese" | "Jurchen" | "Jurchen_Radicals" | "Kaithi" | "Kaktovik_Numerals" | "Kana_Ext_A" | "Kana_Ext_B" | "Kana_Sup" | "Kanbun" | "Kangxi" | "Kannada" | "Katakana" | "Katakana_Ext" | "Kawi" | "Kayah_Li" | "Kharoshthi" | "Khitan_Small_Script" | "Khmer" | "Khmer_Symbols" | "Khojki" | "Khudawadi" | "Kirat_Rai" | "Lao" | "Latin_1_Sup" | "Latin_Ext_A" | "Latin_Ext_Additional" | "Latin_Ext_B" | "Latin_Ext_C" | "Latin_Ext_D" | "Latin_Ext_E" | "Latin_Ext_F" | "Latin_Ext_G" | "Lepcha" | "Letterlike_Symbols" | "Limbu" | "Linear_A" | "Linear_B_Ideograms" | "Linear_B_Syllabary" | "Lisu" | "Lisu_Sup" | "Low_Surrogates" | "Lycian" | "Lydian" | "Mahajani" | "Mahjong" | "Makasar" | "Malayalam" | "Mandaic" | "Manichaean" | "Marchen" | "Masaram_Gondi" | "Math_Alphanum" | "Math_Operators" | "Mayan_Numerals" | "Medefaidrin" | "Meetei_Mayek" | "Meetei_Mayek_Ext" | "Mende_Kikakui" | "Meroitic_Cursive" | "Meroitic_Hieroglyphs" | "Miao" | "Misc_Arrows" | "Misc_Arrows_Ext" | "Misc_Math_Symbols_A" | "Misc_Math_Symbols_B" | "Misc_Pictographs" | "Misc_Symbols" | "Misc_Symbols_Sup" | "Misc_Technical" | "Modi" | "Modifier_Letters" | "Modifier_Tone_Letters" | "Mongolian" | "Mongolian_Sup" | "Mro" | "Multani" | "Music" | "Music_Sup" | "Myanmar" | "Myanmar_Ext_A" | "Myanmar_Ext_B" | "Myanmar_Ext_C" | "Nabataean" | "Nag_Mundari" | "Nandinagari" | "NB" | "New_Tai_Lue" | "Newa" | "NKo" | "Number_Forms" | "Nushu" | "Nyiakeng_Puachue_Hmong" | "OCR" | "Ogham" | "Ol_Chiki" | "Ol_Onal" | "Old_Hungarian" | "Old_Italic" | "Old_North_Arabian" | "Old_Permic" | "Old_Persian" | "Old_Sogdian" | "Old_South_Arabian" | "Old_Turkic" | "Old_Uyghur" | "Oriya" | "Ornamental_Dingbats" | "Osage" | "Osmanya" | "Ottoman_Siyaq_Numbers" | "Pahawh_Hmong" | "Palmyrene" | "Pau_Cin_Hau" | "Phags_Pa" | "Phaistos" | "Phoenician" | "Phonetic_Ext" | "Phonetic_Ext_Sup" | "Playing_Cards" | "Psalter_Pahlavi" | "PUA" | "Punctuation" | "Rejang" | "Rumi" | "Runic" | "Samaritan" | "Saurashtra" | "Seal" | "Sharada" | "Sharada_Sup" | "Shavian" | "Shorthand_Format_Controls" | "Siddham" | "Sidetic" | "Sinhala" | "Sinhala_Archaic_Numbers" | "Small_Forms" | "Small_Kana_Ext" | "Sogdian" | "Sora_Sompeng" | "Soyombo" | "Specials" | "Sundanese" | "Sundanese_Sup" | "Sunuwar" | "Sup_Arrows_A" | "Sup_Arrows_B" | "Sup_Arrows_C" | "Sup_Math_Operators" | "Sup_PUA_A" | "Sup_PUA_B" | "Sup_Punctuation" | "Sup_Symbols_And_Pictographs" | "Super_And_Sub" | "Sutton_SignWriting" | "Syloti_Nagri" | "Symbols_And_Pictographs_Ext_A" | "Symbols_For_Legacy_Computing" | "Symbols_For_Legacy_Computing_Sup" | "Syriac" | "Syriac_Sup" | "Tagalog" | "Tagbanwa" | "Tags" | "Tai_Le" | "Tai_Tham" | "Tai_Viet" | "Tai_Xuan_Jing" | "Tai_Yo" | "Takri" | "Tamil" | "Tamil_Sup" | "Tangsa" | "Tangut" | "Tangut_Components" | "Tangut_Components_Sup" | "Tangut_Sup" | "Telugu" | "Thaana" | "Thai" | "Tibetan" | "Tifinagh" | "Tirhuta" | "Todhri" | "Tolong_Siki" | "Toto" | "Transport_And_Map" | "Tulu_Tigalari" | "UCAS" | "UCAS_Ext" | "UCAS_Ext_A" | "Ugaritic" | "Vai" | "Vedic_Ext" | "Vertical_Forms" | "Vithkuqi" | "VS" | "VS_Sup" | "Wancho" | "Warang_Citi" | "Yezidi" | "Yi_Radicals" | "Yi_Syllables" | "Yijing" | "Zanabazar_Square" | "Znamenny_Music" }? code-point-attributes &= attribute gc { "Cc" | "Cf" | "Cn" | "Co" | "Cs" | "Ll" | "Lm" | "Lo" | "Lt" | "Lu" | "Mc" | "Me" | "Mn" | "Nd" | "Nl" | "No" | "Pc" | "Pd" | "Pe" | "Pf" | "Pi" | "Po" | "Ps" | "Sc" | "Sk" | "Sm" | "So" | "Zl" | "Zp" | "Zs" }? code-point-attributes &= attribute ccc { xsd:integer { minInclusive="0" maxInclusive="254" } }? code-point-attributes &= attribute bc { "AL" | "AN" | "B" | "BN" | "CS" | "EN" | "ES" | "ET" | "FSI" | "L" | "LRE" | "LRI" | "LRO" | "NSM" | "ON" | "PDF" | "PDI" | "R" | "RLE" | "RLI" | "RLO" | "S" | "WS" }? code-point-attributes &= attribute Bidi_M { boolean }? code-point-attributes &= attribute bmg { "" | single-code-point }? code-point-attributes &= attribute Bidi_C { boolean }? code-point-attributes &= attribute bpt { "o" | "c" | "n" }? code-point-attributes &= attribute bpb { "#" | single-code-point }? code-point-attributes &= attribute dt { "can" | "com" | "enc" | "fin" | "font" | "fra" | "init" | "iso" | "med" | "nar" | "nb" | "sml" | "sqr" | "sub" | "sup" | "vert" | "wide" | "none" }? code-point-attributes &= attribute dm { "#" | zero-or-more-code-points }? code-point-attributes &= attribute CE { boolean }? code-point-attributes &= attribute Comp_Ex { boolean }? code-point-attributes &= attribute NFC_QC { "Y" | "N" | "M" }? code-point-attributes &= attribute NFD_QC { "Y" | "N" }? code-point-attributes &= attribute NFKC_QC { "Y" | "N" | "M" }? code-point-attributes &= attribute NFKD_QC { "Y" | "N" }? code-point-attributes &= attribute nt { "De" | "Di" | "Nu" | "None" }? code-point-attributes &= attribute nv { "NaN" | xsd:string { pattern="-?[0-9]+(/[0-9]+)?" } }? code-point-attributes &= attribute jt { "C" | "D" | "L" | "R" | "T" | "U" }? code-point-attributes &= attribute jg { "African_Feh" | "African_Noon" | "African_Qaf" | "Ain" | "Alaph" | "Alef" | "Beh" | "Beth" | "Burushaski_Yeh_Barree" | "Crown_Ain" | "Crown_Beh" | "Crown_Feh" | "Crown_Hah" | "Crown_Heh" | "Crown_Kaf" | "Crown_Meem" | "Crown_Sad" | "Crown_Seen" | "Crown_Tah" | "Dal" | "Dalath_Rish" | "E" | "Farsi_Yeh" | "Fe" | "Feh" | "Final_Semkath" | "Gaf" | "Gamal" | "Hah" | "Hanifi_Rohingya_Kinna_Ya" | "Hanifi_Rohingya_Pa" | "He" | "Heh" | "Heh_Goal" | "Heth" | "Kaf" | "Kaph" | "Kashmiri_Yeh" | "Khaph" | "Knotted_Heh" | "Lam" | "Lamadh" | "Malayalam_Bha" | "Malayalam_Ja" | "Malayalam_Lla" | "Malayalam_Llla" | "Malayalam_Nga" | "Malayalam_Nna" | "Malayalam_Nnna" | "Malayalam_Nya" | "Malayalam_Ra" | "Malayalam_Ssa" | "Malayalam_Tta" | "Manichaean_Aleph" | "Manichaean_Ayin" | "Manichaean_Beth" | "Manichaean_Daleth" | "Manichaean_Dhamedh" | "Manichaean_Five" | "Manichaean_Gimel" | "Manichaean_Heth" | "Manichaean_Hundred" | "Manichaean_Kaph" | "Manichaean_Lamedh" | "Manichaean_Mem" | "Manichaean_Nun" | "Manichaean_One" | "Manichaean_Pe" | "Manichaean_Qoph" | "Manichaean_Resh" | "Manichaean_Sadhe" | "Manichaean_Samekh" | "Manichaean_Taw" | "Manichaean_Ten" | "Manichaean_Teth" | "Manichaean_Thamedh" | "Manichaean_Twenty" | "Manichaean_Waw" | "Manichaean_Yodh" | "Manichaean_Zayin" | "Meem" | "Mim" | "No_Joining_Group" | "Noon" | "Nun" | "Nya" | "Pe" | "Qaf" | "Qaph" | "Reh" | "Reversed_Pe" | "Rohingya_Yeh" | "Sad" | "Sadhe" | "Seen" | "Semkath" | "Shin" | "Straight_Waw" | "Swash_Kaf" | "Syriac_Waw" | "Tah" | "Taw" | "Teh_Marbuta" | "Teh_Marbuta_Goal" | "Teth" | "Thin_Noon" | "Thin_Yeh" | "Vertical_Tail" | "Waw" | "Yeh" | "Yeh_Barree" | "Yeh_With_Tail" | "Yudh" | "Yudh_He" | "Zain" | "Zhain" | "BAA" | "FA" | "HAA" | "HA_GOAL" | "HA" | "CAF" | "KNOTTED_HA" | "RA" | "SWASH_CAF" | "HAMZAH_ON_HA_GOAL" | "TAA_MARBUTAH" | "YA_BARREE" | "YA" | "ALEF_MAQSURAH" }? code-point-attributes &= attribute Join_C { boolean }? code-point-attributes &= attribute lb { "AI" | "AK" | "AL" | "AP" | "AS" | "B2" | "BA" | "BB" | "BK" | "CB" | "CJ" | "CL" | "CM" | "CP" | "CR" | "EB" | "EM" | "EX" | "GL" | "H2" | "H3" | "HH" | "HL" | "HY" | "ID" | "IN" | "IS" | "JL" | "JT" | "JV" | "LF" | "NL" | "NS" | "NU" | "OP" | "PO" | "PR" | "QU" | "RI" | "SA" | "SG" | "SP" | "SY" | "VF" | "VI" | "WJ" | "XX" | "ZW" | "ZWJ" }? code-point-attributes &= attribute ea { "A" | "F" | "H" | "N" | "Na" | "W" }? code-point-attributes &= attribute Upper { boolean }? code-point-attributes &= attribute Lower { boolean }? code-point-attributes &= attribute OUpper { boolean }? code-point-attributes &= attribute OLower { boolean }? code-point-attributes &= attribute suc { "#" | single-code-point }? code-point-attributes &= attribute slc { "#" | single-code-point }? code-point-attributes &= attribute stc { "#" | single-code-point }? code-point-attributes &= attribute uc { "#" | one-or-more-code-points }? code-point-attributes &= attribute lc { "#" | one-or-more-code-points }? code-point-attributes &= attribute tc { "#" | one-or-more-code-points }? code-point-attributes &= attribute scf { "#" | single-code-point }? code-point-attributes &= attribute cf { "#" | one-or-more-code-points }? code-point-attributes &= attribute CI { boolean }? code-point-attributes &= attribute Cased { boolean }? code-point-attributes &= attribute CWCF { boolean }? code-point-attributes &= attribute CWCM { boolean }? code-point-attributes &= attribute CWL { boolean }? code-point-attributes &= attribute CWKCF { boolean }? code-point-attributes &= attribute CWT { boolean }? code-point-attributes &= attribute CWU { boolean }? code-point-attributes &= attribute NFKC_CF { "#" | zero-or-more-code-points }? code-point-attributes &= attribute NFKC_SCF { "#" | zero-or-more-code-points }? script = "Adlm" | "Aghb" | "Ahom" | "Arab" | "Armi" | "Armn" | "Avst" | "Bali" | "Bamu" | "Bass" | "Batk" | "Beng" | "Berf" | "Bhks" | "Bopo" | "Brah" | "Brai" | "Bugi" | "Buhd" | "Cakm" | "Cans" | "Cari" | "Cham" | "Cher" | "Chrs" | "Copt" | "Cpmn" | "Cprt" | "Cyrl" | "Deva" | "Diak" | "Dogr" | "Dsrt" | "Dupl" | "Egyp" | "Elba" | "Elym" | "Ethi" | "Gara" | "Geor" | "Glag" | "Gong" | "Gonm" | "Goth" | "Gran" | "Grek" | "Gujr" | "Gukh" | "Guru" | "Hang" | "Hani" | "Hano" | "Hatr" | "Hebr" | "Hira" | "Hluw" | "Hmng" | "Hmnp" | "Hrkt" | "Hung" | "Ital" | "Java" | "Jurc" | "Kali" | "Kana" | "Kawi" | "Khar" | "Khmr" | "Khoj" | "Kits" | "Knda" | "Krai" | "Kthi" | "Lana" | "Laoo" | "Latn" | "Lepc" | "Limb" | "Lina" | "Linb" | "Lisu" | "Lyci" | "Lydi" | "Mahj" | "Maka" | "Mand" | "Mani" | "Marc" | "Medf" | "Mend" | "Merc" | "Mero" | "Mlym" | "Modi" | "Mong" | "Mroo" | "Mtei" | "Mult" | "Mymr" | "Nagm" | "Nand" | "Narb" | "Nbat" | "Newa" | "Nkoo" | "Nshu" | "Ogam" | "Olck" | "Onao" | "Orkh" | "Orya" | "Osge" | "Osma" | "Ougr" | "Palm" | "Pauc" | "Pcun" | "Perm" | "Phag" | "Phli" | "Phlp" | "Phnx" | "Plrd" | "Prti" | "Rjng" | "Rohg" | "Runr" | "Samr" | "Sarb" | "Saur" | "Seal" | "Sgnw" | "Shaw" | "Shrd" | "Sidd" | "Sidt" | "Sind" | "Sinh" | "Sogd" | "Sogo" | "Sora" | "Soyo" | "Sund" | "Sunu" | "Sylo" | "Syrc" | "Tagb" | "Takr" | "Tale" | "Talu" | "Taml" | "Tang" | "Tavt" | "Tayo" | "Telu" | "Tfng" | "Tglg" | "Thaa" | "Thai" | "Tibt" | "Tirh" | "Tnsa" | "Todr" | "Tols" | "Toto" | "Tutg" | "Ugar" | "Vaii" | "Vith" | "Wara" | "Wcho" | "Xpeo" | "Xsux" | "Yezi" | "Yiii" | "Zanb" | "Zinh" | "Zyyy" | "Zzzz" code-point-attributes &= attribute sc { script }? code-point-attributes &= attribute scx { list { script + } }? code-point-attributes &= attribute hst { "L" | "LV" | "LVT" | "NA" | "T" | "V" }? code-point-attributes &= attribute JSN { xsd:string { pattern="[A-Z]{0,3}" } }? code-point-attributes &= attribute InSC { "Avagraha" | "Bindu" | "Brahmi_Joining_Number" | "Cantillation_Mark" | "Consonant" | "Consonant_Dead" | "Consonant_Final" | "Consonant_Head_Letter" | "Consonant_Initial_Postfixed" | "Consonant_Killer" | "Consonant_Medial" | "Consonant_Placeholder" | "Consonant_Preceding_Repha" | "Consonant_Prefixed" | "Consonant_Repha" | "Consonant_Subjoined" | "Consonant_Succeeding_Repha" | "Consonant_With_Stacker" | "Gemination_Mark" | "Invisible_Stacker" | "Joiner" | "Modifying_Letter" | "Non_Joiner" | "Nukta" | "Number" | "Number_Joiner" | "Other" | "Pure_Killer" | "Register_Shifter" | "Reordering_Killer" | "Syllable_Modifier" | "Tone_Letter" | "Tone_Mark" | "Virama" | "Visarga" | "Vowel" | "Vowel_Dependent" | "Vowel_Independent" }? code-point-attributes &= attribute InPC { "Bottom" | "Bottom_And_Left" | "Bottom_And_Right" | "Invisible" | "Left" | "Left_And_Right" | "NA" | "Overstruck" | "Right" | "Top" | "Top_And_Bottom" | "Top_And_Bottom_And_Left" | "Top_And_Bottom_And_Right" | "Top_And_Left" | "Top_And_Left_And_Right" | "Top_And_Right" | "Visual_Order_Left" }? code-point-attributes &= attribute InCB { "Consonant" | "Extend" | "Linker" | "None" }? code-point-attributes &= attribute IDS { boolean }? code-point-attributes &= attribute OIDS { boolean }? code-point-attributes &= attribute XIDS { boolean }? code-point-attributes &= attribute IDC { boolean }? code-point-attributes &= attribute OIDC { boolean }? code-point-attributes &= attribute XIDC { boolean }? code-point-attributes &= attribute ID_Compat_Math_Start { boolean }? code-point-attributes &= attribute ID_Compat_Math_Continue { boolean }? code-point-attributes &= attribute Pat_Syn { boolean }? code-point-attributes &= attribute Pat_WS { boolean }? code-point-attributes &= attribute Dash { boolean }? code-point-attributes &= attribute QMark { boolean }? code-point-attributes &= attribute Term { boolean }? code-point-attributes &= attribute STerm { boolean }? code-point-attributes &= attribute Dia { boolean }? code-point-attributes &= attribute Ext { boolean }? code-point-attributes &= attribute SD { boolean }? code-point-attributes &= attribute Alpha { boolean }? code-point-attributes &= attribute OAlpha { boolean }? code-point-attributes &= attribute Math { boolean }? code-point-attributes &= attribute OMath { boolean }? code-point-attributes &= attribute Hex { boolean }? code-point-attributes &= attribute AHex { boolean }? code-point-attributes &= attribute DI { boolean }? code-point-attributes &= attribute ODI { boolean }? code-point-attributes &= attribute LOE { boolean }? code-point-attributes &= attribute PCM { boolean }? code-point-attributes &= attribute MCM { boolean }? code-point-attributes &= attribute WSpace { boolean }? code-point-attributes &= attribute vo { "R" | "Tr" | "Tu" | "U" }? code-point-attributes &= attribute RI { boolean }? code-point-attributes &= attribute Gr_Base { boolean }? code-point-attributes &= attribute Gr_Ext { boolean }? code-point-attributes &= attribute OGr_Ext { boolean }? code-point-attributes &= attribute GCB { "CN" | "CR" | "EB" | "EBG" | "EM" | "EX" | "GAZ" | "L" | "LF" | "LV" | "LVT" | "PP" | "RI" | "SM" | "T" | "V" | "XX" | "ZWJ" }? code-point-attributes &= attribute WB { "CR" | "DQ" | "EB" | "EBG" | "EM" | "EX" | "Extend" | "FO" | "GAZ" | "HL" | "KA" | "LE" | "LF" | "MB" | "ML" | "MN" | "NL" | "NU" | "RI" | "SQ" | "WSegSpace" | "XX" | "ZWJ" }? code-point-attributes &= attribute SB { "AT" | "CL" | "CR" | "EX" | "FO" | "LE" | "LF" | "LO" | "NU" | "SC" | "SE" | "SP" | "ST" | "UP" | "XX" }? code-point-attributes &= attribute Ideo { boolean }? code-point-attributes &= attribute UIdeo { boolean }? code-point-attributes &= attribute EqUIdeo { single-code-point }? code-point-attributes &= attribute IDSB { boolean }? code-point-attributes &= attribute IDST { boolean }? code-point-attributes &= attribute IDSU { boolean }? code-point-attributes &= attribute Radical { boolean }? code-point-attributes &= attribute Dep { boolean }? code-point-attributes &= attribute VS { boolean }? code-point-attributes &= attribute NChar { boolean }? code-point-attributes &= attribute kAccountingNumeric { xsd:string { pattern="\d+" } }? code-point-attributes &= attribute kAlternateTotalStrokes { list { xsd:string { pattern="(\d+:[BGHJKMPSTUV]+)|-" }+ } }? code-point-attributes &= attribute kBigFive { xsd:string { pattern="[0-9A-F]{4}'?" } }? code-point-attributes &= attribute kCangjie { xsd:string { pattern="[A-Z]+" } }? code-point-attributes &= attribute kCantonese { list { xsd:string { pattern="[a-z]{1,6}[1-6]" }+ } }? code-point-attributes &= attribute kCCCII { xsd:string { pattern="[0-9A-F]{6}" } }? code-point-attributes &= attribute kCheungBauer { xsd:string { pattern="\d{3}/\d{2};[A-Z]*;[a-z1-6\[\]/,]+" } }? code-point-attributes &= attribute kCheungBauerIndex { list { xsd:string { pattern="\d{3}\.[01]\d" }+ } }? code-point-attributes &= attribute kCihaiT { list { xsd:string { pattern="[1-9]\d{0,3}\.\d{3}" }+ } }? code-point-attributes &= attribute kCNS1986 { xsd:string { pattern="[12E]-[0-9A-F]{4}" } }? code-point-attributes &= attribute kCNS1992 { xsd:string { pattern="[1-9]-[0-9A-F]{4}" } }? code-point-attributes &= attribute kCompatibilityVariant { "" | xsd:string { pattern="U\+[23]?[0-9A-F]{4}" } }? code-point-attributes &= attribute kCowles { list { xsd:string { pattern="\d{1,4}(\.\d{1,2})?" }+ } }? code-point-attributes &= attribute kDaeJaweon { xsd:string { pattern="\d{4}\.\d{2}[01]" } }? code-point-attributes &= attribute kDefinition { xsd:string { pattern='[^\t"]+' } }? code-point-attributes &= attribute kEACC { xsd:string { pattern="[0-9A-F]{6}" } }? code-point-attributes &= attribute kFanqie { list { xsd:string { pattern="[\x{3400}-\x{4DBF}\x{4E00}-\x{9FFF}\x{20000}-\x{2A6DF}]{2}" }+ } }? code-point-attributes &= attribute kFenn { list { xsd:string { pattern="\d+a?[A-KP*]" }+ } }? code-point-attributes &= attribute kFennIndex { list { xsd:string { pattern="\d{1,3}\.[01]\d" }+ } }? code-point-attributes &= attribute kFourCornerCode { list { xsd:string { pattern="\d{4}(\.\d)?" }+ } }? code-point-attributes &= attribute kGB0 { xsd:string { pattern="\d{4}" } }? code-point-attributes &= attribute kGB1 { xsd:string { pattern="\d{4}" } }? code-point-attributes &= attribute kGB3 { xsd:string { pattern="\d{4}" } }? code-point-attributes &= attribute kGB5 { list { xsd:string { pattern="\d{4}" }+ } }? code-point-attributes &= attribute kGB8 { xsd:string { pattern="\d{4}" } }? code-point-attributes &= attribute kGradeLevel { xsd:string { pattern="[1-6]" } }? code-point-attributes &= attribute kGSR { list { xsd:string { pattern="\d{4}[a-vx-z]'?" }+ } }? code-point-attributes &= attribute kHangul { list { xsd:string { pattern="[\x{1100}-\x{1112}][\x{1161}-\x{1175}][\x{11A8}-\x{11C2}]?:[01ENX]{1,3}" }+ } }? code-point-attributes &= attribute kHanYu { list { xsd:string { pattern="[1-8]\d{4}\.[0-3]\d[0-3]" }+ } }? code-point-attributes &= attribute kHanyuPinlu { list { xsd:string { pattern="[a-z\x{300}-\x{302}\x{304}\x{308}\x{30C}]+\(\d+\)" }+ } }? code-point-attributes &= attribute kHanyuPinyin { list { xsd:string { pattern="(\d{5}\.\d{2}0,)*\d{5}\.\d{2}0:([a-z\x{300}-\x{302}\x{304}\x{308}\x{30C}]+,)*[a-z\x{300}-\x{302}\x{304}\x{308}\x{30C}]+" }+ } }? code-point-attributes &= attribute kHDZRadBreak { xsd:string { pattern="[\x{2F00}-\x{2FD5}]\[U\+2F[0-9A-D][0-9A-F]\]:[1-8]\d{4}\.[0-3]\d0" } }? code-point-attributes &= attribute kHKGlyph { xsd:string { pattern="\d{4}" } }? code-point-attributes &= attribute kIBMJapan { xsd:string { pattern="F[ABC][0-9A-F]{2}" } }? code-point-attributes &= attribute kIICore { xsd:string { pattern="[ABC][GHJKMPT]{1,7}" } }? code-point-attributes &= attribute kIRG_GSource { "" | xsd:string { pattern="G[013578EKS]-[0-9A-F]{4}" } | xsd:string { pattern="G(CH|CY|DZ|GH|RM|WZ|XC|XH|ZH)-\d{4}\.\d{2}" } | xsd:string { pattern="GKX-\d{4}\.\d{2,3}" } | xsd:string { pattern="G(HZ|HZR)-\d{5}\.\d{2}" } | xsd:string { pattern="G(CE|FC|IDC23|OCD|XHZ)-\d{3}" } | xsd:string { pattern="G(H|HF|LGYJ|PGLG|T|ZHSJ)-\d{4}" } | xsd:string { pattern="G(4K|CESI|CYY|DM|GT|JZ|KJ|XM|WY|ZFY|ZJW|ZYS)-\d{5}" } | xsd:string { pattern="G(FZ|IDC)-[0-9A-F]{4}" } | xsd:string { pattern="GCA-[A-Z]\d{4}" } | xsd:string { pattern="GGFZ-\d{6}" } | xsd:string { pattern="G(BK|HC|LK|Z)-\d{7}" } | xsd:string { pattern="GU-[023][0-9A-F]{4}" } | xsd:string { pattern="GZA-[123467]\d{5}" } }? code-point-attributes &= attribute kIRG_HSource { "" | xsd:string { pattern="H-[0-9A-F]{4}" } | xsd:string { pattern="H(B[012])-[0-9A-F]{4}" } | xsd:string { pattern="HD-[23]?[0-9A-F]{4}" } | xsd:string { pattern="HU-[023][0-9A-F]{4}" } }? code-point-attributes &= attribute kIRG_JSource { "" | xsd:string { pattern="J[014]-[0-9A-F]{4}" } | xsd:string { pattern="J3A?-[0-9A-F]{4}" } | xsd:string { pattern="J13A?-[0-9A-F]{4}" } | xsd:string { pattern="J14-[0-9A-F]{4}" } | xsd:string { pattern="JA[34]?-[0-9A-F]{4}" } | xsd:string { pattern="JARIB-[0-9A-F]{4}" } | xsd:string { pattern="JH-(JT[ABC][0-9A-F]{3}S?|IB\d{4}|\d{6})" } | xsd:string { pattern="JK-\d{5}" } | xsd:string { pattern="JMJ-\d{6}" } }? code-point-attributes &= attribute kIRG_KPSource { "" | xsd:string { pattern="KP([01]-[0-9A-F]{4}|U-[023][0-9A-F]{4})" } }? code-point-attributes &= attribute kIRG_KSource { "" | xsd:string { pattern="K[0-6]-[0-9A-F]{4}" } | xsd:string { pattern="KC-\d{5}" } | xsd:string { pattern="KU-[023][0-9A-F]{4}" } }? code-point-attributes &= attribute kIRG_MSource { "" | xsd:string { pattern="MA-[0-9A-F]{4}" } | xsd:string { pattern="MB[12]-[0-9A-F]{4}" } | xsd:string { pattern="MC-\d{5}" } | xsd:string { pattern="MDH?-[23]?[0-9A-F]{4}" } }? code-point-attributes &= attribute kIRG_SSource { "" | xsd:string { pattern="SATM?-\d{5}" } }? code-point-attributes &= attribute kIRG_TSource { "" | xsd:string { pattern="T([1-79A-F]|1[1-3])-[0-9A-F]{4}" } | xsd:string { pattern="TU-[023][0-9A-F]{4}" } }? code-point-attributes &= attribute kIRG_UKSource { "" | xsd:string { pattern="UK-\d{5}" } }? code-point-attributes &= attribute kIRG_USource { "" | xsd:string { pattern="UTC-\d{5}" } }? code-point-attributes &= attribute kIRG_VSource { "" | xsd:string { pattern="V[0-4]-[0-9A-F]{4}" } | xsd:string { pattern="VN-[023F][0-9A-F]{4}" } }? code-point-attributes &= attribute kIRGHanyuDaZidian { xsd:string { pattern="[1-8]\d{4}\.[0-3]\d[01]" } }? code-point-attributes &= attribute kJapanese { list { xsd:string { pattern="[\x{3041}-\x{3096}\x{3099}\x{309A}\x{30A1}-\x{30FA}\x{30FC}]+" }+ } }? code-point-attributes &= attribute kJapaneseKun { list { xsd:string { pattern="[A-Z]+" }+ } }? code-point-attributes &= attribute kJapaneseNewVariant { xsd:string { pattern="U\+[23]?[0-9A-F]{4}" } }? code-point-attributes &= attribute kJapaneseOldVariant { list { xsd:string { pattern="U\+[23]?[0-9A-F]{4}" }+ } }? code-point-attributes &= attribute kJapaneseOn { list { xsd:string { pattern="[A-Z]+" }+ } }? code-point-attributes &= attribute kJinmeiyoKanji { xsd:string { pattern="(20\d{2})(:U\+[23]?[0-9A-F]{4})?" } }? code-point-attributes &= attribute kJis0 { xsd:string { pattern="\d{4}" } }? code-point-attributes &= attribute kJis1 { xsd:string { pattern="\d{4}" } }? code-point-attributes &= attribute kJIS0213 { xsd:string { pattern="[12],\d{2},\d{1,2}" } }? code-point-attributes &= attribute kJoyoKanji { xsd:string { pattern="(20\d{2})|(U\+[23]?[0-9A-F]{4})" } }? code-point-attributes &= attribute kKangXi { list { xsd:string { pattern="\d{4}\.\d{2}[01]" }+ } }? code-point-attributes &= attribute kKarlgren { xsd:string { pattern="[1-9]\d{0,3}[A*]?" } }? code-point-attributes &= attribute kKorean { list { xsd:string { pattern="[A-Z]+" }+ } }? code-point-attributes &= attribute kKoreanEducationHanja { xsd:string { pattern="20\d{2}" } }? code-point-attributes &= attribute kKoreanName { xsd:string { pattern="20\d{2}" } }? code-point-attributes &= attribute kLau { list { xsd:string { pattern="[1-9]\d{0,3}" }+ } }? code-point-attributes &= attribute kMainlandTelegraph { xsd:string { pattern="\d{4}" } }? code-point-attributes &= attribute kMandarin { list { xsd:string { pattern="[a-z\x{300}-\x{302}\x{304}\x{308}\x{30C}]+" }+ } }? code-point-attributes &= attribute kMatthews { xsd:string { pattern="[1-9]\d{0,3}(a|\.5)?" } }? code-point-attributes &= attribute kMeyerWempe { list { xsd:string { pattern="[1-9]\d{0,3}[a-t*]?" }+ } }? code-point-attributes &= attribute kMojiJoho { list { xsd:string { pattern="MJ\d{6}(:(FE0[01]|E01[01][0-9A-F]))?" }+ } }? code-point-attributes &= attribute kMorohashi { list { xsd:string { pattern="(\d{5}'{0,2}|H\d{3})(:(FE0[01]|E010[0-9A-F]))?" }+ } }? code-point-attributes &= attribute kNelson { list { xsd:string { pattern="\d{4}" }+ } }? code-point-attributes &= attribute kOtherNumeric { xsd:string { pattern="\d+" } }? code-point-attributes &= attribute kPhonetic { list { xsd:string { pattern="[1-9]\d{0,3}[A-D]?\*?" }+ } }? code-point-attributes &= attribute kPrimaryNumeric { list { xsd:string { pattern="\d+" }+ } }? code-point-attributes &= attribute kPseudoGB1 { xsd:string { pattern="\d{4}" } }? code-point-attributes &= attribute kRSAdobe_Japan1_6 { list { xsd:string { pattern="[CV]\+\d{1,5}\+[1-9]\d{0,2}\.[1-9]\d?\.\d{1,2}" }+ } }? code-point-attributes &= attribute kRSUnicode { list { xsd:string { pattern="[1-9]\d{0,2}'{0,3}\.-?\d{1,2}" }+ } }? code-point-attributes &= attribute kSBGY { list { xsd:string { pattern="\d{3}\.[0-7]\d" }+ } }? code-point-attributes &= attribute kSemanticVariant { list { xsd:string { pattern="U\+[23]?[0-9A-F]{4}(<[ks][A-Za-z0-9_]+(:[TBZFJ]+)?(,[ks][A-Za-z0-9_]+(:[TBZFJ]+)?)*)?" }+ } }? code-point-attributes &= attribute kSimplifiedVariant { list { xsd:string { pattern="U\+[23]?[0-9A-F]{4}" }+ } }? code-point-attributes &= attribute kSMSZD2003Index { list { xsd:string { pattern="\d{1,3}\.\d{2}" }+ } }? code-point-attributes &= attribute kSMSZD2003Readings { list { xsd:string { pattern="[a-z\x{300}\x{301}\x{302}\x{304}\x{308}\x{30C}]+(,[a-z\x{300}\x{301}\x{302}\x{304}\x{308}\x{30C}]+)*\x{7CB5}[a-z]+[1-6]([a-z]+[1-6])?(,[a-z]+[1-6]([a-z]+[1-6])?)*" }+ } }? code-point-attributes &= attribute kSpecializedSemanticVariant { list { xsd:string { pattern="U\+[23]?[0-9A-F]{4}(<[ks][A-Za-z0-9_]+(:[TBZFJ]+)?(,[ks][A-Za-z0-9_]+(:[TBZFJ]+)?)*)?" }+ } }? code-point-attributes &= attribute kSpoofingVariant { list { xsd:string { pattern="U\+[23]?[0-9A-F]{4}" }+ } }? code-point-attributes &= attribute kStrange { list { ( xsd:string { pattern="[ACU]" } | xsd:string { pattern="B:U\+31[0-2AB][0-9A-F]" } | xsd:string { pattern="[MORY](:U\+[23]?[0-9A-F]{4})?" } | xsd:string { pattern="H(:U\+31[3-8][0-9A-F])+" } | xsd:string { pattern="I(:U\+[23]?[0-9A-F]{4})*" } | xsd:string { pattern="K(:U\+30[A-F][0-9A-F])+" } | xsd:string { pattern="S:[4-9]\d" } )+}}? code-point-attributes &= attribute kTaiwanTelegraph { list { xsd:string { pattern="\d{4}" }+ } }? code-point-attributes &= attribute kTang { list { xsd:string { pattern="\*?[A-Za-z()\x{E6}\x{251}\x{259}\x{25B}\x{300}\x{30C}]+" }+ } }? code-point-attributes &= attribute kTayNumeric { xsd:string { pattern="\d+" } }? code-point-attributes &= attribute kTGH { xsd:string { pattern="20\d{2}:[1-9]\d{0,3}" } }? code-point-attributes &= attribute kTGHZ2013 { list { xsd:string { pattern="\d{3}\.\d{3}(,\d{3}\.\d{3})*:[a-z\x{300}-\x{302}\x{304}\x{308}\x{30C}]+" }+ } }? code-point-attributes &= attribute kTotalStrokes { xsd:string { pattern="[1-9]\d{0,2}" } }? code-point-attributes &= attribute kTraditionalVariant { list { xsd:string { pattern="U\+[23]?[0-9A-F]{4}" }+ } }? code-point-attributes &= attribute kUnihanCore2020 { "" | xsd:string { pattern="[GHJKMPT]{1,7}" } }? code-point-attributes &= attribute kVietnamese { list { xsd:string { pattern="[A-Za-z\x{110}\x{111}\x{300}-\x{303}\x{306}\x{309}\x{31B}\x{323}]+" }+ } }? code-point-attributes &= attribute kVietnameseNumeric { xsd:string { pattern="\d+" } }? code-point-attributes &= attribute kXerox { xsd:string { pattern="\d{3}:\d{3}" } }? code-point-attributes &= attribute kXHC1983 { list { xsd:string { pattern="\d{4}\.\d{3}\*?(,\d{4}\.\d{3}\*?)*:[a-z\x{300}\x{301}\x{304}\x{308}\x{30C}]+" }+ } }? code-point-attributes &= attribute kZhuang { xsd:string { pattern="[a-z]+\*?" } }? code-point-attributes &= attribute kZhuangNumeric { xsd:string { pattern="\d+" } }? code-point-attributes &= attribute kZVariant { list { xsd:string { pattern="U\+[23]?[0-9A-F]{4}(<[ks][A-Za-z0-9_]+(:[TBZ]+)?(,[ks][A-Za-z0-9_]+(:[TBZ]+)?)*)?" }+ } }? code-point-attributes &= attribute kJURC_NCReading { xsd:string { pattern='[^\t"]+' } }? code-point-attributes &= attribute kJURC_Numeric { xsd:string { pattern="[1-9]\d{0,4}" } }? code-point-attributes &= attribute kJURC_RSUnicode { xsd:string { pattern="[1-9]\d{0,1}\.[1-9]\d{0,1}" } }? code-point-attributes &= attribute kJURC_Src { xsd:string { pattern="NC:\d{3}\.\d{2}(,\d{3}\.\d{2})?|SJ-B:\d{3}[A-Z]\.\d|JJ:\d{3}|N5131:X-\d{4}" } }? code-point-attributes &= attribute kNSHU_DubenSrc { xsd:string { pattern="[1-9]\d\.\d{2}" } }? code-point-attributes &= attribute kNSHU_Reading { xsd:string { pattern="[a-z]+[1-9]\d{0,1}" } }? code-point-attributes &= attribute kSEAL_CCZSrc { xsd:string { pattern="C-\d{5}" } }? code-point-attributes &= attribute kSEAL_DYCSrc { xsd:string { pattern="D-\d{5}" } }? code-point-attributes &= attribute kSEAL_MCJK { xsd:string { pattern="[0-9A-F]{4,5}" } }? code-point-attributes &= attribute kSEAL_QJZSrc { xsd:string { pattern="K-\d{5}" } }? code-point-attributes &= attribute kSEAL_Rad { list { xsd:string { pattern="\d{1,3}\.[A-F0-9]{4,5}" }+ } }? code-point-attributes &= attribute kSEAL_THXSrc { xsd:string { pattern="TH-(\d{5}|X\d{3}|Y\d{3})" } }? code-point-attributes &= attribute kTGT_MergedSrc { xsd:string { pattern="H2004-[AB]-\d{4}|H2021-\d{6}|L(19(86|97)|20(06|12))-\d{4}|L2008-\d{4}([AB]|-\d{4})?|N1966-\d{3}-\d{2}[0-9A-Z]{1,2}|N5217-\d{2}|N5314-\d{2}|S1968-\d{4}|UTN42-\d{3}" } }? code-point-attributes &= attribute kTGT_Numeric { xsd:string { pattern="NaN|[0-9]+|[0-9]+\.[0-9]+" } }? code-point-attributes &= attribute kTGT_RSUnicode { xsd:string { pattern="\d+\.\d+" } }? code-point-attributes &= attribute kEH_Cat { xsd:string { pattern="([A-IK-Z]|AA)-\d{2}-\d{3}" } }? code-point-attributes &= attribute kEH_Core { "C" | "L" | "N" }? code-point-attributes &= attribute kEH_Desc { xsd:string { pattern='[^\t"]+' } }? code-point-attributes &= attribute kEH_Func { "" | list { ( "/" | xsd:string { pattern='[^\t]+' } )+} }? code-point-attributes &= attribute kEH_FVal { list { ("|" | xsd:string { pattern="[BDF-HJKMNPR-TWY-bdf-hjkmnpr-twy\.,/\-\+=;?>&\(\)\{\}\s\x{303}\x{30C}\x{323}\x{32E}\x{331}\x{A722}\x{A723}\x{A724}\x{A725}\x{A7BC}\x{A7BD}]+" } )+} }? code-point-attributes &= attribute kEH_UniK { xsd:string { pattern="([A-IK-Z]|AA|NL|NU)\d{3}[A-Z]{0,2}" } }? code-point-attributes &= attribute kEH_JSesh { list { ( xsd:string { pattern="([A-IK-Z]|Aa|NL|NU|Ff)\d{1,3}[A-Za-z]{0,5}" } | xsd:string { pattern="(US1|US22|US248|US685)([A-IK-Z]|Aa|NL|NU)\d{1,3}[A-Za-z]{0,5}" } )+}}? code-point-attributes &= attribute kEH_HG { list { xsd:string { pattern="([A-IK-Z]|AA)\d{1,3}[A-Za-z]{0,2}" }+ } }? code-point-attributes &= attribute kEH_IFAO { list { xsd:string { pattern="\d{1,3},\d{1,2}[ab]?" }+ } }? code-point-attributes &= attribute kEH_NoMirror { boolean }? code-point-attributes &= attribute kEH_NoRotate { boolean }? code-point-attributes &= attribute kEH_AltSeq { xsd:string { pattern="[0-9A-F]{5}(\s[0-9A-F]{4,5})*" } }? ucd.content &= element blocks { element block { attribute first-cp { single-code-point }, attribute last-cp { single-code-point }, attribute name { text } }+ }? ucd.content &= element named-sequences { element named-sequence { attribute cps { one-or-more-code-points }, attribute name { text } }+ }? ucd.content &= element provisional-named-sequences { element named-sequence { attribute cps { one-or-more-code-points }, attribute name { text } }+ }? ucd.content &= element standardized-variants { element standardized-variant { attribute cps { two-code-points }, attribute desc { text }, attribute when { text } }+ }? ucd.content &= element cjk-radicals { element cjk-radical { attribute number { xsd:string {pattern="[0-9]{1,3}'{0,3}"}}, attribute radical { single-code-point? }, attribute ideograph { single-code-point } }+ }? code-point-attributes &= attribute Emoji { boolean }? code-point-attributes &= attribute EPres { boolean }? code-point-attributes &= attribute EMod { boolean }? code-point-attributes &= attribute EBase { boolean }? code-point-attributes &= attribute EComp { boolean }? code-point-attributes &= attribute ExtPict { boolean }? ucd.content &= element do-not-emit { element instead { attribute of { one-or-more-code-points }, attribute use { one-or-more-code-points }, attribute because { "Arabic_Tashkil" | "Bengali_Khanda_Ta" | "Deprecated" | "Discouraged" | "Dotless_Form" | "Hamza_Form" | "Indic_Atomic_Consonant" | "Indic_Consonant_Conjunct" | "Indic_Vowel_Letter" | "Malayalam_Chillu" | "None" | "Precomposed_Form" | "Precomposed_Hieroglyph" | "Preferred_Spelling" | "Tamil_Shrii" } }+ }?