File Differences Analysis

Generated by CSDiff on 2002/01/03 3:41 PM

Base file: Schema 2_0\InvoiceBillReady.xsd

Compared file: schemas_211201\InvoiceBillReady.xsd

<?xml version = "1.0" encoding = "ISO-8859-1"?>

<!-- Invoice Bill Ready Schema for Ontario v2.0 2001/08/031 2001/12/21 -->

<xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema" 
        xmlns = "http://www.oeb.gov.on.ca/" (Item #570)
        targetNamespace = "http://www.oeb.gov.on.ca/" (Item #570)
        elementFormDefault="qualified">

    <xsd:include schemaLocation = "SimpleTypes.xsd"/>
    <xsd:include schemaLocation = "CommonTypes.xsd"/>

<!--                                                -->
<!--    Invoice Bill Ready Main Section             -->
<!--                                                -->
        
    <xsd:complexType name = "InvoiceBillReady">
        <xsd:sequence>
            <xsd:element name = "MessageInformation" minOccurs = "0" maxOccurs = "1">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name = "Message" type ="lengthEighty" minOccurs = "1" maxOccurs = "unbounded"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name = "ConsumerInformation"   type = "ConsumerInformationStandard"/>
            <xsd:element name = "AccountInformation"    type = "AccountInformationInvoiceBillReady"/>
            <xsd:element name = "InvoiceInformation"    type = "InvoiceInformationInvoiceBillReady"/>
        </xsd:sequence>

        <xsd:attribute name = "BillPurpose"                     type = "billPurpose" use = "required"/>
        <xsd:attribute name = "TransactionCrossReferenceNumber" type = "lengthThirty" use = "required"/>
        <xsd:attribute name = "OriginalTransactionReferenceNumber"  type = "lengthThirty" use = "optional"/> (Item #600)
    </xsd:complexType>

<!--                                                -->
<!--   Invoice Bill Ready Definitions               -->
<!--                                                -->

    <xsd:complexType name = "AccountChargesInvoiceBillReady">
        <xsd:sequence>
            <xsd:element name = "AccountCharge" minOccurs = "1" maxOccurs = "unbounded">
                <xsd:complexType> 
                    <xsd:sequence>
                        <xsd:element name = "ChargeCategory"        type = "chargeCategory"/>
                        <xsd:element name = "ChargeDescription"     type = "lengthEighty"/>
                        <xsd:element name = "Amount"                type = "dollarAmount"/>
                        <xsd:element name = "SequentialLineItem"    type = "lengthThree"    minOccurs = "0" maxOccurs = "1"/> 
                        <xsd:element name = "Taxes"                 type = "TaxesInvoiceBillReady"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>  

<!-- -->    
    <xsd:complexType name = "AccountInformationInvoiceBillReady">
        <xsd:sequence>
            <xsd:element name = "ValidationInformation" type = "ValidationInformationStandard"/>
            <xsd:element name = "ConsumerAccountNumber" type = "ConsumerAccountNumber"      minOccurs = "1" maxOccurs = "2"/>
            <xsd:element name = "CommodityType"         type = "commodityType"/>
            <xsd:element name = "BillingCycle"          type = "BillingCycle"/>
        </xsd:sequence>
        <xsd:attribute name = "LanguagePreference"  type = "languagePreference" use = "required"/>
        <xsd:attribute name = "BillingMethod"       type = "billingMethod" use = "required"/>
    </xsd:complexType>

<!-- -->    
    <xsd:complexType name = "InvoiceInformationInvoiceBillReady">
        <xsd:sequence>
            <xsd:element name = "ServicePeriod"     type = "ServicePeriod"/>
            <xsd:element name = "InvoiceSummary"    type = "InvoiceSummaryInvoiceBillReady"/>
            <xsd:element name = "AccountCharges"    type = "AccountChargesInvoiceBillReady"     minOccurs = "0" maxOccurs = "1"/>
            <xsd:element name = "RateCharges"       type = "RateChargesInvoiceBillReady"        minOccurs = "0" maxOccurs = "1"/>
            <xsd:element name = "ServiceCharges"    type = "ServiceChargesInvoiceBillReady"     minOccurs = "0" maxOccurs = "1"/>
        </xsd:sequence>
    </xsd:complexType>

<!-- -->    
    <xsd:complexType name = "InvoiceSummaryInvoiceBillReady">
        <xsd:sequence>
            <xsd:element name = "InvoiceDate"           type = "date"/>
            <xsd:element name = "InvoiceNumber"         type = "lengthThirty"/>
            <xsd:element name = "InvoiceDueDate"        type = "date"/>
            <xsd:element name = "TotalCurrentAmountDue" type = "dollarAmount"/>
        </xsd:sequence>
    </xsd:complexType>

<!-- -->
    <xsd:complexType name = "MeteredInformationInvoiceBillReady">
        <xsd:sequence>
            <xsd:element name = "MeterNumber"   type = "MeterNumber"/>
            <xsd:element name = "RateCode"      type = "RateCode"   minOccurs = "0" maxOccurs = "1"/>
            <xsd:element name = "RateAmount"    type = "RateAmount" minOccurs = "0" maxOccurs = "1"/>
        </xsd:sequence>
    </xsd:complexType>

<!-- -->
    <xsd:complexType name = "MeteredUsageDetailInvoiceBillReady">
        <xsd:sequence>
            <xsd:element name = "UsageData"  type = "UsageData" minOccurs = "1" maxOccurs = "unbounded"/>
        </xsd:sequence>
        <xsd:attribute name = "UnitOfMeasure" type = "unitOfMeasure" use = "required"/>
    </xsd:complexType>

<!-- -->    
    <xsd:complexType name = "RateChargesInvoiceBillReady">
        <xsd:sequence>
            <xsd:element name = "RateCharge" minOccurs = "1" maxOccurs = "unbounded">
                <xsd:complexType> 
                    <xsd:sequence>
                        <xsd:element name = "ChargeCategory"        type = "chargeCategory"/>
                        <xsd:element name = "ChargeDescription"     type = "lengthEighty"/>
                        <xsd:element name = "Amount"                type = "dollarAmount"/>
                        <xsd:element name = "SequentialLineItem"    type = "lengthThree"    minOccurs = "0" maxOccurs = "1"/>
                        <xsd:element name = "RateCode"              type = "RateCode"       minOccurs = "0" maxOccurs = "1"/>
                        <xsd:element name = "RateAmount"            type = "RateAmount"     minOccurs = "0" maxOccurs = "1"/>
                        <xsd:element name = "RateUsageDetail"       type = "RateUsageDetailInvoiceBillReady"/>
                        <xsd:element name = "Taxes"                 type = "TaxesInvoiceBillReady"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>  

<!-- -->
    <xsd:complexType name = "RateUsageDetailInvoiceBillReady">
        <xsd:sequence>
            <xsd:element name = "UsageData" type = "UsageData" minOccurs = "1" maxOccurs = "unbounded"/>
        </xsd:sequence>
        <xsd:attribute name = "UnitOfMeasure" type = "unitOfMeasure" use = "required"/>
    </xsd:complexType>

<!-- -->
    <xsd:complexType name = "ServiceChargesInvoiceBillReady">
        <xsd:sequence>
            <xsd:element name = "ServiceCharge" minOccurs = "1" maxOccurs = "unbounded">
                <xsd:complexType> 
                    <xsd:sequence>
                        <xsd:element name = "ChargeCategory"        type = "chargeCategory"/>
                        <xsd:element name = "ChargeDescription"     type = "lengthEighty"/>
                        <xsd:element name = "Amount"                type = "dollarAmount"/>
                        <xsd:element name = "SequentialLineItem"    type = "lengthThree"    minOccurs = "0" maxOccurs = "1"/>
                        <xsd:element name = "ServiceInformation">
                            <xsd:complexType>
                                <xsd:sequence>
                                    <xsd:choice>
                                        <xsd:element name = "UnmeteredInformation"  type = "UnmeteredInformationInvoiceBillReady"/>
                                        <xsd:element name = "MeteredInformation"    type = "MeteredInformationInvoiceBillReady"/>
                                    </xsd:choice>
                                </xsd:sequence>
                            </xsd:complexType>
                        </xsd:element>
                        <xsd:element name = "UsageInformation"      type = "UsageInformationInvoiceBillReady"/>
                        <xsd:element name = "Taxes"                 type = "TaxesInvoiceBillReady"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>  

<!-- -->
    <xsd:complexType name = "TaxesInvoiceBillReady">
        <xsd:sequence>
            <xsd:element name = "Tax" minOccurs = "1" maxOccurs = "unbounded">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name = "TaxDescription"        type = "lengthEighty"   minOccurs = "0" maxOccurs = "1"/>
                        <xsd:element name = "Amount"                type = "dollarAmount"/>
                        <xsd:element name = "SequentialLineItem"    type = "lengthThree"    minOccurs = "0" maxOccurs = "1"/>
                    </xsd:sequence>
                    <xsd:attribute name = "TaxType"                 type = "taxType" use = "required"/>
                    <xsd:attribute name = "TaxExemptStatus"         type = "yesNo" use = "required"/>
                    <xsd:attribute name = "TaxExemptNumber"         type = "lengthThirty"   use = "optional"/>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>

<!-- -->
    <xsd:complexType name = "UnmeteredInformationInvoiceBillReady">
        <xsd:sequence>
            <xsd:element name = "ServiceType"   type = "lengthThirty"/>
            <xsd:element name = "ServiceId"     type = "lengthThirty"/> 
            <xsd:element name = "NumberOfUnits" type = "lengthFive"/>
            <xsd:element name = "RateCode"      type = "RateCode"       minOccurs = "0" maxOccurs = "1"/>
            <xsd:element name = "RateAmount"    type = "RateAmount"     minOccurs = "0" maxOccurs = "1"/>
        </xsd:sequence>
    </xsd:complexType>

<!-- -->
    <xsd:complexType name = "UnmeteredUsageDetailInvoiceBillReady">
        <xsd:sequence>
            <xsd:element name = "UsageData" type = "UsageData"/>
        </xsd:sequence>
        <xsd:attribute name = "UnitOfMeasure" type = "unitOfMeasure" use = "required"/>
    </xsd:complexType>

<!-- -->
    <xsd:complexType name = "UsageInformationInvoiceBillReady">
        <xsd:choice>
            <xsd:element name = "MeteredUsageDetail"    type = "MeteredUsageDetailInvoiceBillReady"     minOccurs = "1" maxOccurs = "unbounded"/> 
            <xsd:element name = "UnmeteredUsageDetail"  type = "UnmeteredUsageDetailInvoiceBillReady"   minOccurs = "1" maxOccurs = "unbounded"/>
        </xsd:choice>
    </xsd:complexType>

</xsd:schema>