Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用XSD对XML进行部分验证_Xml_Dtd_Xsd Validation - Fatal编程技术网

使用XSD对XML进行部分验证

使用XSD对XML进行部分验证,xml,dtd,xsd-validation,Xml,Dtd,Xsd Validation,XML: 内存 古玛 ODC CMS XSD: 我应该通过XSD验证XML中是否存在“name”和“Prev_name”。我不担心其他标记,每当我传递一个没有这两个或其中一个标记的XML时,我的XML验证就会失败。如果我的XML有这两个标记,那么只有XML验证应该通过。你不能只对树的一部分进行验证,你能得到的最接近的方法是为员工的名字提供规则。但是您需要为根元素(root)提供一组规则 当根据架构验证XML时,验证程序可能会为“未知”类型(以黄色下划线显示)创建警告,但如果员工姓名

XML:


内存
古玛
ODC
CMS
XSD:



我应该通过XSD验证XML中是否存在“name”和“Prev_name”。我不担心其他标记,每当我传递一个没有这两个或其中一个标记的XML时,我的XML验证就会失败。如果我的XML有这两个标记,那么只有XML验证应该通过。

你不能只对树的一部分进行验证,你能得到的最接近的方法是为员工的名字提供规则。但是您需要为根元素(root)提供一组规则


当根据架构验证XML时,验证程序可能会为“未知”类型(以黄色下划线显示)创建警告,但如果员工姓名中缺少姓名或Prev_姓名,则会创建错误。如果要将额外的元素添加到employee_name中,它还会引发错误


您不能只在树的一小部分上进行验证,最接近的方法是为员工的姓名提供规则。但是您需要为根元素(root)提供一组规则


当根据架构验证XML时,验证程序可能会为“未知”类型(以黄色下划线显示)创建警告,但如果员工姓名中缺少姓名或Prev_姓名,则会创建错误。如果要将额外的元素添加到employee_name中,它还会引发错误

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <employee_name>
    <name>Ram</name>
    <Prev_name>Kumar</Prev_name>
  </employee_name>
  <project ppact="BT">ODC</project>
  <team size="small">CMS</team>
</root>
<?xml version="1.0"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="request">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1" />
        <xs:element name="Prev_name" type="xs:string" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element> 
</xs:schema>
<?xml version="1.0" encoding="utf-8" ?>
<!--Created with Liquid Studio 2018 - Developer Bundle (Educational) 16.0.0.7863 (https://www.liquid-technologies.com)-->
<xs:schema elementFormDefault="qualified"
           version="1.0"
           xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="employee_name">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="name"
                            type="xs:string"
                            minOccurs="1"
                            maxOccurs="1" />
                <xs:element name="Prev_name"
                            type="xs:string"
                            minOccurs="1"
                            maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="root"
                type="xs:anyType" />
</xs:schema>