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

xml和xsd未验证错误

罗智刚
2023-03-14

我没有编写C++代码,因为我的首要任务是创建有效的xml和XSD。

xml:

<?xml version="1.0" encoding="UTF-8"?>
<part_id>
   <class_id>
      <head>
         <defect />
         <dim>
            <dia>
               <unit />
               <tolrence />
            </dia>
            <rad>
               <unit />
               <tolrence />
            </rad>
            <height>
               <unit />
               <tolrence />
            </height>
         </dim>
      </head>
      <stamp>
         <defect />
         <dim>
            <depth>
               <unit />
               <tolrence />
            </depth>
            <width>
               <unit />
               <tolrence />
            </width>
         </dim>
      </stamp>
      <prethread>
         <defect />
         <dim>
            <dia>
               <unit />
               <tolrence />
            </dia>
            <length>
               <unit />
               <tolrence />
            </length>
         </dim>
      </prethread>
      <thread_seg>
         <defect />
         <dim>
            <dia_major>
               <unit />
               <tolrence />
            </dia_major>
            <length>
               <unit />
               <tolrence />
            </length>
         </dim>
      </thread_seg>
      <terminal>
         <defect />
         <dim>
            <height>
               <unit />
               <tolrence />
            </height>
            <length>
               <unit />
               <tolrence />
            </length>
         </dim>
      </terminal>
   </class_id>
</part_id>

XSD:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
   <xs:element name="part_id">
      <xs:complexType>
         <xs:sequence>
            <xs:element ref="class_id" />
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="class_id">
      <xs:complexType>
         <xs:sequence>
            <xs:element ref="head" />
            <xs:element ref="stamp" />
            <xs:element ref="prethread" />
            <xs:element ref="thread_seg" />
            <xs:element ref="terminal" />
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="head">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="defect" type="xs:string" />
            <xs:element ref="dim" />
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="dim">
      <xs:complexType>
         <xs:sequence>
            <xs:element ref="depth" minOccurs="0" />
            <xs:element ref="width" minOccurs="0" />
            <xs:element ref="dia_major" minOccurs="0" />
            <xs:element ref="dia" minOccurs="0" />
            <xs:element ref="rad" minOccurs="0" />
            <xs:element ref="height" minOccurs="0" />
            <xs:element ref="length" />
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="dia" type="xs:">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="unit" type="xs:decimal" />
            <xs:element name="tolrence" type="xs:decimal" />
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="rad">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="unit" type="xs:decimal" />
            <xs:element name="tolrence" type="xs:decimal" />
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="height">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="unit" type="xs:decimal" />
            <xs:element name="tolrence" type="xs:decimal" />
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="stamp">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="defect" type="xs:string" />
            <xs:element ref="dim" />
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="depth">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="unit" type="xs:decimal" />
            <xs:element name="tolrence" type="xs:decimal" />
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="width">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="unit" type="xs:decimal" />
            <xs:element name="tolrence" type="xs:decimal" />
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="prethread">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="defect" type="xs:string" />
            <xs:element ref="dim" />
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="length">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="unit" type="xs:decimal" />
            <xs:element name="tolrence" type="xsdecimal" />
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="thread_seg">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="defect" type="xs:string" />
            <xs:element ref="dim" />
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="dia_major">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="unit" type="xs:decimal" />
            <xs:element name="tolrence" type="xs:decimal" />
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="terminal">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="defect" type="xs:string" />
            <xs:element ref="dim" />
         </xs:sequence>
      </xs:complexType>
   </xs:element>
</xs:schema>

为了验证,我转到:https://www.freeformatter.com/xml-validator-xsd.html

错误:s4s-att-invalid-value:元素“Element”中“type”的属性值无效。记录原因:cvc-datatype-valid.1.2.1:“xs:”不是“QName”的有效值。

共有1个答案

鞠隐水
2023-03-14

XSD中的错误

<xs:element name="dia" type="xs:">

而且

<xs:element name="tolrence" type="xsdecimal" />

然后您需要一个单位和tolrence元素中的值(因为它们是小数)

<dia>
    <unit>123</unit>
    <tolrence>123</tolrence>
</dia>
 类似资料:
  • 我在验证xml和xsd时遇到问题。我从xsd模式中得到这个错误。 src解决方案。4.2:解析组件“urn:id”时出错。检测到“urn:id”位于命名空间“urn:schemas microsoft com:xml-diffgram-v1”中,但此命名空间中的组件无法从架构文档中引用virtual://server/schema.xsd。如果名称空间不正确,可能需要更改“urn:id”的前缀。如

  • 我是XSD新手,不知道为什么我的XSD没有进行验证。我收到以下错误: s4s-elt-无效-内容.1:“参数信息”的内容无效。元素“复杂类型”无效、放错位置或出现过于频繁。 cvc复合型。2.4。d: 发现以元素“exception”开头的无效内容。此时不需要任何子元素。 XML: XSD: 我错过了什么吗?我想通过使用复杂类型并引用它们来分解它,从而使其更容易...

  • 现在,我正在使用XSD进行XML验证。 由于我使用了SchemaFactory: 然后我尝试切换到apache xerces,得到这个错误(从导入xerces开始): 为什么在android studio中java.exe以值1退出

  • 我是XML验证的新手,我遇到了一个我不明白的问题。我使用Python库根据我使用MS XSD工具生成的XSD文件验证XML文件。在创建了许多工作正常的XSD模式后,我在最新的XSD中遇到了以下问题 原因:位置1处标记为“app1:displayname”的意外子级。需要标记mstns:displayname。 架构: 实例: premiere 路径:/manifest:mediaManifest/

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

  • 使用eclipse时,我消除了所有错误,但当我更改xml文档中的元素内容时,超出了中设置的限制。xsd文件没有出现验证错误。我已尝试使用联机验证http://www.freeformatter.com/xml-validator-xsd.html我得到了错误“Cvc elt.1:找不到元素“DatabaseInventory”…行“4”,列“69”的声明”,但在eclipse中它验证得很好。不知道