﻿<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="2019-02-26">
  <xsd:element name="NonOpRevenue">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="Header" type="Header" />
        <xsd:element name="Checks">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="Check" type="Check" minOccurs="0" maxOccurs="unbounded" />
            </xsd:sequence>
          </xsd:complexType>
          <xsd:unique name="InvoiceIdUnique">
            <xsd:selector xpath="./Check" />
            <xsd:field xpath="InvoiceId" />
          </xsd:unique>
          <xsd:unique name="StatementIdUnique">
            <xsd:selector xpath="./Check/Properties/Property" />
            <xsd:field xpath="StatementId" />
          </xsd:unique>
          <xsd:unique name="DetailIdUnique">
            <xsd:selector xpath="./Check/Properties/Property/Details/Detail" />
            <xsd:field xpath="DetailId" />
          </xsd:unique>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="XmlSchemaVersion" use="required">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="2019-02-26" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
    </xsd:complexType>
  </xsd:element>

  <!-- ComplexTypes -->
  <xsd:complexType name="Header">
    <xsd:sequence>
      <xsd:element name="RequestLoginName" type="xsd:string" />
      <xsd:element name="RequestUserId" type="xsd:long" />
      <xsd:element name="RequestBaId" type="xsd:long" />
      <xsd:element name="RequestDate" type="xsd:dateTime" />
      <xsd:element name="RequestMethod" type="xsd:string" />
	    <xsd:element name="EnergyLinkApiTransactionId" type="xsd:long" minOccurs="0" />
      <xsd:element name="RequestUrl" type="xsd:string" minOccurs="0" maxOccurs="1" />
      <xsd:element name="RequestHeaders" minOccurs="0" maxOccurs="1">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="RequestHeader" minOccurs="0" maxOccurs="unbounded">
              <xsd:complexType>
                <xsd:sequence>
                  <xsd:element name="Key" type="xsd:string" minOccurs="1" maxOccurs="1" />
                  <xsd:element name="Value" type="xsd:string" minOccurs="1" maxOccurs="1" />
                </xsd:sequence>
              </xsd:complexType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="RequestContent" type="xsd:string" minOccurs="0" maxOccurs="1" />
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="Check">
    <xsd:sequence>
      <xsd:element name="InvoiceId" type="EnergyLinkPrimaryKey" minOccurs="1" maxOccurs="1" />
      <xsd:element name="CheckNumber" type="CheckNumber" minOccurs="1" maxOccurs="1" />
      <xsd:element name="CheckDate" type="xsd:date" minOccurs="1" maxOccurs="1" />
      <xsd:element name="OpAccountingMonth" type="xsd:date" minOccurs="1" maxOccurs="1" />
      <xsd:element name="ReceivedDate" type="xsd:dateTime" minOccurs="1" maxOccurs="1" />
      <xsd:element name="CheckStatus" type="CheckStatus" minOccurs="1" maxOccurs="1" />
      <xsd:element name="CheckStatusDate" type="xsd:dateTime" minOccurs="1" maxOccurs="1" />
      <xsd:element name="IsApproved" type="xsd:boolean" minOccurs="1" maxOccurs="1" />
      <xsd:element name="LastProcessedDate" type="xsd:dateTime" minOccurs="0" maxOccurs="1" />
      <xsd:element name="ActiveVoucherId" type="xsd:long" minOccurs="0" maxOccurs="1" />
      <xsd:element name="VendorNumber" type="xsd:string" minOccurs="0" maxOccurs="1" />
      <xsd:element name="Operator" type="Operator" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            Values provided by the Operator during upload
            Note: OpOrgId can change if the Check is rerouted
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="OwnerNumber" type="xsd:string" minOccurs="1" maxOccurs="1" />
      <xsd:element name="Owner" type="Owner" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            Values provided by the Operator during upload
            Note: PrtOrgId can change if the Check is rerouted
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="RevenueAmount" type="Currency" minOccurs="1" maxOccurs="1" />
      <xsd:element name="TaxAmount" type="Currency" minOccurs="0" maxOccurs="1" />
      <xsd:element name="DeductionAmount" type="Currency" minOccurs="0" maxOccurs="1" />
      <xsd:element name="NettedAmount" type="Currency" minOccurs="0" maxOccurs="1" />
      <xsd:element name="TotalAmount" type="Currency" minOccurs="1" maxOccurs="1" />
      <xsd:element name="CheckHistory" minOccurs="0" maxOccurs="1">
        <xsd:complexType>
          <xsd:sequence minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="CheckHistoryRecord" type="CheckHistoryRecord" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="Properties" minOccurs="0" maxOccurs="1">
        <xsd:complexType>
          <xsd:sequence minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="Property" type="Property" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="CheckHistoryRecord">
    <xsd:sequence>
      <xsd:element name="ActionTypeDesc"  type="xsd:string" minOccurs="1" maxOccurs="1" />
      <xsd:element name="ActionId" type="EnergyLinkPrimaryKey" minOccurs="0" maxOccurs="1" />
      <xsd:element name="ActionDate" type="xsd:dateTime" minOccurs="0" maxOccurs="1" />
      <xsd:element name="ActionUserName" type="xsd:string" minOccurs="0" maxOccurs="1" />
      <xsd:element name="VoucherReference" type="xsd:string" minOccurs="0" maxOccurs="1" />
      <xsd:element name="VoucherAccountingMonth" type="xsd:date" minOccurs="0" maxOccurs="1" />
      <xsd:element name="TotalAmount" type="Currency" minOccurs="0" maxOccurs="1" />
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="Property">
    <xsd:sequence>
      <xsd:element name="StatementId" type="EnergyLinkPrimaryKey" minOccurs="1" maxOccurs="1" />
      <xsd:element name="CostCenter" type="CostCenter" minOccurs="0" maxOccurs="1" />
      <xsd:element name="AccountXrefTypeIdRev" type="EnergyLinkPrimaryKey" minOccurs="0" maxOccurs="1" />
      <xsd:element name="AccountXrefTypeDescRev" type="xsd:string" minOccurs="0" maxOccurs="1" />
      <xsd:element name="RevenueAmount" type="Currency" minOccurs="1" maxOccurs="1" />
      <xsd:element name="TaxAmount" type="Currency" minOccurs="0" maxOccurs="1" />
      <xsd:element name="DeductionAmount" type="Currency" minOccurs="0" maxOccurs="1" />
      <xsd:element name="NettedAmount" type="Currency" minOccurs="0" maxOccurs="1" />
      <xsd:element name="TotalAmount" type="Currency" minOccurs="1" maxOccurs="1" />
      <xsd:element name="Details" minOccurs="0" maxOccurs="unbounded">
        <xsd:complexType>
          <xsd:sequence minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="Detail" type="Detail" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="Detail">
    <xsd:sequence>
      <xsd:element name="DetailId" type="EnergyLinkPrimaryKey" minOccurs="1" maxOccurs="1" />
      <xsd:element name="RevLineType" minOccurs="1" maxOccurs="1">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Revenue" />
            <xsd:enumeration value="Tax" />
            <xsd:enumeration value="Deduct" />
            <xsd:enumeration value="Net" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="AcctMajId" type="EnergyLinkPrimaryKey" minOccurs="1" maxOccurs="1" />
      <xsd:element name="OpProductCode" type="AccountCode" minOccurs="1" maxOccurs="1" />
      <xsd:element name="OpProductDesc" type="AccountDesc" minOccurs="1" maxOccurs="1" />
      <xsd:element name="EnergyLinkProductDesc" type="AccountDesc" minOccurs="1" maxOccurs="1" />
      <xsd:element name="AcctMinId" type="EnergyLinkPrimaryKey" minOccurs="1" maxOccurs="1" />
      <xsd:element name="OpTypeCode" type="AccountCode" minOccurs="1" maxOccurs="1" />
      <xsd:element name="OpTypeDesc" type="AccountDesc" minOccurs="1" maxOccurs="1" />
      <xsd:element name="EnergyLinkTypeDesc" type="AccountDesc" minOccurs="1" maxOccurs="1" />
      <xsd:element name="PrtProductCode" type="AccountCode" minOccurs="0" maxOccurs="1" />
      <xsd:element name="PrtTypeCode" type="AccountCode" minOccurs="0" maxOccurs="1" />
      <xsd:element name="ActivityDate" type="xsd:date" minOccurs="1" maxOccurs="1" />
      <xsd:element name="GrossVolume" type="Volume" minOccurs="0" maxOccurs="1" />
      <xsd:element name="Price" type="xsd:decimal" minOccurs="0" maxOccurs="1" />
      <xsd:element name="GrossAmount" type="Currency" minOccurs="1" maxOccurs="1" />
      <xsd:element name="OwnerPercent" type="Percent" minOccurs="0" maxOccurs="1" />
      <xsd:element name="DistributionPercent" type="Percent" minOccurs="0" maxOccurs="1" />
      <xsd:element name="OwnerVolume" type="Volume" minOccurs="0" maxOccurs="1" />
      <xsd:element name="OwnerAmount" type="Currency" minOccurs="1" maxOccurs="1" />
      <xsd:element name="LineComment" type="LineComment" minOccurs="0" maxOccurs="1" />
      <xsd:element name="Taxes" minOccurs="0" maxOccurs="1">
        <xsd:complexType>
          <xsd:sequence minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="Tax">
              <xsd:complexType>
                <xsd:sequence>
                  <xsd:element name="DetailId" type="EnergyLinkPrimaryKey" minOccurs="1" maxOccurs="1" />
                  <xsd:element name="AcctMinId" type="EnergyLinkPrimaryKey" minOccurs="1" maxOccurs="1" />
                  <xsd:element name="OpTypeCode" type="AccountCode" minOccurs="1" maxOccurs="1" />
                  <xsd:element name="OpTypeDesc" type="AccountDesc" minOccurs="1" maxOccurs="1" />
                  <xsd:element name="EnergyLinkTypeDesc" type="AccountDesc" minOccurs="1" maxOccurs="1" />
                  <xsd:element name="PrtTypeCode" type="AccountCode" minOccurs="0" maxOccurs="1" />
                  <xsd:element name="GrossAmount" type="Currency" minOccurs="1" maxOccurs="1" />
                  <xsd:element name="OwnerPercent" type="Percent" minOccurs="0" maxOccurs="1" />
                  <xsd:element name="DistributionPercent" type="Percent" minOccurs="0" maxOccurs="1" />
                  <xsd:element name="OwnerAmount" type="Currency" minOccurs="1" maxOccurs="1" />
                  <xsd:element name="LineComment" type="LineComment" minOccurs="0" maxOccurs="1" />
                </xsd:sequence>
              </xsd:complexType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="Deductions" minOccurs="0" maxOccurs="1">
        <xsd:complexType>
          <xsd:sequence minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="Deduction">
              <xsd:complexType>
                <xsd:sequence>
                  <xsd:element name="DetailId" type="EnergyLinkPrimaryKey" minOccurs="1" maxOccurs="1" />
                  <xsd:element name="AcctMinId" type="EnergyLinkPrimaryKey" minOccurs="1" maxOccurs="1" />
                  <xsd:element name="OpTypeCode" type="AccountCode" minOccurs="1" maxOccurs="1" />
                  <xsd:element name="OpTypeDesc" type="AccountDesc" minOccurs="1" maxOccurs="1" />
                  <xsd:element name="EnergyLinkTypeDesc" type="AccountDesc" minOccurs="1" maxOccurs="1" />
                  <xsd:element name="PrtTypeCode" type="AccountCode" minOccurs="0" maxOccurs="1" />
                  <xsd:element name="GrossAmount" type="Currency" minOccurs="1" maxOccurs="1" />
                  <xsd:element name="OwnerPercent" type="Percent" minOccurs="0" maxOccurs="1" />
                  <xsd:element name="DistributionPercent" type="Percent" minOccurs="0" maxOccurs="1" />
                  <xsd:element name="OwnerAmount" type="Currency" minOccurs="1" maxOccurs="1" />
                  <xsd:element name="LineComment" type="LineComment" minOccurs="0" maxOccurs="1" />
                </xsd:sequence>
              </xsd:complexType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="Operator">
    <xsd:sequence>
      <xsd:element name="OpOrgId" type="EnergyLinkPrimaryKey" minOccurs="1" maxOccurs="1" />
      <xsd:element name="OrgNumber" minOccurs="1" maxOccurs="1">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:minLength value="1" />
            <xsd:maxLength value="20" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="OrgName" type="OrgName" minOccurs="1" maxOccurs="1" />
      <xsd:element name="OrgNameComment" type="OrgNameComment" minOccurs="0" maxOccurs="1" />
      <xsd:element name="Address1" type="Address1" minOccurs="1" maxOccurs="1" />
      <xsd:element name="Address2" type="Address2" minOccurs="0" maxOccurs="1" />
      <xsd:element name="Address3" type="Address3" minOccurs="0" maxOccurs="1" />
      <xsd:element name="City" type="City" minOccurs="1" maxOccurs="1" />
      <xsd:element name="StateProvince" type="StateProvince" minOccurs="1" maxOccurs="1" />
      <xsd:element name="Country" type="Country" minOccurs="1" maxOccurs="1" />
      <xsd:element name="PostalZIP" type="PostalZIP" minOccurs="1" maxOccurs="1" />
      <xsd:element name="Phone" type="PhoneNumber" minOccurs="0" maxOccurs="1" />
      <xsd:element name="Fax" type="PhoneNumber" minOccurs="0" maxOccurs="1" />
      <xsd:element name="TaxRegNumber" type="TaxRegNumber" minOccurs="0" maxOccurs="1" />
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="Owner">
    <xsd:sequence>
      <xsd:element name="PrtOrgId" type="EnergyLinkPrimaryKey" minOccurs="1" maxOccurs="1" />
      <xsd:element name="OrgNumber" minOccurs="0" maxOccurs="1">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:minLength value="1" />
            <xsd:maxLength value="50" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="VoucherOrgNumber" minOccurs="0" maxOccurs="1">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:minLength value="1" />
            <xsd:maxLength value="50" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="OrgName" type="OrgName" minOccurs="1" maxOccurs="1" />
      <xsd:element name="OrgNameComment" type="OrgNameComment" minOccurs="0" maxOccurs="1" />
      <xsd:element name="Address1" type="Address1" minOccurs="1" maxOccurs="1" />
      <xsd:element name="Address2" type="Address2" minOccurs="0" maxOccurs="1" />
      <xsd:element name="Address3" type="Address3" minOccurs="0" maxOccurs="1" />
      <xsd:element name="City" type="City" minOccurs="0" maxOccurs="1" />
      <xsd:element name="StateProvince" type="StateProvince" minOccurs="0" maxOccurs="1" />
      <xsd:element name="Country" type="Country" minOccurs="0" maxOccurs="1" />
      <xsd:element name="PostalZIP" type="PostalZIP" minOccurs="0" maxOccurs="1" />
      <xsd:element name="Phone" type="PhoneNumber" minOccurs="0" maxOccurs="1" />
      <xsd:element name="Fax" type="PhoneNumber" minOccurs="0" maxOccurs="1" />
      <xsd:element name="TaxRegNumber" type="TaxRegNumber" minOccurs="0" maxOccurs="1" />
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="CostCenter">
    <xsd:sequence>
      <xsd:element name="CcId" type="EnergyLinkPrimaryKey" minOccurs="1" maxOccurs="1" />
      <xsd:element name="OpCostCenterCode" type="PropertyCode" minOccurs="1" maxOccurs="1" />
      <xsd:element name="OpCostCenterDesc" minOccurs="1" maxOccurs="1">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:minLength value="1" />
            <xsd:maxLength value="100" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="OpCostCenterDesc2" minOccurs="0" maxOccurs="1">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:minLength value="0" />
            <xsd:maxLength value="100" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="OpApiNumber" minOccurs="0" maxOccurs="1">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:minLength value="0" />
            <xsd:maxLength value="50" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
			<xsd:element name="OpState" type="StateProvince" minOccurs="0" maxOccurs="1" />
      <xsd:element name="OpCounty" minOccurs="0" maxOccurs="1">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:minLength value="0" />
            <xsd:maxLength value="50" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="CcXrefId" type="EnergyLinkPrimaryKey" minOccurs="0" maxOccurs="1" />
      <xsd:element name="PrtCostCenterCode" type="PropertyCode" minOccurs="0" maxOccurs="1" />
      <xsd:element name="PrtCostCenterActionCode" type="CcActionCode" minOccurs="0" maxOccurs="1" />
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- SimpleTypes -->
  <xsd:simpleType name="EnergyLinkPrimaryKey">
    <xsd:restriction base="xsd:long" />
  </xsd:simpleType>
  <xsd:simpleType name="OrgName">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1" />
      <xsd:maxLength value="100" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="OrgNameComment">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="0" />
      <xsd:maxLength value="40" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="Address1">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1" />
      <xsd:maxLength value="40" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="Address2">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="0" />
      <xsd:maxLength value="40" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="Address3">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="0" />
      <xsd:maxLength value="40" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="City">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1" />
      <xsd:maxLength value="50" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="Country">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1" />
      <xsd:maxLength value="20" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="StateProvince">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="2" />
      <xsd:maxLength value="3" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="PostalZIP">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1" />
      <xsd:maxLength value="10" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="PhoneNumber">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="0" />
      <xsd:maxLength value="30" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="TaxRegNumber">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="0" />
      <xsd:maxLength value="15" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="CheckNumber">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1" />
      <xsd:maxLength value="30" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="CheckStatus">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Received" />
      <xsd:enumeration value="Viewed" />
      <xsd:enumeration value="ProcessedManually" />
      <xsd:enumeration value="PartiallyApproved" />
      <xsd:enumeration value="Approved" />
      <xsd:enumeration value="AcceptedAsIs" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="PropertyCode">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1" />
      <xsd:maxLength value="50" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="CcActionCode">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="DisputeNoInterest" />
      <xsd:enumeration value="DisputeSold" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="AccountCode">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1" />
      <xsd:maxLength value="50" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="AccountDesc">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1" />
      <xsd:maxLength value="100" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="Currency">
    <xsd:restriction base="xsd:decimal">
      <xsd:fractionDigits value="2" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="Volume">
    <xsd:restriction base="xsd:decimal">
      <xsd:fractionDigits value="2" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="Percent">
    <xsd:restriction base="xsd:decimal">
      <xsd:fractionDigits value="8" />
      <xsd:minInclusive value="0" />
      <xsd:maxInclusive value="100" />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="LineComment">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="0" />
      <xsd:maxLength value="1500" />
    </xsd:restriction>
  </xsd:simpleType>
</xsd:schema>