当前位置: 首页 > 知识库问答 >
问题:

如何在具有字符串内容的元素上允许属性?

龙承颜
2023-03-14

我正在尝试为以下XML编写XSD:

  <users>
    <user id='u1'>A</user>
    <user id='u2'>B</user>
    <user id='u3'>C</user>
  </users>

以下是我目前掌握的情况:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <xsd:element name="users">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="user" maxOccurs="unbounded" type="xsd:string">
                <xsd:attribute name="id" type="xsd:string"/>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
</xsd:schema>

但它返回错误:

元素'{http://www.w3.org/2001/XMLSchema}元素”:内容无效。应为(注释?,((simpleType | complexType)?,(唯一|键|键参考)*)

id属性是用户的id。知道我该怎么解决这个问题吗?

共有1个答案

缪晋
2023-03-14

下面是如何定义具有简单内容(xsd:string)和xsd中属性的元素:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="users">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="user" maxOccurs="unbounded">
          <xsd:complexType>
            <xsd:simpleContent>
              <xsd:extension base="xsd:string">
                <xsd:attribute name="id" type="xsd:string"/>
              </xsd:extension>
            </xsd:simpleContent>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

(您的错误与未绑定的maxOccurs无关。它与用户元素的内容模型有关。)

 类似资料:
  • 我正在使用拆分一个字符串。我收到的字符串有这样的结构: 其中<代码> 除非是空字符串,否则这可以正常工作。在这种情况下,只会跳过数据。 我想要一个字符串,如<代码>[数据] 我该怎么做?

  • 我有一个需要添加到HashSet的对象列表,例如

  • 问题内容: 举个例子 是在HTML5有效吗? 问题答案: 是的,您编写的内容在HTML5中有效,但并非所有内联元素,我认为这只是适用于.. 参考:HTML5中的“块级”链接 提示:如果使用此设置,则to 或可能会有意外的视觉样式结果 更新: 对于“默认样式可能会导致混淆”的其他“内联代码块”组合,则“不允许”使用-说明在这里 ### 默认样式可能导致混淆的情况 某些元素具有默认样式或行为,这些默认

  • 我无法在poller标记下添加属性“fixed-rate”,因此“属性'fixed-rate'不允许出现在元素'int:poller'中”。请参考下面的xml文件。 请帮帮忙 将代码更改为 null null 我的情况低于例外 违规资源:类路径资源[AppCont.xml];嵌套异常为org.springframework.beans.factory.XML.xmlBeanDefinitionSt

  • 问题内容: 我将一些HTML加载到iframe中,但是当引用的文件使用http而不是https时,出现以下错误: [已屏蔽] {current_pagename}中的页面运行了来自{referenced_filename}的不安全内容 有什么办法可以关闭它或解决它吗? iframe没有属性,其内容使用以下方法设置: 问题答案: 注意:虽然该解决方案在2014年编写时可能已在某些浏览器中运行,但不再

  • 我似乎找不到使用jackson xml注释生成如下xml的Pojo的方法: 我能最接近的是以下几点: 根POJO: 元素1 POJO: 元素2 POJO: 但这又返回了以下内容: 我不想显示“字符串”周围的元素标记。