gpt4 book ai didi

xml - 由于 xmlns :xsi ="..." and xsi:type ="..." on an element,无法根据架构验证 xml

转载 作者:行者123 更新时间:2023-12-04 17:00:34 28 4
gpt4 key购买 nike

我正在尝试针对 JMeter 中的 xsd 模式验证 xml 响应,但断言总是失败并显示错误

Cannot resolve 'job' to a type definition for element 'content'



xml 响应是:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<result>
<state>
<tag>value</tag>
</state>
<content
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="job">
<status>ok</status>
</content>
</result>

模式是:
<xs:schema attributeFormDefault="unqualified" 
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="result">
<xs:complexType>
<xs:sequence>
<xs:element name="state">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string"
name="tag"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="content">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string"
name="status"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

我无法修改响应,但我可以更改架构。我怎么能解决这个问题?

谢谢 !

最佳答案

您应该按如下方式更改 XSD:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:element name="result">
<xs:complexType>
<xs:sequence>
<xs:element name="state">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="tag"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="content" type="content"/>
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:complexType name="content">
</xs:complexType>

<xs:complexType name="job">
<xs:complexContent>
<xs:extension base="content">
<xs:sequence>
<xs:element type="xs:string" name="status"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>

</xs:schema>
xsi:type属性由验证以特殊方式处理,作为用于验证可以具有形成层次结构的不同类型的元素的类型的规范。

在上面的固定模式中,我创建了一个带有基础 content 的简单层次结构。复杂类型和 job一种从它衍生而来。

关于xml - 由于 xmlns :xsi ="..." and xsi:type ="..." on an element,无法根据架构验证 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17988564/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com