阴道没水什么原因| 打狂犬疫苗后注意什么| 双鱼座是什么星象| 胆红素高挂什么科检查| 补钙吃什么维生素| 血糖高是什么意思| 三撇读什么| 跳蚤长什么样子| gbm是什么意思| 习是什么结构的字| 一呼吸胸口疼是什么原因| 孕妇脚肿是什么原因引起的| cr是什么意思| 拍脑部ct挂什么科| 腹胀吃什么药最有效| 什么是肇事逃逸| 沉香木是什么树| 疮痈是什么意思| 处女座后面是什么星座| 关节退变什么意思| 表达是什么意思| hpv12种高危型阳性是什么意思| 长期做梦是什么原因| 背靠背是什么意思| 捆鸡是什么做的| 9月6日什么星座| 化疗后白细胞低吃什么补得快| imao什么意思| 灵魂摆渡人是什么意思| 寸关尺代表什么器官| 遇见是什么意思| 早泄吃什么药| wrong什么意思| 经常长溃疡是什么原因引起的| 鼻烟是什么| 查脂肪肝做什么检查| 二元酸是什么| 心机血缺血是什么症状| 月经不调有什么症状| 吃什么能让月经快点来| 什么的花蕾| 卵巢分泌什么激素| 树叶什么| 治疗晕病有什么好方法| 爸爸的姐夫叫什么| 眼皮老跳是什么原因| 什么补肾效果最好| 1908年中国发生了什么| 李隆基是李世民的什么人| 过敏性紫癜千万不能用什么药| 破执是什么意思| 尿路感染吃什么药最见效| 讲义气是什么意思| 平安夜什么时候吃苹果| 蓝莓吃了有什么好处| bone什么意思| 智商100属于什么水平| 卵胎生是什么意思| 无病呻吟是什么意思| vcr什么意思| 梦见栽树是什么预兆| 长期腹泻是什么病| 胰腺炎是什么病| 胃烧灼吃什么立马缓解| 子时右眼跳是什么预兆| 全麻对身体有什么危害| 膝盖酸痛什么原因| 牛肉补什么| 什么网名好听又有内涵| 什么地跳| 尿素高是什么意思| c蛋白反应高是什么原因| 什么是五行| 发福了是什么意思| 鼻衄是什么意思| 红花代表什么生肖| 什么颜色可以调成紫色| 拉肚子肚子疼吃什么药| 冬瓜和什么不能一起吃| 镜面人是什么意思| 李世民是什么民族| ovs是什么品牌| 夸加包念什么| 挚肘是什么意思| 孩子百天有什么讲究| 徒劳无功是什么意思| 露骨是什么意思| 游手好闲是什么意思| 吃什么全面补充维生素| ibs是什么意思| 办理公证需要什么材料| 2月30日是什么星座| 静脉曲张吃什么药最好| 重庆市长什么级别| 脚底灼热是什么原因| 梦见自己流鼻血是什么预兆| 接踵而至是什么意思| 面瘫是什么原因造成的| 吃什么补白细胞快| 金銮殿是什么意思| 梦到砍树是什么意思| 淋巴结转移是什么意思| 业障什么意思| 尽兴而归什么意思| 7月29日是什么星座| 1996年属鼠五行属什么| 鸿运当头是什么菜| 药物流产后吃什么好| 什么是阳虚什么是阴虚| 潮热是什么意思| 册那是什么意思| 什么植物驱蚊效果最好| 喉咙干疼吃什么药| 吃什么对身体好| 生目念什么| 痰湿体质吃什么食物好| 湿疹不能吃什么| 麂皮是什么材质| 令瓦念什么| u1是什么意思| dsa是什么检查| exo的e为什么不发音| 胸部爱出汗是什么原因| kiv是什么车| 维生素b2有什么作用| 螃蟹不能和什么食物一起吃| 什么病人要补氯化钾呢| 上午九点多是什么时辰| 外强中干什么意思| 庞统和诸葛亮什么关系| 上市公司什么意思| 胃疼喝什么可以缓解| 地球上什么东西每天要走的距离最远| 什么情况下打破伤风| 什么是剧烈运动| 二氧化硅是什么东西| 梦见别人开车翻车是什么预兆| 926是什么星座| 氟利昂是什么| 什么食物含蛋白质高| 蓝黑色是什么颜色| 腿抽筋吃什么| 农历六月六是什么节日| 痰多咳嗽是什么原因| 深圳少年宫有什么好玩的| 梦到自己掉头发是什么预兆| 一贫如什么| 尿蛋白十一什么意思| 派出所所长什么级别| 紫阳茶属于什么茶| 糕面是什么面| 痔疮吃什么药好得快| 为什么养鱼双数是大忌| 眼镜轴向是什么意思| 有什么事| 尿酸高是什么原因造成的| 头七有什么规矩| 男生小肚子疼是什么原因| 手心痒痒是什么预兆| 慈禧姓什么| 38是什么生肖| 线差是什么意思| 老做梦是什么原因| 得水痘不能吃什么| 背胀是什么原因| 长期贫血会导致什么严重后果| 梦见穿裤子是什么意思| 血管炎不能吃什么食物| 现在是什么星座| 半身不遂的前兆是什么症状| 覆盆子有什么功效| 抗糖是什么意思| 南什么北什么| 上感是什么意思| 夏季吃什么好| 第二聚体高什么意思| 怀孕一个月肚子有什么变化| 天是什么结构的字| 裂纹舌是什么原因引起的| 建档需要做什么检查| 猫咪呕吐吃什么药| 艾绒是什么| 梦见和老公吵架是什么预兆| 抖腿有什么好处| 无感什么意思| 易主是什么意思| 射手属于什么象星座| 植物神经紊乱挂什么科| 肝火旺喝什么茶| 86岁属什么| 烟卡是什么| 4月28日是什么星座| 用盐刷牙有什么好处和坏处| 小蓝是什么| 白噪音什么意思| 10015是什么电话| 长寿花什么时候开花| o型阴性血是什么意思| 蛋白粉什么时候吃最好| 肛门挂什么科| 怀孕二十天有什么反应| 脉压差大是什么原因| 龙眼什么时候上市| 伊朗用什么货币| 猫咪的胡子有什么作用| 输卵管堵塞吃什么药能打通| 牙齿一碰就疼是什么原因| 留守儿童什么意思| 黑色素瘤是什么| 梦见参加葬礼是什么意思| 下腹坠胀是什么原因| 什么可以补气血| 丙型肝炎吃什么药最好| 阴道真菌感染用什么药| 视网膜为什么会脱落| 什么是pid| 脑供血不足吃什么食物| 化疗后吃什么补身体| 一代表什么意思| 1月10号是什么星座| 什么的衣服| 尿路感染吃什么中成药| 局级干部是什么级别| 病理报告是什么| 慢性咽喉炎吃什么药好| ac是什么意思| 狸猫换太子什么意思| 克是什么单位| 什么叫正盐| 疫苗是什么| 扁桃体肥大是什么原因造成的| 67年的羊是什么命| 宫腔粘连是什么意思| 梦见自己生个女孩是什么意思| 梦见杀牛是什么预兆| 吉祥是什么意思| 什么样的操场| m k是什么牌子| 一个日一个处一个口念什么| exo的e为什么不发音| 月经前便秘是什么原因| 热敷眼睛有什么好处| 梦到自己结婚什么意思| 头痛什么原因| 什么水果去火| 家里出现蜈蚣是什么预兆| 什么是水洗棉| 割包皮属于什么科| 口臭药店买什么药吃| 大姨妈来能吃什么水果| 脊髓病变是什么病| 金什么| 龙阳之好是什么意思| 什么叫靶向药| 总监是什么级别| ad是什么意思| 衢是什么意思| 吉士粉是什么粉| 裘皮是什么皮| 白癜风是什么病| 内心os什么意思| 维生素b6主治什么病| 梦见两口子吵架是什么意思| 海笋是什么东西| 百度

This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 6163 - 3.10.6.3 Attribute Wildcard Union
Summary: 3.10.6.3 Attribute Wildcard Union
Status: CLOSED FIXED
Alias: None
Product: XML Schema
Classification: Unclassified
Component: Structures: XSD Part 1 (show other bugs)
Version: 1.1 only
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: C. M. Sperberg-McQueen
QA Contact: XML Schema comments list
URL:
Whiteboard:
Keywords: resolved
Depends on:
Blocks:
 
Reported: 2025-08-07 13:20 UTC by Michael Kay
Modified: 2025-08-07 15:48 UTC (History)
1 user (show)

See Also:


Attachments

Description Michael Kay 2025-08-07 13:20:38 UTC
(1) The Note:

Note: If a wildcard union is inexpressible, any rule requiring that one Namespace Constraint be that union cannot be satisfied.

is unnecessary, because there is no such rule.

(2) The final paragraph is unnecessary, because there is nowhere in the spec that takes a wildcard union with more than two Namespace Constraints as operands. (Wildcard union is used only when one type T is derived by extension from another type B, and this involves only two wildcards.)

(3) Rule 4 in the final list is structurally misplaced. Given that the definition has adopted the style "O is the union of O1 and O2 if and only if...", the notion that the union of O1 and O2 might not exist cannot logically be part of this definition. I would move it right up to the front, and then qualify the rest by "If the union of O1 and O2 is expressible, then O is the union of O1 and O2 if and only if..."

(4) Finally, and more substantively, I'm having trouble seeing why the wildcard union should be inexpressible in the circumstances stated, or indeed in any circumstances. The union, surely, should match everything that is matched either by one wildcard or by the other or by both. The union could be defined either extensionally (treating "defined" as simply a synonym for the list of names of global attribute declarations present in the schema), or intensionally (if one wildcard excludes "defined" attributes and the other does not, then the union does not exclude "defined" attributes).
Comment 1 Michael Kay 2025-08-07 13:38:11 UTC
Further to (4): the only place that relies on forming a wildcard union is in derivation by extension, and this states that when T is derived by extension from B, and the union of their wildcards is inexpressible, then the derived type uses the wildcard as defined on T. So, in the circumstances where the union of B|T is currently inexpressible, the union is effectively taken as T.

Now that's not a very nice rule; one would like union to be commutative.

It seems to me that it would be much nicer and simpler to drop rule 4, so that the union is always expressible and always commutative.


Comment 2 Michael Kay 2025-08-07 14:28:18 UTC
More thoughts on (4). I see now why (for example) the union of

<xs:anyAttribute notQName="##defined" id="P"/>

and

<xs:anyAttribute namespace="##local" id="Q"/>

is inexpressible: there is no way to express a wildcard that allows all attributes in the *absent* namespace plus all attributes other than globally declared attributes in other namespaces.

But consider the consequences. Wildcard union is used in only one place: where types are derived by extension. In this situation, if the base type is defined with wildcard P, and the extension type is defined with wildcard Q, then the actual complex type component will have wildcard Q. This hardly reflects the intent of type extension, whereby the extended type should allow everything the base type allows and more. From this perspective it would be better to combine the wildcards as:

<xs:anyAttribute/>

That is, the result of the union should be the "smallest expressible wildcard that has the true union as a subset", which can be constructed simply by dropping the notQName="##defined" constraint unless it is present on both wildcards.

Note that there is no compatibility issue with 1.0 in making this change. Although 1.0 had the same rule about how inexpressible wildcards were handled during type extension, all unions of 1.0 wildcards are expressible in 1.1; the only inexpressible wildcards in 1.1 arise when ##defined is used (which is a symptom of the lack of orthogonality in the design of this feature, but let that pass).
Comment 3 C. M. Sperberg-McQueen 2025-08-07 23:32:04 UTC
The WG discussed this issue in today's ftf.

We adopted a wording proposal which addresses most though not all of the
concerns expressed:

(1) the Note is deleted.
(2) the reference to multiple wildcards is retained (on the view that
it does not harm)
(3) rule 4 is gone.
(4) the proposal to make the union rule calculate a small expressible
superset is adopted.  We note in passing that we have not actually
proven that this is the smallest expressible subset, but it is easy
to calculate and understand, and it's not obviously larger than the
smallest expressible superset.

Fuller details of the proposal adopted will be posted either to the
IG list or to this bug report when doing so is more convenient than it
is at the moment.

Accordingly, I'm marking this as decided; we'll close it when the change
has been integrated into the status-quo document.
Comment 4 Michael Kay 2025-08-07 17:01:44 UTC
A further observation (which doesn't directly affect the resolution in comment #3). In comment #2 I observed that when type E extends type B, and the wildcard union is inexpressible, then under 3.4.2.5 rule 2.2.2.4, the {attribute wildcard} of the extended type is that defined in the xs:extension. However, this will almost certainly mean that the resulting type does not meet Derivation Valid: Extension, under 3.4.6.2 rule 1.3. So although the rules apparently recover from an inexpressible union wildcard, it seems that the attempt to recover will generally fail. Under the proposal of comment #3, the union will not only be expressible, but will also satisfy rule 1.3 which requires that the wildcard of the base type is a wildcard subset of the union.
Comment 5 C. M. Sperberg-McQueen 2025-08-07 15:27:15 UTC
The resolution of this issue has been incorporated into the status-quo
document generated during the face to face meeting in Redmond.
So I'm marking this issue RESOLVED.

Michael, as the originator, would you please indicate by closing or
reopening the issue whether you are satisfied with the disposition of the
comment?  If we don't hear from you in the next two weeks, we'll assume
you're happy.
Comment 6 Michael Kay 2025-08-07 15:48:29 UTC
The resolution is fine in principle, but there's some copy-editing needed on the text. In 3.10.6.3:

When one of the wildcard has defined in {disallowed names} and the other does not, then defined is not included in the union. This may allow QNames that was not allowed by either wiledcar. This is to ensure that all unions are expressible. If defined is intended to be included, then it is necessary to have it in both wildcards.

should read (see asterisked words)

When one of the *wildcards* has defined in {disallowed names} and the other does not, then defined is not included in the union. This may allow QNames that *are* not allowed by either *wildcard*. This is to ensure that all unions are expressible. If defined is intended to be included, then it is necessary to have it in both wildcards.



在什么情况下需要做肠镜 透骨草长什么样 金是什么颜色 infp是什么意思 女生的逼长什么样
线束是什么意思 冰箱买什么牌子的好 结婚60年是什么婚 下巴两边长痘痘是什么原因 隐翅虫长什么样
三个大是什么字 颜面扫地什么意思 痰多是什么原因 女人脑供血不足吃什么 im什么意思
外阴痒用什么洗 espresso是什么咖啡 黑糖是什么糖 天壤之别是什么意思 仪表堂堂是什么生肖
足金是什么意思xinjiangjialails.com 痿证是什么病hcv7jop9ns0r.cn m代表什么意思96micro.com energy是什么牌子hcv9jop3ns1r.cn 女人性冷淡吃什么药hcv8jop7ns0r.cn
佝偻病是什么hcv7jop4ns6r.cn 中医四诊指的是什么hcv9jop4ns0r.cn 口腔溃疡是什么样子hcv7jop6ns8r.cn 黑海为什么叫黑海hcv8jop2ns1r.cn 血象高是什么意思hcv8jop6ns9r.cn
桀是什么意思dajiketang.com 湿气重喝什么茶好hcv8jop3ns2r.cn 肌肉一跳一跳什么原因hcv8jop3ns5r.cn 五月一日是什么星座hcv8jop4ns6r.cn 827是什么意思hcv8jop6ns0r.cn
扁桃体挂什么科hcv9jop1ns6r.cn 血脂异常是什么意思hcv7jop9ns4r.cn 脚转筋是什么原因引起的hcv8jop8ns7r.cn 等着我为什么停播了hcv9jop1ns9r.cn 朝霞不出门晚霞行千里是什么意思hcv9jop4ns7r.cn
百度