2017-07-24 4 views
0

XML:validation partielle de XML à l'aide 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> 

je valider la présence de 'nom' et 'Prev_name' dans mon XML à travers XSD. Je ne suis pas dérangé par les autres balises. Chaque fois que je passe un XML sans ces deux balises ou l'un d'entre eux, ma validation XML devrait échouer. Si mon XML a ces 2 balises, alors seule la validation XML devrait passer.

Répondre

0

Vous ne pouvez pas vraiment faire de validation sur un seul bit de l'arbre, le plus proche que vous pouvez obtenir est de fournir des règles pour le nom de l'employé. Mais vous devez fournir un ensemble de règles pour l'élément racine (root).

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> 

Lorsque le XML est validé par le schéma validateur peut créer des avertissements pour les types « inconnus » (montré avec un soulignement jaune), mais crée des erreurs si le nom ou Prev_name il manque de EMPLOYEE_NAME . Cela augmentera également les erreurs si des éléments supplémentaires doivent être ajoutés à employee_name.

enter image description here