<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0">
<xs:element name="appCheck" type="appCheckElemType"/>
<xs:complextype name="appCheckElemType">
<xs:sequence>
<xs:element ref="object" minoccurs="0" maxoccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="type" type="appCheckAttType"/>
<xs:attribute name="strict" type="yesNoAttType"/>
<xs:attribute name="checkNestedApplic" type="yesNoAttType"/>
<xs:attribute name="checkRedundantApplic" type="yesNoAttType"/>
<xs:attribute name="checkDuplicateApplic" type="yesNoAttType"/>
</xs:complextype>
<xs:simpletype name="appCheckAttType">
<xs:restriction base="xs:string">
<xs:enumeration value="standalone"/>
<xs:enumeration value="pct"/>
<xs:enumeration value="all"/>
<xs:enumeration value="custom"/>
</xs:restriction>
</xs:simpletype>
<xs:simpletype name="yesNoAttType">
<xs:restriction base="xs:string">
<xs:enumeration value="yes"/>
<xs:enumeration value="no"/>
</xs:restriction>
</xs:simpletype>
<xs:element name="object" type="objectElemType"/>
<xs:complextype name="objectElemType">
<xs:sequence>
<xs:element ref="act" minoccurs="0"/>
<xs:element ref="cct" minoccurs="0"/>
<xs:element ref="undefined" minoccurs="0" maxoccurs="unbounded"/>
<xs:element ref="pct" minoccurs="0"/>
<xs:choice minoccurs="0" maxoccurs="unbounded">
<xs:element ref="nestedApplicError"/>
<xs:element ref="redundantApplicError"/>
<xs:element ref="duplicateApplicError"/>
</xs:choice>
<xs:element ref="asserts" minoccurs="0" maxoccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="path" type="xs:string"/>
<xs:attribute name="valid" type="yesNoAttType"/>
</xs:complextype>
<xs:element name="act" type="ctElemType"/>
<xs:element name="cct" type="ctElemType"/>
<xs:element name="pct" type="ctElemType"/>
<xs:complextype name="ctElemType">
<xs:attribute name="path" type="xs:string"/>
</xs:complextype>
<xs:element name="undefined" type="undefinedElemType"/>
<xs:complextype name="undefinedElemType">
<xs:attribute ref="applicPropertyIdent" use="required"/>
<xs:attribute ref="applicPropertyType" use="required"/>
<xs:attribute ref="applicPropertyValue"/>
<xs:attribute ref="line" use="required"/>
<xs:attribute ref="xpath" use="required"/>
</xs:complextype>
<xs:element name="nestedApplicError" type="nestedApplicErrorElemType"/>
<xs:complextype name="nestedApplicErrorElemType">
<xs:attribute ref="applicPropertyIdent" use="required"/>
<xs:attribute ref="applicPropertyType" use="required"/>
<xs:attribute ref="applicPropertyValue" use="required"/>
<xs:attribute ref="line" use="required"/>
<xs:attribute ref="xpath" use="required"/>
<xs:attribute ref="parentLine"/>
<xs:attribute ref="parentXPath"/>
</xs:complextype>
<xs:element name="redundantApplicError" type="redundantApplicErrorElemType"/>
<xs:complextype name="redundantApplicErrorElemType">
<xs:attribute ref="line" use="required"/>
<xs:attribute ref="xpath" use="required"/>
<xs:attribute ref="parentLine"/>
<xs:attribute ref="parentXPath"/>
</xs:complextype>
<xs:element name="duplicateApplicError" type="duplicateApplicErrorElemType"/>
<xs:complextype name="duplicateApplicErrorElemType">
<xs:attribute ref="line" use="required"/>
<xs:attribute ref="xpath" use="required"/>
<xs:attribute ref="duplicateOfLine" use="required"/>
<xs:attribute ref="duplicateOfXPath" use="required"/>
</xs:complextype>
<xs:attribute name="applicPropertyIdent" type="xs:NCName"/>
<xs:attribute name="applicPropertyType" type="applicPropertyTypeAttType"/>
<xs:simpletype name="applicPropertyTypeAttType">
<xs:restriction base="xs:string">
<xs:enumeration value="condition"/>
<xs:enumeration value="prodattr"/>
</xs:restriction>
</xs:simpletype>
<xs:attribute name="applicPropertyValue" type="applicPropertyValueAttType"/>
<xs:simpletype name="applicPropertyValueAttType">
<xs:restriction base="xs:string">
<xs:pattern value="[^|~]*"/>
</xs:restriction>
</xs:simpletype>
<xs:attribute name="line" type="xs:positiveInteger"/>
<xs:attribute name="xpath" type="xs:string"/>
<xs:attribute name="parentLine" type="xs:positiveInteger"/>
<xs:attribute name="parentXPath" type="xs:string"/>
<xs:attribute name="duplicateOfLine" type="xs:positiveInteger"/>
<xs:attribute name="duplicateOfXPath" type="xs:string"/>
<xs:element name="asserts" type="assertsElemType"/>
<xs:complextype name="assertsElemType">
<xs:sequence>
<xs:element ref="assign" maxoccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="product" type="xs:NCName"/>
<xs:attribute ref="line"/>
<xs:attribute ref="xpath"/>
<xs:attribute name="valid" type="yesNoAttType" use="required"/>
</xs:complextype>
<xs:element name="assign" type="assignElemType"/>
<xs:complextype name="assignElemType">
<xs:attribute ref="applicPropertyIdent"/>
<xs:attribute ref="applicPropertyType"/>
<xs:attribute ref="applicPropertyValue"/>
</xs:complextype>
</xs:schema>