<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="eml://ecoinformatics.org/qualityReport" targetNamespace="eml://ecoinformatics.org/qualityReport" elementFormDefault="unqualified" attributeFormDefault="unqualified"> <xs:annotation> <xs:documentation>This XML Schema is used to validate XML Quality Report documents generated by the quality reporting facilities of the Data Manager Library code. A quality report contains zero or one datasetReport elements, followed by zero or more entityReport elements. Both datasetReport and entityReport elements contain zero or more qualityCheck elements. Each qualityCheck element captures the information from a single quality metric performed on EML metadata, on data, or on the congruency of the metadata to the data. </xs:documentation> </xs:annotation> <!-- qualityReport document element --> <xs:element name="qualityReport"> <xs:complexType> <xs:sequence> <xs:element ref="creationDate" minOccurs="0" maxOccurs="1" /> <xs:element ref="packageId" minOccurs="0" maxOccurs="1" /> <xs:element ref="includeSystem" minOccurs="0" maxOccurs="unbounded" /> <xs:element ref="datasetReport" minOccurs="0" /> <xs:element ref="entityReport" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <!-- end of qualityReport document element --> <!-- datasetReport element --> <xs:element name="datasetReport"> <xs:complexType> <xs:sequence> <xs:element ref="qualityCheck" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <!-- entityReport element --> <xs:element name="entityReport"> <xs:complexType> <xs:sequence> <xs:element ref="entityName" /> <xs:element ref="entityId" minOccurs="0" /> <xs:element ref="qualityCheck" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <!-- qualityCheck information --> <xs:element name="qualityCheck"> <xs:complexType> <xs:sequence> <xs:element ref="identifier" /> <xs:element ref="name" /> <xs:element ref="description" minOccurs="0" /> <xs:element ref="emlPath" minOccurs="0" /> <xs:element ref="expected" minOccurs="0" /> <xs:element ref="found" minOccurs="0" /> <xs:element ref="status" minOccurs="0" maxOccurs="1" /> <xs:element ref="explanation" minOccurs="0" /> <xs:element ref="suggestion" minOccurs="0" /> <xs:element ref="reference" minOccurs="0" /> </xs:sequence> <xs:attribute name="qualityType" use="optional" default="congruency"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="congruency"/> <xs:enumeration value="data"/> <xs:enumeration value="metadata"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="statusType" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="info"/> <xs:enumeration value="warn"/> <xs:enumeration value="error"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="system" type="xs:string" use="required"/> </xs:complexType> </xs:element> <!-- Enumerated type: status --> <xs:element name="status"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="notChecked" /> <xs:enumeration value="valid" /> <xs:enumeration value="info" /> <xs:enumeration value="warn" /> <xs:enumeration value="error" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="creationDate" type="xs:dateTime" /> <xs:element name="description" type="xs:string" /> <xs:element name="emlPath" type="xs:string" /> <xs:element name="entityId" type="xs:string" /> <xs:element name="entityName" type="xs:string" /> <xs:element name="expected" type="xs:string" /> <xs:element name="explanation" type="xs:string" /> <xs:element name="found" type="xs:string" /> <xs:element name="identifier" type="xs:string" /> <xs:element name="name" type="xs:string" /> <xs:element name="packageId" type="xs:string" /> <xs:element name="reference" type="xs:string" /> <xs:element name="includeSystem" type="xs:string" /> <xs:element name="suggestion" type="xs:string" /> </xs:schema>