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

针对xml错误的xml模式

郝君博
2023-03-14
<xs:element name="employees" >
      <xs:simpleType>
        <xs:list itemType ="xs:integer"/>
      </xs:simpleType>
      </xs:element>
      <xs:element name= "projectsControlled">
      <xs:simpleType>
        <xs:list itemType ="xs:integer" />
      </xs:simpleType>
      </xs:element>

以下是xml代码

<employees essns="888665555"/>
<projectsControlled pnos="20"/>

共有1个答案

宗建章
2023-03-14

元素可以有简单类型,也可以有复杂类型。

具有简单类型的元素只不过是对适当类型的有效元素的包装。不允许有其他内容,不允许有子元素,也不允许有属性。

也就是说,只允许由复杂类型管理的元素具有属性。(如错误消息中所述,xsi:nil、xsi:type、xsi:schemaLocation和xsi:nonamespaceSchemaLocation出现了异常。)

<xs:simpleType name="list-of-integers">
  <xs:list itemType="xs:integer"/>
</xs:simpleType>

<xs:element name="employees">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="tns:list-of-integers">
        <xs:attribute name="essns" 
                      type="tns:list-of-integers"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>
<xs:element name="employees-sib">
  <xs:complexType mixed="false">
    <xs:sequence/>
    <xs:attribute name="essns" 
                  type="tns:list-of-integers"/>
  </xs:complexType>
</xs:element>
 类似资料:
  • 问题内容: 我正在尝试针对W3C XML模式验证XML。 以下代码完成了工作并在发生错误时报告。但是我无法获得错误的行号。它总是返回-1。 有没有简单的方法来获取行号? 问题答案: 我找到了这个 http://www.herongyang.com/XML-Schema/Xerces2-XSD-Validation-with- XMLReader.html 似乎提供以下详细信息(包括行号) 使用此代

  • 问题内容: 我有一个XML文件,并且有一个XML模式。我想针对该架构验证文件,并检查其是否符合该架构。我正在使用python,但是如果python中没有这样有用的库,则可以使用任何语言。 我在这里最好的选择是什么?我会担心如何快速启动和运行它。 问题答案: 绝对可以。 使用预定义的架构定义,加载文件并捕获任何XML架构错误: 关于编码的注意事项 如果模式文件包含带有编码(例如)的xml标记,则上面

  • 问题内容: 我需要使用给定的XSD文件验证XML文件。我只需要如果验证正常就返回true,否则返回false的方法。 问题答案: 仅返回true或false(也不需要任何外部库):

  • 我想用JAXB创建一个通用的xmlFileValidator,它需要一个XML文件和一个模式文件,如果文件有效,则返回根类的对象,否则抛出SAXExc0019或JAXBExc0019。 } 下一行给出警告- 类型安全性:未选中从对象到JAXBElement的强制转换 而且我也无法映射未签名的对象并将其设置为E obj,这是在参数中传递的。我知道它可以返回,但我被要求将其设置为该参数。请帮忙。提前谢

  • 问题内容: 我有一个像下面这样的标准代码,可以针对xsd验证xml,但是它会在第一个错误时引发异常并停止。如何验证xml,但继续出现第一个和下一个错误,并在最后获得所有错误?可能吗? 问题答案: 在和之间添加此片段: 这样,您将获得完整的异常列表之后,但是如果发生一个致命错误,则分析将停止… 编辑:JavaDoc说: _应用程序必须假定解析器调用此方法后该文档不可用,并且仅应出于收集其他错误消息的