根据W3C数据类型规范的Section 3.3.3:
语言表示由定义的自然语言标识符 [RFC 3066]。语言的值空间是所有字符串的集合 定义为[RFC 3066]的有效语言标识符。的 语言的词汇空间是所有符合条件的字符串的集合 模式[a-zA-Z] {1,8}(-[a-zA-Z0-9] {1,8})*
但是,在RFC 3066中,第2.5节指出
language-range = language-tag / "*"
也就是说,语言范围的语法与语言标签的语法相同,或者 是单个字符“ ”。 哪里 特殊范围“ ”与任何标签匹配。
因此,RFC将允许使用问号作为识别所有可能语言的通配符。但是,W3C指定的模式不允许使用“ *”。换句话说,看来词汇空间和值空间是不相交的。另外,我可能会误解定义中的某些内容。因此,我的问题是:W3C是否不一致地定义了xs:language数据类型?