2017-07-24 5 views
0

XML:Teil Validierung von XML mit XSD

<?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> 

XSD:

<?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> 

Ich sollte das Vorhandensein von 'Name' und 'Prev_name' in meinem XML durch XSD validieren. Ich störe mich nicht um andere Tags. Wenn ich ein XML ohne diese beiden Tags oder eines davon übergebe, sollte meine XML-Validierung fehlschlagen. Wenn mein XML diese 2 Tags enthält, sollte nur die XML-Validierung bestehen.

Antwort

0

Sie können nicht wirklich Validierung nur für ein bisschen der Struktur, die nächste, die Sie erhalten können, ist, Regeln für den Mitarbeiter_Name bereitzustellen. Sie müssen jedoch eine Reihe von Regeln für das Wurzelelement (root) angeben.

enter image description here

<?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> 

Wenn die XML gegen das Schema validiert der Validator kann Warnungen für die ‚unbekannten‘ Typen (dargestellt mit einem gelben unterstrichen) schaffen, sondern werden Fehler erzeugen, wenn Namen oder Prev_name aus employee_name fehlt . Es wird auch Fehler verursachen, wenn zusätzliche Elemente zu employee_name hinzugefügt werden.

enter image description here