<?xml version="1.0" encoding="UTF-8"?>

<schema xmlns="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.ansys.com/ingress/commons/serializable"
    xmlns:tns="http://www.ansys.com/ingress/commons/serializable"
    elementFormDefault="qualified">

    <simpleType name="SearchOperation">
        <restriction base="string">
            <enumeration value="all" />
            <enumeration value="any" />
        </restriction>
    </simpleType>

    <complexType name="SearchRow">
        <attribute name="attribute" type="string" use="required" />
        <attribute name="condition" type="string" use="required" />
        <attribute name="value" type="anySimpleType" use="required" />
        <attribute name="typeName" type="string" use="required" />
    </complexType>

    <complexType name="SearchOperator">
        <sequence>
            <element name="row" type="tns:SearchRow" minOccurs="1"
                maxOccurs="unbounded" />
            <element name="operator" type="tns:SearchOperator" minOccurs="0"
                maxOccurs="unbounded"/>
        </sequence>
        <attribute name="operation" type="tns:SearchOperation" use="required"/>
        <attribute name="allowChildBasedSearch" type="boolean"
            default="false" />
        <attribute name="allowSubExpressionBasedSearch" type="boolean"
            default="false" />
    </complexType>

    <complexType name="Search">
        <sequence>
            <element name="operator" type="tns:SearchOperator" minOccurs="1"
                maxOccurs="1" />
        </sequence>
        <attribute name="parentPath" type="string" use="required" />
        <attribute name="type" type="string" use="required" />
    </complexType>

    <element name="search" type="tns:Search" />
    
</schema>