我没有编写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”的有效值。
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中它验证得很好。不知道