首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能表示属性和子属性之间的选择。近似值

不能表示属性和子属性之间的选择。近似值
EN

Stack Overflow用户
提问于 2014-05-27 07:13:34
回答 1查看 114关注 0票数 0

在我必须处理一些.rng文件的项目中,我得到了一个错误:“属性和子属性之间的选择不能表示.逼近”,这是我无法解决的。这个问题出现在这段代码中:

代码语言:javascript
复制
       <element name="maintenance-mode">
          <choice>
             <group>
              <attribute name="on-install">
                <data type="boolean"/>
              </attribute>
              <attribute name="on-remove">
                <data type="boolean"/>
              </attribute>
            </group>
            <group>
              <optional>
                <attribute name="on-install">
                  <data type="boolean"/>
                </attribute>
              </optional>
              <optional>
                <attribute name="on-remove">
                  <data type="boolean"/>
                </attribute>
              </optional>
              <data type="boolean"/>
            </group>
          </choice>
        </element>

我找不到问题的根源。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-27 10:55:13

获得您报告的消息的唯一方法是,如果我尝试使用trang将您的Relax模式(rng)转换为XML (xsd)。因此,这意味着您使用的是trang (但在您的问题中不告诉您),或者您使用的是在幕后使用trang的东西,或者您使用的软件是基于trang的。

您收到的警告是因为Relax能够表示元素和属性之间的选择。您的maintenance-mode声明允许它拥有属性on-installon-remove或同名的子元素,但不能同时拥有属性和元素。XML无法对此约束进行建模,因此trang必须输出比Relax模式更通用(允许更多)的XML。生成的架构允许元素具有属性(子元素)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23883208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档