<?xml version="1.0" encoding="utf-8" ?>
<schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2">
  <title>Validations for mapping</title>
  <pattern id="prohibitions">
    <rule context="Invoice/Header">
      <assert test="empty(LastModificationDateTime)">Element <name/> may not contain element LastModificationDateTime</assert>
      <assert test="empty(Note)">Element <name/> may not contain element Note</assert>
      <assert test="empty(Attachments)">Element <name/> may not contain element Attachments</assert>
      <assert test="empty(OrderStatus)">Element <name/> may not contain element OrderStatus</assert>
      <assert test="empty(SpecialPriceAuthorization)">Element <name/> may not contain element SpecialPriceAuthorization</assert>
      <assert test="empty(TaxWithholdingExempt)">Element <name/> may not contain element TaxWithholdingExempt</assert>
      <assert test="empty(License)">Element <name/> may not contain element License</assert>
      <assert test="empty(FreightClass)">Element <name/> may not contain element FreightClass</assert>
      <assert test="empty(ShipNote)">Element <name/> may not contain element ShipNote</assert>
      <assert test="empty(DropShipInd)">Element <name/> may not contain element DropShipInd</assert>
      <assert test="empty(BackOrderedInd)">Element <name/> may not contain element BackOrderedInd</assert>
      <assert test="empty(ShipPriorToDueDateInd)">Element <name/> may not contain element ShipPriorToDueDateInd</assert>
      <assert test="empty(Priority)">Element <name/> may not contain element Priority</assert>
      <assert test="empty(EarliestShipDate)">Element <name/> may not contain element EarliestShipDate</assert>
      <assert test="empty(NeedDeliveryDate)">Element <name/> may not contain element NeedDeliveryDate</assert>
      <assert test="empty(PromisedDeliveryDate)">Element <name/> may not contain element PromisedDeliveryDate</assert>
      <assert test="empty(PromisedShipDate)">Element <name/> may not contain element PromisedShipDate</assert>
      <assert test="empty(ExtendedPrice)">Element <name/> may not contain element ExtendedPrice</assert>
      <assert test="empty(TransportationTerm)">Element <name/> may not contain element TransportationTerm</assert>
      <assert test="empty(Charges)">Element <name/> may not contain element Charges</assert>
      <assert test="empty(Distribution)">Element <name/> may not contain element Distribution</assert>
      <assert test="empty(PaymentMethod)">Element <name/> may not contain element PaymentMethod</assert>
      <assert test="empty(TotalAllowance)">Element <name/> may not contain element TotalAllowance</assert>
      <assert test="empty(Allowance)">Element <name/> may not contain element Allowance</assert>
    </rule>
    <rule context="Invoice/Header/DocumentIds">
      <assert test="empty(SupplierDocumentId)">Element <name/> may not contain element SupplierDocumentId</assert>
      <assert test="empty(LogisticsProviderDocumentId)">Element <name/> may not contain element LogisticsProviderDocumentId</assert>
      <assert test="empty(CarrierDocumentId)">Element <name/> may not contain element CarrierDocumentId</assert>
      <assert test="empty(ShippersDocumentId)">Element <name/> may not contain element ShippersDocumentId</assert>
      <assert test="empty(BrokerDocumentId)">Element <name/> may not contain element BrokerDocumentId</assert>
      <assert test="empty(CustomerDocumentId)">Element <name/> may not contain element CustomerDocumentId</assert>
    </rule>
    <rule context="Invoice/Header/DocumentIds/DocumentId">
      <assert test="empty(Revision)">Element <name/> may not contain element Revision</assert>
    </rule>
    <rule context="Invoice/Header/Description">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
      <assert test="empty(@owner)">Element <name/> may not have attribute owner</assert>
    </rule>
    <rule context="Invoice/Header/DocumentReferences">
      <assert test="empty(LedgerDocumentReference)">Element <name/> may not contain element LedgerDocumentReference</assert>
      <assert test="empty(InvoiceDocumentReference)">Element <name/> may not contain element InvoiceDocumentReference</assert>
      <assert test="empty(ProjectReference)">Element <name/> may not contain element ProjectReference</assert>
      <assert test="empty(ReceiptDocumentReference)">Element <name/> may not contain element ReceiptDocumentReference</assert>
      <assert test="empty(RFQDocumentReference)">Element <name/> may not contain element RFQDocumentReference</assert>
      <assert test="empty(MaintenanceOrderReference)">Element <name/> may not contain element MaintenanceOrderReference</assert>
      <assert test="empty(VoucherDocumentReference)">Element <name/> may not contain element VoucherDocumentReference</assert>
      <assert test="empty(CatalogDocumentReference)">Element <name/> may not contain element CatalogDocumentReference</assert>
      <assert test="empty(QuoteDocumentReference)">Element <name/> may not contain element QuoteDocumentReference</assert>
      <assert test="empty(RequisitionDocumentReference)">Element <name/> may not contain element RequisitionDocumentReference</assert>
      <assert test="empty(UOMGroupReference)">Element <name/> may not contain element UOMGroupReference</assert>
    </rule>
    <rule context="Invoice/Header/DocumentReferences/SalesOrderDocumentReference">
      <assert test="empty(DocumentDate)">Element <name/> may not contain element DocumentDate</assert>
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(Name)">Element <name/> may not contain element Name</assert>
      <assert test="empty(Status)">Element <name/> may not contain element Status</assert>
      <assert test="empty(Usage)">Element <name/> may not contain element Usage</assert>
      <assert test="empty(Note)">Element <name/> may not contain element Note</assert>
      <assert test="empty(LineNumber)">Element <name/> may not contain element LineNumber</assert>
      <assert test="empty(ScheduleLineNumber)">Element <name/> may not contain element ScheduleLineNumber</assert>
      <assert test="empty(SubLineNumber)">Element <name/> may not contain element SubLineNumber</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/DocumentReferences/SalesOrderDocumentReference/DocumentIds">
      <assert test="empty(SupplierDocumentId)">Element <name/> may not contain element SupplierDocumentId</assert>
      <assert test="empty(LogisticsProviderDocumentId)">Element <name/> may not contain element LogisticsProviderDocumentId</assert>
      <assert test="empty(CarrierDocumentId)">Element <name/> may not contain element CarrierDocumentId</assert>
      <assert test="empty(ShippersDocumentId)">Element <name/> may not contain element ShippersDocumentId</assert>
      <assert test="empty(BrokerDocumentId)">Element <name/> may not contain element BrokerDocumentId</assert>
      <assert test="empty(CustomerDocumentId)">Element <name/> may not contain element CustomerDocumentId</assert>
    </rule>
    <rule context="Invoice/Header/DocumentReferences/SalesOrderDocumentReference/DocumentIds/DocumentId">
      <assert test="empty(Revision)">Element <name/> may not contain element Revision</assert>
    </rule>
    <rule context="Invoice/Header/DocumentReferences/ContractDocumentReference">
      <assert test="empty(DocumentDate)">Element <name/> may not contain element DocumentDate</assert>
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(Name)">Element <name/> may not contain element Name</assert>
      <assert test="empty(Status)">Element <name/> may not contain element Status</assert>
      <assert test="empty(Usage)">Element <name/> may not contain element Usage</assert>
      <assert test="empty(Note)">Element <name/> may not contain element Note</assert>
      <assert test="empty(LineNumber)">Element <name/> may not contain element LineNumber</assert>
      <assert test="empty(ScheduleLineNumber)">Element <name/> may not contain element ScheduleLineNumber</assert>
      <assert test="empty(SubLineNumber)">Element <name/> may not contain element SubLineNumber</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/DocumentReferences/ContractDocumentReference/DocumentIds">
      <assert test="empty(SupplierDocumentId)">Element <name/> may not contain element SupplierDocumentId</assert>
      <assert test="empty(LogisticsProviderDocumentId)">Element <name/> may not contain element LogisticsProviderDocumentId</assert>
      <assert test="empty(CarrierDocumentId)">Element <name/> may not contain element CarrierDocumentId</assert>
      <assert test="empty(ShippersDocumentId)">Element <name/> may not contain element ShippersDocumentId</assert>
      <assert test="empty(BrokerDocumentId)">Element <name/> may not contain element BrokerDocumentId</assert>
      <assert test="empty(CustomerDocumentId)">Element <name/> may not contain element CustomerDocumentId</assert>
    </rule>
    <rule context="Invoice/Header/DocumentReferences/ContractDocumentReference/DocumentIds/DocumentId">
      <assert test="empty(Revision)">Element <name/> may not contain element Revision</assert>
    </rule>
    <rule context="Invoice/Header/DocumentReferences/PurchaseOrderDocumentReference">
      <assert test="empty(DocumentDate)">Element <name/> may not contain element DocumentDate</assert>
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(Name)">Element <name/> may not contain element Name</assert>
      <assert test="empty(Status)">Element <name/> may not contain element Status</assert>
      <assert test="empty(Usage)">Element <name/> may not contain element Usage</assert>
      <assert test="empty(Note)">Element <name/> may not contain element Note</assert>
      <assert test="empty(LineNumber)">Element <name/> may not contain element LineNumber</assert>
      <assert test="empty(ScheduleLineNumber)">Element <name/> may not contain element ScheduleLineNumber</assert>
      <assert test="empty(SubLineNumber)">Element <name/> may not contain element SubLineNumber</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/DocumentReferences/PurchaseOrderDocumentReference/DocumentIds">
      <assert test="empty(SupplierDocumentId)">Element <name/> may not contain element SupplierDocumentId</assert>
      <assert test="empty(LogisticsProviderDocumentId)">Element <name/> may not contain element LogisticsProviderDocumentId</assert>
      <assert test="empty(CarrierDocumentId)">Element <name/> may not contain element CarrierDocumentId</assert>
      <assert test="empty(ShippersDocumentId)">Element <name/> may not contain element ShippersDocumentId</assert>
      <assert test="empty(BrokerDocumentId)">Element <name/> may not contain element BrokerDocumentId</assert>
      <assert test="empty(CustomerDocumentId)">Element <name/> may not contain element CustomerDocumentId</assert>
    </rule>
    <rule context="Invoice/Header/DocumentReferences/PurchaseOrderDocumentReference/DocumentIds/DocumentId">
      <assert test="empty(Revision)">Element <name/> may not contain element Revision</assert>
    </rule>
    <rule context="Invoice/Header/PaymentTerms">
      <assert test="empty(TermId)">Element <name/> may not contain element TermId</assert>
      <assert test="empty(LineNumber)">Element <name/> may not contain element LineNumber</assert>
      <assert test="empty(ProximoNumberMonth)">Element <name/> may not contain element ProximoNumberMonth</assert>
      <assert test="empty(DayOfMonth)">Element <name/> may not contain element DayOfMonth</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/PaymentTerms/Description">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
      <assert test="empty(@owner)">Element <name/> may not have attribute owner</assert>
    </rule>
    <rule context="Invoice/Header/PaymentTerms/DiscountAmount">
      <assert test="empty(@currency)">Element <name/> may not have attribute currency</assert>
    </rule>
    <rule context="Invoice/Header/PaymentTerms/DiscountPercent">
      <assert test="empty(@uom)">Element <name/> may not have attribute uom</assert>
    </rule>
    <rule context="Invoice/Header/Parties">
      <assert test="empty(CarrierParty)">Element <name/> may not contain element CarrierParty</assert>
      <assert test="empty(BrokerParty)">Element <name/> may not contain element BrokerParty</assert>
      <assert test="empty(EmployeeParty)">Element <name/> may not contain element EmployeeParty</assert>
      <assert test="empty(ImporterParty)">Element <name/> may not contain element ImporterParty</assert>
      <assert test="empty(PublisherParty)">Element <name/> may not contain element PublisherParty</assert>
      <assert test="empty(ReturnToParty)">Element <name/> may not contain element ReturnToParty</assert>
      <assert test="empty(ShipFromParty)">Element <name/> may not contain element ShipFromParty</assert>
      <assert test="empty(ExporterParty)">Element <name/> may not contain element ExporterParty</assert>
      <assert test="empty(JointVentureParty)">Element <name/> may not contain element JointVentureParty</assert>
      <assert test="empty(FreightBillToParty)">Element <name/> may not contain element FreightBillToParty</assert>
      <assert test="empty(ManufacturerParty)">Element <name/> may not contain element ManufacturerParty</assert>
      <assert test="empty(PayFromParty)">Element <name/> may not contain element PayFromParty</assert>
      <assert test="empty(SoldToParty)">Element <name/> may not contain element SoldToParty</assert>
      <assert test="empty(HoldAtParty)">Element <name/> may not contain element HoldAtParty</assert>
      <assert test="empty(ShipToParty)">Element <name/> may not contain element ShipToParty</assert>
    </rule>
    <rule context="Invoice/Header/Parties/RemitToParty">
      <assert test="empty(@oneTime)">Element <name/> may not have attribute oneTime</assert>
      <assert test="empty(@active)">Element <name/> may not have attribute active</assert>
      <assert test="empty(AlternatePartyIds)">Element <name/> may not contain element AlternatePartyIds</assert>
      <assert test="empty(Business)">Element <name/> may not contain element Business</assert>
      <assert test="empty(Currency)">Element <name/> may not contain element Currency</assert>
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(GLEntity)">Element <name/> may not contain element GLEntity</assert>
      <assert test="empty(PaymentMethod)">Element <name/> may not contain element PaymentMethod</assert>
      <assert test="empty(Rating)">Element <name/> may not contain element Rating</assert>
      <assert test="empty(TaxExemptInd)">Element <name/> may not contain element TaxExemptInd</assert>
      <assert test="empty(TermId)">Element <name/> may not contain element TermId</assert>
      <assert test="empty(Attachments)">Element <name/> may not contain element Attachments</assert>
      <assert test="empty(CorrespondenceLanguage)">Element <name/> may not contain element CorrespondenceLanguage</assert>
      <assert test="empty(Qualification)">Element <name/> may not contain element Qualification</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/RemitToParty/PartyId">
      <assert test="empty(SCAC)">Element <name/> may not contain element SCAC</assert>
      <assert test="empty(DUNS)">Element <name/> may not contain element DUNS</assert>
    </rule>
    <rule context="Invoice/Header/Parties/RemitToParty/Name">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Header/Parties/RemitToParty/Addresses">
      <assert test="empty(Address)">Element <name/> may not contain element Address</assert>
      <assert test="empty(ShippingAddress)">Element <name/> may not contain element ShippingAddress</assert>
      <assert test="empty(SecondaryAddress)">Element <name/> may not contain element SecondaryAddress</assert>
      <assert test="empty(DropShipAddress)">Element <name/> may not contain element DropShipAddress</assert>
    </rule>
    <rule context="Invoice/Header/Parties/RemitToParty/Addresses/PrimaryAddress">
      <assert test="empty(AddressId)">Element <name/> may not contain element AddressId</assert>
      <assert test="empty(County)">Element <name/> may not contain element County</assert>
      <assert test="empty(StateOrProvince)">Element <name/> may not contain element StateOrProvince</assert>
      <assert test="empty(Country)">Element <name/> may not contain element Country</assert>
      <assert test="empty(Region)">Element <name/> may not contain element Region</assert>
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(Telephone)">Element <name/> may not contain element Telephone</assert>
      <assert test="empty(FaxNumber)">Element <name/> may not contain element FaxNumber</assert>
      <assert test="empty(EMailAddress)">Element <name/> may not contain element EMailAddress</assert>
      <assert test="empty(URI)">Element <name/> may not contain element URI</assert>
      <assert test="empty(TaxJurisdiction)">Element <name/> may not contain element TaxJurisdiction</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/RemitToParty/Contacts">
      <assert test="empty(ContactAbs)">Element <name/> may not contain element ContactAbs</assert>
      <assert test="empty(SecondaryContact)">Element <name/> may not contain element SecondaryContact</assert>
      <assert test="empty(SalesPerson)">Element <name/> may not contain element SalesPerson</assert>
      <assert test="empty(DeliverToContact)">Element <name/> may not contain element DeliverToContact</assert>
      <assert test="empty(Requester)">Element <name/> may not contain element Requester</assert>
      <assert test="empty(SalesContact)">Element <name/> may not contain element SalesContact</assert>
      <assert test="empty(PrimaryContact)">Element <name/> may not contain element PrimaryContact</assert>
      <assert test="empty(MarketingContact)">Element <name/> may not contain element MarketingContact</assert>
      <assert test="empty(Buyer)">Element <name/> may not contain element Buyer</assert>
      <assert test="empty(Planner)">Element <name/> may not contain element Planner</assert>
      <assert test="empty(AccountingContact)">Element <name/> may not contain element AccountingContact</assert>
    </rule>
    <rule context="Invoice/Header/Parties/RemitToParty/Contacts/Contact">
      <assert test="empty(Telephone)">Element <name/> may not contain element Telephone</assert>
      <assert test="empty(EMailAddress)">Element <name/> may not contain element EMailAddress</assert>
      <assert test="empty(Fax)">Element <name/> may not contain element Fax</assert>
      <assert test="empty(URI)">Element <name/> may not contain element URI</assert>
      <assert test="empty(Addresses)">Element <name/> may not contain element Addresses</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/RemitToParty/Contacts/Contact/Person">
      <assert test="empty(PersonCode)">Element <name/> may not contain element PersonCode</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/RemitToParty/Contacts/Contact/Person/PersonName">
      <assert test="empty(PreferredGivenName)">Element <name/> may not contain element PreferredGivenName</assert>
      <assert test="empty(MiddleName)">Element <name/> may not contain element MiddleName</assert>
      <assert test="empty(Suffix)">Element <name/> may not contain element Suffix</assert>
      <assert test="empty(FormattedName)">Element <name/> may not contain element FormattedName</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/RemitToParty/Contacts/Contact/Person/PersonName/Salutation">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Header/Parties/RemitToParty/Contacts/Contact/Person/PersonName/GivenName">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Header/Parties/RemitToParty/Contacts/Contact/Person/PersonName/FamilyName">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Header/Parties/RemitToParty/Contacts/Contact/Description">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
      <assert test="empty(@owner)">Element <name/> may not have attribute owner</assert>
    </rule>
    <rule context="Invoice/Header/Parties/SupplierParty">
      <assert test="empty(@oneTime)">Element <name/> may not have attribute oneTime</assert>
      <assert test="empty(@active)">Element <name/> may not have attribute active</assert>
      <assert test="empty(AlternatePartyIds)">Element <name/> may not contain element AlternatePartyIds</assert>
      <assert test="empty(Business)">Element <name/> may not contain element Business</assert>
      <assert test="empty(Currency)">Element <name/> may not contain element Currency</assert>
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(GLEntity)">Element <name/> may not contain element GLEntity</assert>
      <assert test="empty(PaymentMethod)">Element <name/> may not contain element PaymentMethod</assert>
      <assert test="empty(Rating)">Element <name/> may not contain element Rating</assert>
      <assert test="empty(TaxExemptInd)">Element <name/> may not contain element TaxExemptInd</assert>
      <assert test="empty(TermId)">Element <name/> may not contain element TermId</assert>
      <assert test="empty(Attachments)">Element <name/> may not contain element Attachments</assert>
      <assert test="empty(CorrespondenceLanguage)">Element <name/> may not contain element CorrespondenceLanguage</assert>
      <assert test="empty(Qualification)">Element <name/> may not contain element Qualification</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/SupplierParty/PartyId">
      <assert test="empty(SCAC)">Element <name/> may not contain element SCAC</assert>
      <assert test="empty(DUNS)">Element <name/> may not contain element DUNS</assert>
    </rule>
    <rule context="Invoice/Header/Parties/SupplierParty/Name">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Header/Parties/SupplierParty/Addresses">
      <assert test="empty(Address)">Element <name/> may not contain element Address</assert>
      <assert test="empty(ShippingAddress)">Element <name/> may not contain element ShippingAddress</assert>
      <assert test="empty(SecondaryAddress)">Element <name/> may not contain element SecondaryAddress</assert>
      <assert test="empty(DropShipAddress)">Element <name/> may not contain element DropShipAddress</assert>
    </rule>
    <rule context="Invoice/Header/Parties/SupplierParty/Addresses/PrimaryAddress">
      <assert test="empty(AddressId)">Element <name/> may not contain element AddressId</assert>
      <assert test="empty(County)">Element <name/> may not contain element County</assert>
      <assert test="empty(StateOrProvince)">Element <name/> may not contain element StateOrProvince</assert>
      <assert test="empty(Country)">Element <name/> may not contain element Country</assert>
      <assert test="empty(Region)">Element <name/> may not contain element Region</assert>
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(Telephone)">Element <name/> may not contain element Telephone</assert>
      <assert test="empty(FaxNumber)">Element <name/> may not contain element FaxNumber</assert>
      <assert test="empty(EMailAddress)">Element <name/> may not contain element EMailAddress</assert>
      <assert test="empty(URI)">Element <name/> may not contain element URI</assert>
      <assert test="empty(TaxJurisdiction)">Element <name/> may not contain element TaxJurisdiction</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/SupplierParty/Contacts">
      <assert test="empty(ContactAbs)">Element <name/> may not contain element ContactAbs</assert>
      <assert test="empty(SecondaryContact)">Element <name/> may not contain element SecondaryContact</assert>
      <assert test="empty(SalesPerson)">Element <name/> may not contain element SalesPerson</assert>
      <assert test="empty(DeliverToContact)">Element <name/> may not contain element DeliverToContact</assert>
      <assert test="empty(Requester)">Element <name/> may not contain element Requester</assert>
      <assert test="empty(SalesContact)">Element <name/> may not contain element SalesContact</assert>
      <assert test="empty(PrimaryContact)">Element <name/> may not contain element PrimaryContact</assert>
      <assert test="empty(MarketingContact)">Element <name/> may not contain element MarketingContact</assert>
      <assert test="empty(Buyer)">Element <name/> may not contain element Buyer</assert>
      <assert test="empty(Planner)">Element <name/> may not contain element Planner</assert>
      <assert test="empty(AccountingContact)">Element <name/> may not contain element AccountingContact</assert>
    </rule>
    <rule context="Invoice/Header/Parties/SupplierParty/Contacts/Contact">
      <assert test="empty(Telephone)">Element <name/> may not contain element Telephone</assert>
      <assert test="empty(EMailAddress)">Element <name/> may not contain element EMailAddress</assert>
      <assert test="empty(Fax)">Element <name/> may not contain element Fax</assert>
      <assert test="empty(URI)">Element <name/> may not contain element URI</assert>
      <assert test="empty(Addresses)">Element <name/> may not contain element Addresses</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/SupplierParty/Contacts/Contact/Person">
      <assert test="empty(PersonCode)">Element <name/> may not contain element PersonCode</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/SupplierParty/Contacts/Contact/Person/PersonName">
      <assert test="empty(PreferredGivenName)">Element <name/> may not contain element PreferredGivenName</assert>
      <assert test="empty(MiddleName)">Element <name/> may not contain element MiddleName</assert>
      <assert test="empty(Suffix)">Element <name/> may not contain element Suffix</assert>
      <assert test="empty(FormattedName)">Element <name/> may not contain element FormattedName</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/SupplierParty/Contacts/Contact/Person/PersonName/Salutation">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Header/Parties/SupplierParty/Contacts/Contact/Person/PersonName/GivenName">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Header/Parties/SupplierParty/Contacts/Contact/Person/PersonName/FamilyName">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Header/Parties/SupplierParty/Contacts/Contact/Description">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
      <assert test="empty(@owner)">Element <name/> may not have attribute owner</assert>
    </rule>
    <rule context="Invoice/Header/Parties/CustomerParty">
      <assert test="empty(@oneTime)">Element <name/> may not have attribute oneTime</assert>
      <assert test="empty(@active)">Element <name/> may not have attribute active</assert>
      <assert test="empty(AlternatePartyIds)">Element <name/> may not contain element AlternatePartyIds</assert>
      <assert test="empty(Business)">Element <name/> may not contain element Business</assert>
      <assert test="empty(Currency)">Element <name/> may not contain element Currency</assert>
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(GLEntity)">Element <name/> may not contain element GLEntity</assert>
      <assert test="empty(PaymentMethod)">Element <name/> may not contain element PaymentMethod</assert>
      <assert test="empty(Rating)">Element <name/> may not contain element Rating</assert>
      <assert test="empty(TaxExemptInd)">Element <name/> may not contain element TaxExemptInd</assert>
      <assert test="empty(TermId)">Element <name/> may not contain element TermId</assert>
      <assert test="empty(Attachments)">Element <name/> may not contain element Attachments</assert>
      <assert test="empty(CorrespondenceLanguage)">Element <name/> may not contain element CorrespondenceLanguage</assert>
      <assert test="empty(Qualification)">Element <name/> may not contain element Qualification</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/CustomerParty/PartyId">
      <assert test="empty(SCAC)">Element <name/> may not contain element SCAC</assert>
      <assert test="empty(DUNS)">Element <name/> may not contain element DUNS</assert>
    </rule>
    <rule context="Invoice/Header/Parties/CustomerParty/Name">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Header/Parties/CustomerParty/Addresses">
      <assert test="empty(Address)">Element <name/> may not contain element Address</assert>
      <assert test="empty(ShippingAddress)">Element <name/> may not contain element ShippingAddress</assert>
      <assert test="empty(SecondaryAddress)">Element <name/> may not contain element SecondaryAddress</assert>
      <assert test="empty(DropShipAddress)">Element <name/> may not contain element DropShipAddress</assert>
    </rule>
    <rule context="Invoice/Header/Parties/CustomerParty/Addresses/PrimaryAddress">
      <assert test="empty(AddressId)">Element <name/> may not contain element AddressId</assert>
      <assert test="empty(County)">Element <name/> may not contain element County</assert>
      <assert test="empty(StateOrProvince)">Element <name/> may not contain element StateOrProvince</assert>
      <assert test="empty(Country)">Element <name/> may not contain element Country</assert>
      <assert test="empty(Region)">Element <name/> may not contain element Region</assert>
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(Telephone)">Element <name/> may not contain element Telephone</assert>
      <assert test="empty(FaxNumber)">Element <name/> may not contain element FaxNumber</assert>
      <assert test="empty(EMailAddress)">Element <name/> may not contain element EMailAddress</assert>
      <assert test="empty(URI)">Element <name/> may not contain element URI</assert>
      <assert test="empty(TaxJurisdiction)">Element <name/> may not contain element TaxJurisdiction</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/CustomerParty/Contacts">
      <assert test="empty(ContactAbs)">Element <name/> may not contain element ContactAbs</assert>
      <assert test="empty(SecondaryContact)">Element <name/> may not contain element SecondaryContact</assert>
      <assert test="empty(SalesPerson)">Element <name/> may not contain element SalesPerson</assert>
      <assert test="empty(DeliverToContact)">Element <name/> may not contain element DeliverToContact</assert>
      <assert test="empty(Requester)">Element <name/> may not contain element Requester</assert>
      <assert test="empty(SalesContact)">Element <name/> may not contain element SalesContact</assert>
      <assert test="empty(PrimaryContact)">Element <name/> may not contain element PrimaryContact</assert>
      <assert test="empty(MarketingContact)">Element <name/> may not contain element MarketingContact</assert>
      <assert test="empty(Buyer)">Element <name/> may not contain element Buyer</assert>
      <assert test="empty(Planner)">Element <name/> may not contain element Planner</assert>
      <assert test="empty(AccountingContact)">Element <name/> may not contain element AccountingContact</assert>
    </rule>
    <rule context="Invoice/Header/Parties/CustomerParty/Contacts/Contact">
      <assert test="empty(Telephone)">Element <name/> may not contain element Telephone</assert>
      <assert test="empty(EMailAddress)">Element <name/> may not contain element EMailAddress</assert>
      <assert test="empty(Fax)">Element <name/> may not contain element Fax</assert>
      <assert test="empty(URI)">Element <name/> may not contain element URI</assert>
      <assert test="empty(Addresses)">Element <name/> may not contain element Addresses</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/CustomerParty/Contacts/Contact/Person">
      <assert test="empty(PersonCode)">Element <name/> may not contain element PersonCode</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/CustomerParty/Contacts/Contact/Person/PersonName">
      <assert test="empty(PreferredGivenName)">Element <name/> may not contain element PreferredGivenName</assert>
      <assert test="empty(MiddleName)">Element <name/> may not contain element MiddleName</assert>
      <assert test="empty(Suffix)">Element <name/> may not contain element Suffix</assert>
      <assert test="empty(FormattedName)">Element <name/> may not contain element FormattedName</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/CustomerParty/Contacts/Contact/Person/PersonName/Salutation">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Header/Parties/CustomerParty/Contacts/Contact/Person/PersonName/GivenName">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Header/Parties/CustomerParty/Contacts/Contact/Person/PersonName/FamilyName">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Header/Parties/CustomerParty/Contacts/Contact/Description">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
      <assert test="empty(@owner)">Element <name/> may not have attribute owner</assert>
    </rule>
    <rule context="Invoice/Header/Parties/BillToParty">
      <assert test="empty(@oneTime)">Element <name/> may not have attribute oneTime</assert>
      <assert test="empty(@active)">Element <name/> may not have attribute active</assert>
      <assert test="empty(AlternatePartyIds)">Element <name/> may not contain element AlternatePartyIds</assert>
      <assert test="empty(Business)">Element <name/> may not contain element Business</assert>
      <assert test="empty(Currency)">Element <name/> may not contain element Currency</assert>
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(GLEntity)">Element <name/> may not contain element GLEntity</assert>
      <assert test="empty(PaymentMethod)">Element <name/> may not contain element PaymentMethod</assert>
      <assert test="empty(Rating)">Element <name/> may not contain element Rating</assert>
      <assert test="empty(TaxExemptInd)">Element <name/> may not contain element TaxExemptInd</assert>
      <assert test="empty(TermId)">Element <name/> may not contain element TermId</assert>
      <assert test="empty(Attachments)">Element <name/> may not contain element Attachments</assert>
      <assert test="empty(CorrespondenceLanguage)">Element <name/> may not contain element CorrespondenceLanguage</assert>
      <assert test="empty(Qualification)">Element <name/> may not contain element Qualification</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/BillToParty/PartyId">
      <assert test="empty(SCAC)">Element <name/> may not contain element SCAC</assert>
      <assert test="empty(DUNS)">Element <name/> may not contain element DUNS</assert>
    </rule>
    <rule context="Invoice/Header/Parties/BillToParty/Name">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Header/Parties/BillToParty/Addresses">
      <assert test="empty(Address)">Element <name/> may not contain element Address</assert>
      <assert test="empty(ShippingAddress)">Element <name/> may not contain element ShippingAddress</assert>
      <assert test="empty(SecondaryAddress)">Element <name/> may not contain element SecondaryAddress</assert>
      <assert test="empty(DropShipAddress)">Element <name/> may not contain element DropShipAddress</assert>
    </rule>
    <rule context="Invoice/Header/Parties/BillToParty/Addresses/PrimaryAddress">
      <assert test="empty(AddressId)">Element <name/> may not contain element AddressId</assert>
      <assert test="empty(County)">Element <name/> may not contain element County</assert>
      <assert test="empty(StateOrProvince)">Element <name/> may not contain element StateOrProvince</assert>
      <assert test="empty(Country)">Element <name/> may not contain element Country</assert>
      <assert test="empty(Region)">Element <name/> may not contain element Region</assert>
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(Telephone)">Element <name/> may not contain element Telephone</assert>
      <assert test="empty(FaxNumber)">Element <name/> may not contain element FaxNumber</assert>
      <assert test="empty(EMailAddress)">Element <name/> may not contain element EMailAddress</assert>
      <assert test="empty(URI)">Element <name/> may not contain element URI</assert>
      <assert test="empty(TaxJurisdiction)">Element <name/> may not contain element TaxJurisdiction</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/BillToParty/Contacts">
      <assert test="empty(ContactAbs)">Element <name/> may not contain element ContactAbs</assert>
      <assert test="empty(SecondaryContact)">Element <name/> may not contain element SecondaryContact</assert>
      <assert test="empty(SalesPerson)">Element <name/> may not contain element SalesPerson</assert>
      <assert test="empty(DeliverToContact)">Element <name/> may not contain element DeliverToContact</assert>
      <assert test="empty(Requester)">Element <name/> may not contain element Requester</assert>
      <assert test="empty(SalesContact)">Element <name/> may not contain element SalesContact</assert>
      <assert test="empty(PrimaryContact)">Element <name/> may not contain element PrimaryContact</assert>
      <assert test="empty(MarketingContact)">Element <name/> may not contain element MarketingContact</assert>
      <assert test="empty(Buyer)">Element <name/> may not contain element Buyer</assert>
      <assert test="empty(Planner)">Element <name/> may not contain element Planner</assert>
      <assert test="empty(AccountingContact)">Element <name/> may not contain element AccountingContact</assert>
    </rule>
    <rule context="Invoice/Header/Parties/BillToParty/Contacts/Contact">
      <assert test="empty(Telephone)">Element <name/> may not contain element Telephone</assert>
      <assert test="empty(EMailAddress)">Element <name/> may not contain element EMailAddress</assert>
      <assert test="empty(Fax)">Element <name/> may not contain element Fax</assert>
      <assert test="empty(URI)">Element <name/> may not contain element URI</assert>
      <assert test="empty(Addresses)">Element <name/> may not contain element Addresses</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/BillToParty/Contacts/Contact/Person">
      <assert test="empty(PersonCode)">Element <name/> may not contain element PersonCode</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/BillToParty/Contacts/Contact/Person/PersonName">
      <assert test="empty(PreferredGivenName)">Element <name/> may not contain element PreferredGivenName</assert>
      <assert test="empty(MiddleName)">Element <name/> may not contain element MiddleName</assert>
      <assert test="empty(Suffix)">Element <name/> may not contain element Suffix</assert>
      <assert test="empty(FormattedName)">Element <name/> may not contain element FormattedName</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/Parties/BillToParty/Contacts/Contact/Person/PersonName/Salutation">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Header/Parties/BillToParty/Contacts/Contact/Person/PersonName/GivenName">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Header/Parties/BillToParty/Contacts/Contact/Person/PersonName/FamilyName">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Header/Parties/BillToParty/Contacts/Contact/Description">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
      <assert test="empty(@owner)">Element <name/> may not have attribute owner</assert>
    </rule>
    <rule context="Invoice/Header/Reason">
      <assert test="empty(@code)">Element <name/> may not have attribute code</assert>
    </rule>
    <rule context="Invoice/Header/Tax">
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(LineNumber)">Element <name/> may not contain element LineNumber</assert>
      <assert test="empty(TaxCode)">Element <name/> may not contain element TaxCode</assert>
      <assert test="empty(TaxJurisdiction)">Element <name/> may not contain element TaxJurisdiction</assert>
      <assert test="empty(Charges)">Element <name/> may not contain element Charges</assert>
      <assert test="empty(Tax)">Element <name/> may not contain element Tax</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/UserArea/StaffingAdditionalData/CustomerReportingRequirements">
      <assert test="empty(ManagerName)">Element <name/> may not contain element ManagerName</assert>
      <assert test="empty(SupervisorName)">Element <name/> may not contain element SupervisorName</assert>
      <assert test="empty(ContactName)">Element <name/> may not contain element ContactName</assert>
      <assert test="empty(LocationCode)">Element <name/> may not contain element LocationCode</assert>
      <assert test="empty(LocationName)">Element <name/> may not contain element LocationName</assert>
      <assert test="empty(CustomerJobCode)">Element <name/> may not contain element CustomerJobCode</assert>
      <assert test="empty(CustomerJobDescription)">Element <name/> may not contain element CustomerJobDescription</assert>
      <assert test="empty(AccountCode)">Element <name/> may not contain element AccountCode</assert>
      <assert test="empty(ExternalOrderNumber)">Element <name/> may not contain element ExternalOrderNumber</assert>
      <assert test="empty(ExternalReqNumber)">Element <name/> may not contain element ExternalReqNumber</assert>
      <assert test="empty(Entity)">Element <name/> may not contain element Entity</assert>
      <assert test="empty(SubEntity)">Element <name/> may not contain element SubEntity</assert>
      <assert test="empty(Shift)">Element <name/> may not contain element Shift</assert>
      <assert test="empty(AdditionalRequirement)">Element <name/> may not contain element AdditionalRequirement</assert>
      <assert test="empty(PurchaseOrderLineItem)">Element <name/> may not contain element PurchaseOrderLineItem</assert>
    </rule>
    <rule context="Invoice/Header/UserArea/StaffingAdditionalData/ReferenceInformation">
      <assert test="empty(OrderId)">Element <name/> may not contain element OrderId</assert>
      <assert test="empty(PositionId)">Element <name/> may not contain element PositionId</assert>
      <assert test="empty(IntermediaryId)">Element <name/> may not contain element IntermediaryId</assert>
      <assert test="empty(StaffingSupplierId)">Element <name/> may not contain element StaffingSupplierId</assert>
      <assert test="empty(StaffingCustomerId)">Element <name/> may not contain element StaffingCustomerId</assert>
      <assert test="empty(MasterOrderId)">Element <name/> may not contain element MasterOrderId</assert>
      <assert test="empty(HumanResourceId)">Element <name/> may not contain element HumanResourceId</assert>
      <assert test="empty(AssignmentId)">Element <name/> may not contain element AssignmentId</assert>
      <assert test="empty(DocumentId)">Element <name/> may not contain element DocumentId</assert>
      <assert test="empty(StaffingSupplierOrgUnitId)">Element <name/> may not contain element StaffingSupplierOrgUnitId</assert>
      <assert test="empty(InvoiceId)">Element <name/> may not contain element InvoiceId</assert>
      <assert test="empty(BillToEntityId)">Element <name/> may not contain element BillToEntityId</assert>
      <assert test="empty(StaffingOrganizationId)">Element <name/> may not contain element StaffingOrganizationId</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/UserArea/StaffingAdditionalData/ReferenceInformation/StaffingCustomerOrgUnitId">
      <assert test="empty(@validFrom)">Element <name/> may not have attribute validFrom</assert>
      <assert test="empty(@idOwner)">Element <name/> may not have attribute idOwner</assert>
      <assert test="empty(@validTo)">Element <name/> may not have attribute validTo</assert>
      <assert test="empty(IdValue)">Element <name/> may not contain element IdValue</assert>
    </rule>
    <rule context="Invoice/Header/UserArea/StaffingOrganization">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
      <assert test="empty(@typeOfOrganization)">Element <name/> may not have attribute typeOfOrganization</assert>
      <assert test="empty(Organization)">Element <name/> may not contain element Organization</assert>
      <assert test="empty(ReferenceIdInfo)">Element <name/> may not contain element ReferenceIdInfo</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/UserArea/StaffingOrganization/PaymentInfo">
      <assert test="empty(OrganizationId)">Element <name/> may not contain element OrganizationId</assert>
      <assert test="empty(OrganizationalUnitId)">Element <name/> may not contain element OrganizationalUnitId</assert>
      <assert test="empty(VATRate)">Element <name/> may not contain element VATRate</assert>
      <assert test="empty(TaxEvaluation)">Element <name/> may not contain element TaxEvaluation</assert>
      <assert test="empty(PaymentCondition)">Element <name/> may not contain element PaymentCondition</assert>
      <assert test="empty(Capital)">Element <name/> may not contain element Capital</assert>
      <assert test="empty(FinancialGuarantee)">Element <name/> may not contain element FinancialGuarantee</assert>
      <assert test="empty(CollectiveAgreement)">Element <name/> may not contain element CollectiveAgreement</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Header/UserArea/StaffingOrganization/PaymentInfo/BankAccountInfo">
      <assert test="empty(BankAccountForeign)">Element <name/> may not contain element BankAccountForeign</assert>
    </rule>
    <rule context="Invoice/Header/UserArea/StaffingOrganization/PaymentInfo/BankAccountInfo/BankInfoByJurisdiction">
      <assert test="empty(BankWindow)">Element <name/> may not contain element BankWindow</assert>
      <assert test="empty(BankAccountKey)">Element <name/> may not contain element BankAccountKey</assert>
      <assert test="empty(BankAccountType)">Element <name/> may not contain element BankAccountType</assert>
      <assert test="empty(BankAccountHolder)">Element <name/> may not contain element BankAccountHolder</assert>
    </rule>
    <rule context="Invoice/Line">
      <assert test="empty(OrderItem)">Element <name/> may not contain element OrderItem</assert>
      <assert test="empty(OrderQuantity)">Element <name/> may not contain element OrderQuantity</assert>
      <assert test="empty(UnitPrice)">Element <name/> may not contain element UnitPrice</assert>
      <assert test="empty(ExtendedPrice)">Element <name/> may not contain element ExtendedPrice</assert>
      <assert test="empty(EarliestShipDate)">Element <name/> may not contain element EarliestShipDate</assert>
      <assert test="empty(BackOrderedQuantity)">Element <name/> may not contain element BackOrderedQuantity</assert>
      <assert test="empty(NeedDeliveryDate)">Element <name/> may not contain element NeedDeliveryDate</assert>
      <assert test="empty(PromisedDeliveryDate)">Element <name/> may not contain element PromisedDeliveryDate</assert>
      <assert test="empty(PromisedShipDate)">Element <name/> may not contain element PromisedShipDate</assert>
      <assert test="empty(TaxWithholdingExempt)">Element <name/> may not contain element TaxWithholdingExempt</assert>
      <assert test="empty(Note)">Element <name/> may not contain element Note</assert>
      <assert test="empty(SpecialHandlingNote)">Element <name/> may not contain element SpecialHandlingNote</assert>
      <assert test="empty(ShippingNote)">Element <name/> may not contain element ShippingNote</assert>
      <assert test="empty(ActualTemperature)">Element <name/> may not contain element ActualTemperature</assert>
      <assert test="empty(LoadingTemperature)">Element <name/> may not contain element LoadingTemperature</assert>
      <assert test="empty(DeliveryTemperature)">Element <name/> may not contain element DeliveryTemperature</assert>
      <assert test="empty(MaximumTemperature)">Element <name/> may not contain element MaximumTemperature</assert>
      <assert test="empty(MinimumTemperature)">Element <name/> may not contain element MinimumTemperature</assert>
      <assert test="empty(License)">Element <name/> may not contain element License</assert>
      <assert test="empty(FreightClass)">Element <name/> may not contain element FreightClass</assert>
      <assert test="empty(ShipNote)">Element <name/> may not contain element ShipNote</assert>
      <assert test="empty(Priority)">Element <name/> may not contain element Priority</assert>
      <assert test="empty(PackingMaterial)">Element <name/> may not contain element PackingMaterial</assert>
      <assert test="empty(DropShipInd)">Element <name/> may not contain element DropShipInd</assert>
      <assert test="empty(BackOrderedInd)">Element <name/> may not contain element BackOrderedInd</assert>
      <assert test="empty(ShipPriorToDueDateInd)">Element <name/> may not contain element ShipPriorToDueDateInd</assert>
      <assert test="empty(SubstitutionAllowedInd)">Element <name/> may not contain element SubstitutionAllowedInd</assert>
      <assert test="empty(Distribution)">Element <name/> may not contain element Distribution</assert>
      <assert test="empty(TransportationTerm)">Element <name/> may not contain element TransportationTerm</assert>
      <assert test="empty(OrderStatus)">Element <name/> may not contain element OrderStatus</assert>
      <assert test="empty(Parties)">Element <name/> may not contain element Parties</assert>
      <assert test="empty(PaymentTerms)">Element <name/> may not contain element PaymentTerms</assert>
      <assert test="empty(Attachments)">Element <name/> may not contain element Attachments</assert>
      <assert test="empty(ProjectActivity)">Element <name/> may not contain element ProjectActivity</assert>
      <assert test="empty(ProjectResource)">Element <name/> may not contain element ProjectResource</assert>
      <assert test="empty(Allowance)">Element <name/> may not contain element Allowance</assert>
    </rule>
    <rule context="Invoice/Line/Description">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
      <assert test="empty(@owner)">Element <name/> may not have attribute owner</assert>
    </rule>
    <rule context="Invoice/Line/Charges">
      <assert test="empty(AdditionalCharge)">Element <name/> may not contain element AdditionalCharge</assert>
      <assert test="empty(OriginPortCharge)">Element <name/> may not contain element OriginPortCharge</assert>
      <assert test="empty(TransportPlusAdditionalCharge)">Element <name/> may not contain element TransportPlusAdditionalCharge</assert>
      <assert test="empty(WeightValuationCharge)">Element <name/> may not contain element WeightValuationCharge</assert>
      <assert test="empty(MiscellaneousCharge)">Element <name/> may not contain element MiscellaneousCharge</assert>
      <assert test="empty(TransportationCharge)">Element <name/> may not contain element TransportationCharge</assert>
      <assert test="empty(BasicFreightCharge)">Element <name/> may not contain element BasicFreightCharge</assert>
      <assert test="empty(SupplementaryCharge)">Element <name/> may not contain element SupplementaryCharge</assert>
      <assert test="empty(DestinationHaulageCharge)">Element <name/> may not contain element DestinationHaulageCharge</assert>
      <assert test="empty(AllCostsToLocationCharge)">Element <name/> may not contain element AllCostsToLocationCharge</assert>
      <assert test="empty(SpecificAmountCharge)">Element <name/> may not contain element SpecificAmountCharge</assert>
      <assert test="empty(TransportToLocationCharge)">Element <name/> may not contain element TransportToLocationCharge</assert>
      <assert test="empty(DestinationPortCharge)">Element <name/> may not contain element DestinationPortCharge</assert>
      <assert test="empty(AllCharge)">Element <name/> may not contain element AllCharge</assert>
      <assert test="empty(DistribursmentCharge)">Element <name/> may not contain element DistribursmentCharge</assert>
    </rule>
    <rule context="Invoice/Line/Charges/Charge">
      <assert test="empty(Id)">Element <name/> may not contain element Id</assert>
      <assert test="empty(Distribution)">Element <name/> may not contain element Distribution</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Line/Charges/Charge/Cost">
      <assert test="empty(FunctionalAmout)">Element <name/> may not contain element FunctionalAmout</assert>
    </rule>
    <rule context="Invoice/Line/Charges/Charge/Description">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
      <assert test="empty(@owner)">Element <name/> may not have attribute owner</assert>
    </rule>
    <rule context="Invoice/Line/Charges/TotalCharge">
      <assert test="empty(Id)">Element <name/> may not contain element Id</assert>
      <assert test="empty(Cost)">Element <name/> may not contain element Cost</assert>
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(Distribution)">Element <name/> may not contain element Distribution</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Line/Tax">
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(LineNumber)">Element <name/> may not contain element LineNumber</assert>
      <assert test="empty(TaxCode)">Element <name/> may not contain element TaxCode</assert>
      <assert test="empty(TaxJurisdiction)">Element <name/> may not contain element TaxJurisdiction</assert>
      <assert test="empty(Charges)">Element <name/> may not contain element Charges</assert>
      <assert test="empty(Tax)">Element <name/> may not contain element Tax</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Line/DocumentReferences">
      <assert test="empty(LedgerDocumentReference)">Element <name/> may not contain element LedgerDocumentReference</assert>
      <assert test="empty(InvoiceDocumentReference)">Element <name/> may not contain element InvoiceDocumentReference</assert>
      <assert test="empty(ProjectReference)">Element <name/> may not contain element ProjectReference</assert>
      <assert test="empty(ReceiptDocumentReference)">Element <name/> may not contain element ReceiptDocumentReference</assert>
      <assert test="empty(RFQDocumentReference)">Element <name/> may not contain element RFQDocumentReference</assert>
      <assert test="empty(MaintenanceOrderReference)">Element <name/> may not contain element MaintenanceOrderReference</assert>
      <assert test="empty(VoucherDocumentReference)">Element <name/> may not contain element VoucherDocumentReference</assert>
      <assert test="empty(CatalogDocumentReference)">Element <name/> may not contain element CatalogDocumentReference</assert>
      <assert test="empty(QuoteDocumentReference)">Element <name/> may not contain element QuoteDocumentReference</assert>
      <assert test="empty(RequisitionDocumentReference)">Element <name/> may not contain element RequisitionDocumentReference</assert>
      <assert test="empty(UOMGroupReference)">Element <name/> may not contain element UOMGroupReference</assert>
    </rule>
    <rule context="Invoice/Line/DocumentReferences/SalesOrderDocumentReference">
      <assert test="empty(DocumentDate)">Element <name/> may not contain element DocumentDate</assert>
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(Name)">Element <name/> may not contain element Name</assert>
      <assert test="empty(Status)">Element <name/> may not contain element Status</assert>
      <assert test="empty(Usage)">Element <name/> may not contain element Usage</assert>
      <assert test="empty(Note)">Element <name/> may not contain element Note</assert>
      <assert test="empty(LineNumber)">Element <name/> may not contain element LineNumber</assert>
      <assert test="empty(ScheduleLineNumber)">Element <name/> may not contain element ScheduleLineNumber</assert>
      <assert test="empty(SubLineNumber)">Element <name/> may not contain element SubLineNumber</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Line/DocumentReferences/SalesOrderDocumentReference/DocumentIds">
      <assert test="empty(SupplierDocumentId)">Element <name/> may not contain element SupplierDocumentId</assert>
      <assert test="empty(LogisticsProviderDocumentId)">Element <name/> may not contain element LogisticsProviderDocumentId</assert>
      <assert test="empty(CarrierDocumentId)">Element <name/> may not contain element CarrierDocumentId</assert>
      <assert test="empty(ShippersDocumentId)">Element <name/> may not contain element ShippersDocumentId</assert>
      <assert test="empty(BrokerDocumentId)">Element <name/> may not contain element BrokerDocumentId</assert>
      <assert test="empty(CustomerDocumentId)">Element <name/> may not contain element CustomerDocumentId</assert>
    </rule>
    <rule context="Invoice/Line/DocumentReferences/SalesOrderDocumentReference/DocumentIds/DocumentId">
      <assert test="empty(Revision)">Element <name/> may not contain element Revision</assert>
    </rule>
    <rule context="Invoice/Line/DocumentReferences/ContractDocumentReference">
      <assert test="empty(DocumentDate)">Element <name/> may not contain element DocumentDate</assert>
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(Name)">Element <name/> may not contain element Name</assert>
      <assert test="empty(Status)">Element <name/> may not contain element Status</assert>
      <assert test="empty(Usage)">Element <name/> may not contain element Usage</assert>
      <assert test="empty(Note)">Element <name/> may not contain element Note</assert>
      <assert test="empty(LineNumber)">Element <name/> may not contain element LineNumber</assert>
      <assert test="empty(ScheduleLineNumber)">Element <name/> may not contain element ScheduleLineNumber</assert>
      <assert test="empty(SubLineNumber)">Element <name/> may not contain element SubLineNumber</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Line/DocumentReferences/ContractDocumentReference/DocumentIds">
      <assert test="empty(SupplierDocumentId)">Element <name/> may not contain element SupplierDocumentId</assert>
      <assert test="empty(LogisticsProviderDocumentId)">Element <name/> may not contain element LogisticsProviderDocumentId</assert>
      <assert test="empty(CarrierDocumentId)">Element <name/> may not contain element CarrierDocumentId</assert>
      <assert test="empty(ShippersDocumentId)">Element <name/> may not contain element ShippersDocumentId</assert>
      <assert test="empty(BrokerDocumentId)">Element <name/> may not contain element BrokerDocumentId</assert>
      <assert test="empty(CustomerDocumentId)">Element <name/> may not contain element CustomerDocumentId</assert>
    </rule>
    <rule context="Invoice/Line/DocumentReferences/ContractDocumentReference/DocumentIds/DocumentId">
      <assert test="empty(Revision)">Element <name/> may not contain element Revision</assert>
    </rule>
    <rule context="Invoice/Line/DocumentReferences/PurchaseOrderDocumentReference">
      <assert test="empty(DocumentDate)">Element <name/> may not contain element DocumentDate</assert>
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(Name)">Element <name/> may not contain element Name</assert>
      <assert test="empty(Status)">Element <name/> may not contain element Status</assert>
      <assert test="empty(Usage)">Element <name/> may not contain element Usage</assert>
      <assert test="empty(Note)">Element <name/> may not contain element Note</assert>
      <assert test="empty(LineNumber)">Element <name/> may not contain element LineNumber</assert>
      <assert test="empty(ScheduleLineNumber)">Element <name/> may not contain element ScheduleLineNumber</assert>
      <assert test="empty(SubLineNumber)">Element <name/> may not contain element SubLineNumber</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Line/DocumentReferences/PurchaseOrderDocumentReference/DocumentIds">
      <assert test="empty(SupplierDocumentId)">Element <name/> may not contain element SupplierDocumentId</assert>
      <assert test="empty(LogisticsProviderDocumentId)">Element <name/> may not contain element LogisticsProviderDocumentId</assert>
      <assert test="empty(CarrierDocumentId)">Element <name/> may not contain element CarrierDocumentId</assert>
      <assert test="empty(ShippersDocumentId)">Element <name/> may not contain element ShippersDocumentId</assert>
      <assert test="empty(BrokerDocumentId)">Element <name/> may not contain element BrokerDocumentId</assert>
      <assert test="empty(CustomerDocumentId)">Element <name/> may not contain element CustomerDocumentId</assert>
    </rule>
    <rule context="Invoice/Line/DocumentReferences/PurchaseOrderDocumentReference/DocumentIds/DocumentId">
      <assert test="empty(Revision)">Element <name/> may not contain element Revision</assert>
    </rule>
    <rule context="Invoice/Line/Price">
      <assert test="empty(FunctionalAmout)">Element <name/> may not contain element FunctionalAmout</assert>
    </rule>
    <rule context="Invoice/Line/Line">
      <assert test="empty(OrderItem)">Element <name/> may not contain element OrderItem</assert>
      <assert test="empty(OrderQuantity)">Element <name/> may not contain element OrderQuantity</assert>
      <assert test="empty(UnitPrice)">Element <name/> may not contain element UnitPrice</assert>
      <assert test="empty(ExtendedPrice)">Element <name/> may not contain element ExtendedPrice</assert>
      <assert test="empty(TotalAmount)">Element <name/> may not contain element TotalAmount</assert>
      <assert test="empty(EarliestShipDate)">Element <name/> may not contain element EarliestShipDate</assert>
      <assert test="empty(BackOrderedQuantity)">Element <name/> may not contain element BackOrderedQuantity</assert>
      <assert test="empty(NeedDeliveryDate)">Element <name/> may not contain element NeedDeliveryDate</assert>
      <assert test="empty(PromisedDeliveryDate)">Element <name/> may not contain element PromisedDeliveryDate</assert>
      <assert test="empty(PromisedShipDate)">Element <name/> may not contain element PromisedShipDate</assert>
      <assert test="empty(TaxWithholdingExempt)">Element <name/> may not contain element TaxWithholdingExempt</assert>
      <assert test="empty(Description)">Element <name/> may not contain element Description</assert>
      <assert test="empty(Note)">Element <name/> may not contain element Note</assert>
      <assert test="empty(SpecialHandlingNote)">Element <name/> may not contain element SpecialHandlingNote</assert>
      <assert test="empty(ShippingNote)">Element <name/> may not contain element ShippingNote</assert>
      <assert test="empty(ActualTemperature)">Element <name/> may not contain element ActualTemperature</assert>
      <assert test="empty(LoadingTemperature)">Element <name/> may not contain element LoadingTemperature</assert>
      <assert test="empty(DeliveryTemperature)">Element <name/> may not contain element DeliveryTemperature</assert>
      <assert test="empty(MaximumTemperature)">Element <name/> may not contain element MaximumTemperature</assert>
      <assert test="empty(MinimumTemperature)">Element <name/> may not contain element MinimumTemperature</assert>
      <assert test="empty(License)">Element <name/> may not contain element License</assert>
      <assert test="empty(FreightClass)">Element <name/> may not contain element FreightClass</assert>
      <assert test="empty(ShipNote)">Element <name/> may not contain element ShipNote</assert>
      <assert test="empty(Priority)">Element <name/> may not contain element Priority</assert>
      <assert test="empty(ReasonCode)">Element <name/> may not contain element ReasonCode</assert>
      <assert test="empty(PackingMaterial)">Element <name/> may not contain element PackingMaterial</assert>
      <assert test="empty(DropShipInd)">Element <name/> may not contain element DropShipInd</assert>
      <assert test="empty(BackOrderedInd)">Element <name/> may not contain element BackOrderedInd</assert>
      <assert test="empty(ShipPriorToDueDateInd)">Element <name/> may not contain element ShipPriorToDueDateInd</assert>
      <assert test="empty(SubstitutionAllowedInd)">Element <name/> may not contain element SubstitutionAllowedInd</assert>
      <assert test="empty(Distribution)">Element <name/> may not contain element Distribution</assert>
      <assert test="empty(TransportationTerm)">Element <name/> may not contain element TransportationTerm</assert>
      <assert test="empty(OrderStatus)">Element <name/> may not contain element OrderStatus</assert>
      <assert test="empty(Parties)">Element <name/> may not contain element Parties</assert>
      <assert test="empty(Charges)">Element <name/> may not contain element Charges</assert>
      <assert test="empty(Tax)">Element <name/> may not contain element Tax</assert>
      <assert test="empty(PaymentTerms)">Element <name/> may not contain element PaymentTerms</assert>
      <assert test="empty(DocumentReferences)">Element <name/> may not contain element DocumentReferences</assert>
      <assert test="empty(Attachments)">Element <name/> may not contain element Attachments</assert>
      <assert test="empty(Price)">Element <name/> may not contain element Price</assert>
      <assert test="empty(ItemQuantity)">Element <name/> may not contain element ItemQuantity</assert>
      <assert test="empty(ProjectActivity)">Element <name/> may not contain element ProjectActivity</assert>
      <assert test="empty(ProjectResource)">Element <name/> may not contain element ProjectResource</assert>
      <assert test="empty(Allowance)">Element <name/> may not contain element Allowance</assert>
      <assert test="empty(Line)">Element <name/> may not contain element Line</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/Id">
      <assert test="empty(@validFrom)">Element <name/> may not have attribute validFrom</assert>
      <assert test="empty(@validTo)">Element <name/> may not have attribute validTo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/Id/IdValue">
      <assert test="empty(@name)">Element <name/> may not have attribute name</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedResource/Person/Id">
      <assert test="empty(@validFrom)">Element <name/> may not have attribute validFrom</assert>
      <assert test="empty(@validTo)">Element <name/> may not have attribute validTo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedResource/Person/Id/IdValue">
      <assert test="empty(@name)">Element <name/> may not have attribute name</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedResource/Person/PersonName">
      <assert test="empty(@script)">Element <name/> may not have attribute script</assert>
      <assert test="empty(LegalName)">Element <name/> may not contain element LegalName</assert>
      <assert test="empty(PreferredGivenName)">Element <name/> may not contain element PreferredGivenName</assert>
      <assert test="empty(MiddleName)">Element <name/> may not contain element MiddleName</assert>
      <assert test="empty(Affix)">Element <name/> may not contain element Affix</assert>
      <assert test="empty(AlternateScript)">Element <name/> may not contain element AlternateScript</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedResource/Person/PersonName/FamilyName">
      <assert test="empty(@primary)">Element <name/> may not have attribute primary</assert>
      <assert test="empty(@prefix)">Element <name/> may not have attribute prefix</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedResource/Resource">
      <assert test="empty(@type)">Element <name/> may not have attribute type</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedResource/Resource/Id">
      <assert test="empty(@validFrom)">Element <name/> may not have attribute validFrom</assert>
      <assert test="empty(@idOwner)">Element <name/> may not have attribute idOwner</assert>
      <assert test="empty(@validTo)">Element <name/> may not have attribute validTo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedResource/Resource/Id/IdValue">
      <assert test="empty(@name)">Element <name/> may not have attribute name</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedResource/Resource/AdditionalData">
      <assert test="empty(@type)">Element <name/> may not have attribute type</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime">
      <assert test="empty(Expense)">Element <name/> may not contain element Expense</assert>
      <assert test="empty(AdditionalData)">Element <name/> may not contain element AdditionalData</assert>
      <assert test="empty(ApprovalInfo)">Element <name/> may not contain element ApprovalInfo</assert>
      <assert test="empty(SubmitterInfo)">Element <name/> may not contain element SubmitterInfo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/ReportedPersonAssignment">
      <assert test="empty(Id)">Element <name/> may not contain element Id</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval">
      <assert test="empty(@dayAssignment)">Element <name/> may not have attribute dayAssignment</assert>
      <assert test="empty(PieceWork)">Element <name/> may not contain element PieceWork</assert>
      <assert test="empty(ApprovalInfo)">Element <name/> may not contain element ApprovalInfo</assert>
      <assert test="empty(SubmitterInfo)">Element <name/> may not contain element SubmitterInfo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval/Id">
      <assert test="empty(@validFrom)">Element <name/> may not have attribute validFrom</assert>
      <assert test="empty(@validTo)">Element <name/> may not have attribute validTo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval/Id/IdValue">
      <assert test="empty(@name)">Element <name/> may not have attribute name</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval/RateOrAmount">
      <assert test="empty(@period)">Element <name/> may not have attribute period</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval/Allowance">
      <assert test="empty(AdditionalData)">Element <name/> may not contain element AdditionalData</assert>
      <assert test="empty(ApprovalInfo)">Element <name/> may not contain element ApprovalInfo</assert>
      <assert test="empty(SubmitterInfo)">Element <name/> may not contain element SubmitterInfo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval/Allowance/Id">
      <assert test="empty(@validFrom)">Element <name/> may not have attribute validFrom</assert>
      <assert test="empty(@validTo)">Element <name/> may not have attribute validTo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval/Allowance/Comment">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval/AdditionalData">
      <assert test="empty(@type)">Element <name/> may not have attribute type</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval/AdditionalData/StaffingAdditionalData">
      <assert test="empty(ReferenceInformation)">Element <name/> may not contain element ReferenceInformation</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval/AdditionalData/StaffingAdditionalData/CustomerReportingRequirements">
      <assert test="empty(PurchaseOrderLineItem)">Element <name/> may not contain element PurchaseOrderLineItem</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval/AdditionalData/StaffingAdditionalData/CustomerReportingRequirements/AdditionalRequirement">
      <assert test="empty(@requirementTitle)">Element <name/> may not have attribute requirementTitle</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval/Comment">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeEvent">
      <assert test="empty(@dayAssignment)">Element <name/> may not have attribute dayAssignment</assert>
      <assert test="empty(AdditionalData)">Element <name/> may not contain element AdditionalData</assert>
      <assert test="empty(ApprovalInfo)">Element <name/> may not contain element ApprovalInfo</assert>
      <assert test="empty(SubmitterInfo)">Element <name/> may not contain element SubmitterInfo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeEvent/Id">
      <assert test="empty(@validFrom)">Element <name/> may not have attribute validFrom</assert>
      <assert test="empty(@idOwner)">Element <name/> may not have attribute idOwner</assert>
      <assert test="empty(@validTo)">Element <name/> may not have attribute validTo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeEvent/Id/IdValue">
      <assert test="empty(@name)">Element <name/> may not have attribute name</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeEvent/RateOrAmount">
      <assert test="empty(@period)">Element <name/> may not have attribute period</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeEvent/Comment">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/Allowance">
      <assert test="empty(AdditionalData)">Element <name/> may not contain element AdditionalData</assert>
      <assert test="empty(ApprovalInfo)">Element <name/> may not contain element ApprovalInfo</assert>
      <assert test="empty(SubmitterInfo)">Element <name/> may not contain element SubmitterInfo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/Allowance/Id">
      <assert test="empty(@validFrom)">Element <name/> may not have attribute validFrom</assert>
      <assert test="empty(@idOwner)">Element <name/> may not have attribute idOwner</assert>
      <assert test="empty(@validTo)">Element <name/> may not have attribute validTo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/Allowance/Comment">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/SubmitterInfo/Person/Id">
      <assert test="empty(@validFrom)">Element <name/> may not have attribute validFrom</assert>
      <assert test="empty(@idOwner)">Element <name/> may not have attribute idOwner</assert>
      <assert test="empty(@validTo)">Element <name/> may not have attribute validTo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/SubmitterInfo/Person/Id/IdValue">
      <assert test="empty(@name)">Element <name/> may not have attribute name</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/SubmitterInfo/Person/PersonName">
      <assert test="empty(@script)">Element <name/> may not have attribute script</assert>
      <assert test="empty(LegalName)">Element <name/> may not contain element LegalName</assert>
      <assert test="empty(GivenName)">Element <name/> may not contain element GivenName</assert>
      <assert test="empty(PreferredGivenName)">Element <name/> may not contain element PreferredGivenName</assert>
      <assert test="empty(MiddleName)">Element <name/> may not contain element MiddleName</assert>
      <assert test="empty(FamilyName)">Element <name/> may not contain element FamilyName</assert>
      <assert test="empty(Affix)">Element <name/> may not contain element Affix</assert>
      <assert test="empty(AlternateScript)">Element <name/> may not contain element AlternateScript</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ApprovalInfo">
      <assert test="empty(@approverType)">Element <name/> may not have attribute approverType</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ApprovalInfo/Person/Id">
      <assert test="empty(@validFrom)">Element <name/> may not have attribute validFrom</assert>
      <assert test="empty(@idOwner)">Element <name/> may not have attribute idOwner</assert>
      <assert test="empty(@validTo)">Element <name/> may not have attribute validTo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ApprovalInfo/Person/Id/IdValue">
      <assert test="empty(@name)">Element <name/> may not have attribute name</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ApprovalInfo/Person/PersonName">
      <assert test="empty(@script)">Element <name/> may not have attribute script</assert>
      <assert test="empty(LegalName)">Element <name/> may not contain element LegalName</assert>
      <assert test="empty(GivenName)">Element <name/> may not contain element GivenName</assert>
      <assert test="empty(PreferredGivenName)">Element <name/> may not contain element PreferredGivenName</assert>
      <assert test="empty(MiddleName)">Element <name/> may not contain element MiddleName</assert>
      <assert test="empty(FamilyName)">Element <name/> may not contain element FamilyName</assert>
      <assert test="empty(Affix)">Element <name/> may not contain element Affix</assert>
      <assert test="empty(AlternateScript)">Element <name/> may not contain element AlternateScript</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ApprovalInfo/Comment">
      <assert test="empty(@lang)">Element <name/> may not have attribute lang</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/AdditionalData">
      <assert test="empty(@type)">Element <name/> may not have attribute type</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/AdditionalData/StaffingAdditionalData/CustomerReportingRequirements">
      <assert test="empty(ManagerName)">Element <name/> may not contain element ManagerName</assert>
      <assert test="empty(SupervisorName)">Element <name/> may not contain element SupervisorName</assert>
      <assert test="empty(ContactName)">Element <name/> may not contain element ContactName</assert>
      <assert test="empty(LocationCode)">Element <name/> may not contain element LocationCode</assert>
      <assert test="empty(LocationName)">Element <name/> may not contain element LocationName</assert>
      <assert test="empty(CustomerJobCode)">Element <name/> may not contain element CustomerJobCode</assert>
      <assert test="empty(CustomerJobDescription)">Element <name/> may not contain element CustomerJobDescription</assert>
      <assert test="empty(AccountCode)">Element <name/> may not contain element AccountCode</assert>
      <assert test="empty(ExternalOrderNumber)">Element <name/> may not contain element ExternalOrderNumber</assert>
      <assert test="empty(ExternalReqNumber)">Element <name/> may not contain element ExternalReqNumber</assert>
      <assert test="empty(Entity)">Element <name/> may not contain element Entity</assert>
      <assert test="empty(SubEntity)">Element <name/> may not contain element SubEntity</assert>
      <assert test="empty(Shift)">Element <name/> may not contain element Shift</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/AdditionalData/StaffingAdditionalData/ReferenceInformation">
      <assert test="empty(OrderId)">Element <name/> may not contain element OrderId</assert>
      <assert test="empty(PositionId)">Element <name/> may not contain element PositionId</assert>
      <assert test="empty(IntermediaryId)">Element <name/> may not contain element IntermediaryId</assert>
      <assert test="empty(MasterOrderId)">Element <name/> may not contain element MasterOrderId</assert>
      <assert test="empty(HumanResourceId)">Element <name/> may not contain element HumanResourceId</assert>
      <assert test="empty(StaffingSupplierOrgUnitId)">Element <name/> may not contain element StaffingSupplierOrgUnitId</assert>
      <assert test="empty(StaffingCustomerOrgUnitId)">Element <name/> may not contain element StaffingCustomerOrgUnitId</assert>
      <assert test="empty(InvoiceId)">Element <name/> may not contain element InvoiceId</assert>
      <assert test="empty(BillToEntityId)">Element <name/> may not contain element BillToEntityId</assert>
      <assert test="empty(StaffingOrganizationId)">Element <name/> may not contain element StaffingOrganizationId</assert>
      <assert test="empty(UserArea)">Element <name/> may not contain element UserArea</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/AdditionalData/StaffingAdditionalData/ReferenceInformation/StaffingSupplierId">
      <assert test="empty(@validFrom)">Element <name/> may not have attribute validFrom</assert>
      <assert test="empty(@validTo)">Element <name/> may not have attribute validTo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/AdditionalData/StaffingAdditionalData/ReferenceInformation/StaffingSupplierId/IdValue">
      <assert test="empty(@name)">Element <name/> may not have attribute name</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/AdditionalData/StaffingAdditionalData/ReferenceInformation/StaffingCustomerId">
      <assert test="empty(@validFrom)">Element <name/> may not have attribute validFrom</assert>
      <assert test="empty(@validTo)">Element <name/> may not have attribute validTo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/AdditionalData/StaffingAdditionalData/ReferenceInformation/StaffingCustomerId/IdValue">
      <assert test="empty(@name)">Element <name/> may not have attribute name</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/AdditionalData/StaffingAdditionalData/ReferenceInformation/AssignmentId">
      <assert test="empty(@validFrom)">Element <name/> may not have attribute validFrom</assert>
      <assert test="empty(@validTo)">Element <name/> may not have attribute validTo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/AdditionalData/StaffingAdditionalData/ReferenceInformation/AssignmentId/IdValue">
      <assert test="empty(@name)">Element <name/> may not have attribute name</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/AdditionalData/StaffingAdditionalData/ReferenceInformation/DocumentId">
      <assert test="empty(@validFrom)">Element <name/> may not have attribute validFrom</assert>
      <assert test="empty(@validTo)">Element <name/> may not have attribute validTo</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/AdditionalData/StaffingAdditionalData/ReferenceInformation/DocumentId/IdValue">
      <assert test="empty(@name)">Element <name/> may not have attribute name</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/StaffingAdditionalData">
      <assert test="empty(ReferenceInformation)">Element <name/> may not contain element ReferenceInformation</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/StaffingAdditionalData/CustomerReportingRequirements">
      <assert test="empty(ManagerName)">Element <name/> may not contain element ManagerName</assert>
      <assert test="empty(SupervisorName)">Element <name/> may not contain element SupervisorName</assert>
      <assert test="empty(ContactName)">Element <name/> may not contain element ContactName</assert>
      <assert test="empty(LocationCode)">Element <name/> may not contain element LocationCode</assert>
      <assert test="empty(LocationName)">Element <name/> may not contain element LocationName</assert>
      <assert test="empty(CustomerJobCode)">Element <name/> may not contain element CustomerJobCode</assert>
      <assert test="empty(CustomerJobDescription)">Element <name/> may not contain element CustomerJobDescription</assert>
      <assert test="empty(AccountCode)">Element <name/> may not contain element AccountCode</assert>
      <assert test="empty(ExternalOrderNumber)">Element <name/> may not contain element ExternalOrderNumber</assert>
      <assert test="empty(ExternalReqNumber)">Element <name/> may not contain element ExternalReqNumber</assert>
      <assert test="empty(Entity)">Element <name/> may not contain element Entity</assert>
      <assert test="empty(SubEntity)">Element <name/> may not contain element SubEntity</assert>
      <assert test="empty(Shift)">Element <name/> may not contain element Shift</assert>
      <assert test="empty(AdditionalRequirement)">Element <name/> may not contain element AdditionalRequirement</assert>
      <assert test="empty(PurchaseOrderLineItem)">Element <name/> may not contain element PurchaseOrderLineItem</assert>
    </rule>
  </pattern>
  <pattern id="cardinality-redefines">
    <rule context="Invoice">
      <assert test="count(Header) &gt;= 1">Element <name/> must contain Header at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header">
      <assert test="count(DocumentIds) &gt;= 1">Element <name/> must contain DocumentIds at least 1 time(s)</assert>
      <assert test="count(DocumentDateTime) &gt;= 1">Element <name/> must contain DocumentDateTime at least 1 time(s)</assert>
      <assert test="count(DocumentReferences) &lt;= -1">Element <name/> may contain DocumentReferences at most -1 time(s)</assert>
      <assert test="count(Reason) &lt;= 1">Element <name/> may contain Reason at most 1 time(s)</assert>
      <assert test="count(UserArea) &gt;= 1">Element <name/> must contain UserArea at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/DocumentIds">
      <assert test="count(DocumentId) &gt;= 1 and count(DocumentId) &lt;= 1">Element <name/> must contain DocumentId at least 1 and at most 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/DocumentIds/DocumentId">
      <assert test="count(Id) &gt;= 1">Element <name/> must contain Id at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/Parties">
      <assert test="count(RemitToParty) &gt;= 1 and count(RemitToParty) &lt;= 1">Element <name/> must contain RemitToParty at least 1 and at most 1 time(s)</assert>
      <assert test="count(SupplierParty) &gt;= 1 and count(SupplierParty) &lt;= 1">Element <name/> must contain SupplierParty at least 1 and at most 1 time(s)</assert>
      <assert test="count(CustomerParty) &gt;= 1 and count(CustomerParty) &lt;= 1">Element <name/> must contain CustomerParty at least 1 and at most 1 time(s)</assert>
      <assert test="count(BillToParty) &gt;= 1 and count(BillToParty) &lt;= 1">Element <name/> must contain BillToParty at least 1 and at most 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/Parties/RemitToParty">
      <assert test="count(PartyId) &gt;= 1">Element <name/> must contain PartyId at least 1 time(s)</assert>
      <assert test="count(Name) &gt;= 1">Element <name/> must contain Name at least 1 time(s)</assert>
      <assert test="count(Addresses) &gt;= 1">Element <name/> must contain Addresses at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/Parties/RemitToParty/PartyId">
      <assert test="count(Id) &gt;= 1">Element <name/> must contain Id at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/Parties/RemitToParty/Addresses">
      <assert test="count(PrimaryAddress) &gt;= 1">Element <name/> must contain PrimaryAddress at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/Parties/RemitToParty/Addresses/PrimaryAddress">
      <assert test="count(AddressLine) &lt;= 1">Element <name/> may contain AddressLine at most 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/Parties/SupplierParty">
      <assert test="count(PartyId) &gt;= 1">Element <name/> must contain PartyId at least 1 time(s)</assert>
      <assert test="count(Name) &gt;= 1">Element <name/> must contain Name at least 1 time(s)</assert>
      <assert test="count(Addresses) &gt;= 1">Element <name/> must contain Addresses at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/Parties/SupplierParty/PartyId">
      <assert test="count(Id) &gt;= 1">Element <name/> must contain Id at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/Parties/SupplierParty/Addresses">
      <assert test="count(PrimaryAddress) &gt;= 1">Element <name/> must contain PrimaryAddress at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/Parties/SupplierParty/Addresses/PrimaryAddress">
      <assert test="count(AddressLine) &lt;= 1">Element <name/> may contain AddressLine at most 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/Parties/CustomerParty">
      <assert test="count(PartyId) &gt;= 1">Element <name/> must contain PartyId at least 1 time(s)</assert>
      <assert test="count(Name) &gt;= 1">Element <name/> must contain Name at least 1 time(s)</assert>
      <assert test="count(Addresses) &gt;= 1">Element <name/> must contain Addresses at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/Parties/CustomerParty/PartyId">
      <assert test="count(Id) &gt;= 1">Element <name/> must contain Id at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/Parties/CustomerParty/Addresses">
      <assert test="count(PrimaryAddress) &gt;= 1">Element <name/> must contain PrimaryAddress at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/Parties/CustomerParty/Addresses/PrimaryAddress">
      <assert test="count(AddressLine) &lt;= 1">Element <name/> may contain AddressLine at most 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/Parties/BillToParty">
      <assert test="count(PartyId) &gt;= 1">Element <name/> must contain PartyId at least 1 time(s)</assert>
      <assert test="count(Name) &gt;= 1">Element <name/> must contain Name at least 1 time(s)</assert>
      <assert test="count(Addresses) &gt;= 1">Element <name/> must contain Addresses at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/Parties/BillToParty/PartyId">
      <assert test="count(Id) &gt;= 1">Element <name/> must contain Id at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/UserArea/StaffingAdditionalData">
      <assert test="count(CustomerReportingRequirements) &lt;= -1">Element <name/> may contain CustomerReportingRequirements at most -1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/UserArea/StaffingAdditionalData/ReferenceInformation">
      <assert test="count(StaffingCustomerOrgUnitId) &lt;= 1">Element <name/> may contain StaffingCustomerOrgUnitId at most 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/UserArea/StaffingOrganization">
      <assert test="count(PaymentInfo) &lt;= 1">Element <name/> may contain PaymentInfo at most 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Header/UserArea/StaffingOrganizationNL">
      <assert test="count(ChamberofCommerceReference) &gt;= 1">Element <name/> must contain ChamberofCommerceReference at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Line">
      <assert test="count(DocumentReferences) &lt;= -1">Element <name/> may contain DocumentReferences at most -1 time(s)</assert>
      <assert test="count(Price) &gt;= 1">Element <name/> must contain Price at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Line/Charges">
      <assert test="count(TotalCharge) &gt;= 1">Element <name/> must contain TotalCharge at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Line/Charges/Charge">
      <assert test="count(Description) &lt;= 1">Element <name/> may contain Description at most 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard">
      <assert test="count(Id) &gt;= 1">Element <name/> must contain Id at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/Id">
      <assert test="count(IdValue) &lt;= 1">Element <name/> may contain IdValue at most 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedResource/Person/Id">
      <assert test="count(IdValue) &lt;= 1">Element <name/> may contain IdValue at most 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedResource/Person/PersonName">
      <assert test="count(GivenName) &lt;= 1">Element <name/> may contain GivenName at most 1 time(s)</assert>
      <assert test="count(FamilyName) &lt;= 2">Element <name/> may contain FamilyName at most 2 time(s)</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime">
      <assert test="count(TimeInterval) &lt;= -1">Element <name/> may contain TimeInterval at most -1 time(s)</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval/Id">
      <assert test="count(IdValue) &lt;= 1">Element <name/> may contain IdValue at most 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval/Allowance">
      <assert test="count(Amount) &gt;= 1">Element <name/> must contain Amount at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval/Allowance/Id">
      <assert test="count(IdValue) &lt;= 1">Element <name/> may contain IdValue at most 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval/Allowance/Id/IdValue">
      <assert test="count(@name) &gt;= 1">Attribute <name/> must contain @name at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval/AdditionalData/StaffingAdditionalData">
      <assert test="count(CustomerReportingRequirements) &lt;= -1">Element <name/> may contain CustomerReportingRequirements at most -1 time(s)</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeEvent/Id">
      <assert test="count(IdValue) &lt;= 1">Element <name/> may contain IdValue at most 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/Allowance">
      <assert test="count(Amount) &gt;= 1">Element <name/> must contain Amount at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/Allowance/Id/IdValue">
      <assert test="count(@name) &gt;= 1">Attribute <name/> must contain @name at least 1 time(s)</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/AdditionalData/StaffingAdditionalData">
      <assert test="count(CustomerReportingRequirements) &lt;= -1">Element <name/> may contain CustomerReportingRequirements at most -1 time(s)</assert>
      <assert test="count(ReferenceInformation) &lt;= -1">Element <name/> may contain ReferenceInformation at most -1 time(s)</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/StaffingAdditionalData">
      <assert test="count(CustomerReportingRequirements) &lt;= -1">Element <name/> may contain CustomerReportingRequirements at most -1 time(s)</assert>
    </rule>
  </pattern>
  <pattern id="type-restrictions">
    <rule context="Invoice/Header">
      <assert test="empty(ReasonCode) or (ReasonCode='services') or (ReasonCode='hours') or (ReasonCode='combination')">Element ReasonCode in <name/> may only have (one of) the following value(s): services, hours, combination</assert>
      <assert test="empty(Reason) or (Reason='regular') or (Reason='pro forma') or (Reason='self-billed')">Element Reason in <name/> may only have (one of) the following value(s): regular, pro forma, self-billed</assert>
    </rule>
    <rule context="Invoice/Header/UserArea/StaffingOrganization/PaymentInfo/BankAccountInfo/BankInfoByJurisdiction">
      <assert test="empty(@bankJurisdiction) or (@bankJurisdiction='NL')">Attribute @bankJurisdiction in <name/> may only have (one of) the following value(s): NL</assert>
    </rule>
    <rule context="Invoice/Line">
      <assert test="empty(ReasonCode) or (ReasonCode='Opleiding') or (ReasonCode='Projectfacturatie') or (ReasonCode='Cursuskosten') or (ReasonCode='Overname Fee') or (ReasonCode='Interplaatsing') or (ReasonCode='Onkostenvergoeding') or (ReasonCode='Proforma factuur') or (ReasonCode='Projectfacturatie') or (ReasonCode='Samenvoegen facturen') or (ReasonCode='Schadeloosstelling') or (ReasonCode='Staffelkorting') or (ReasonCode='Verblijfskostenvergoeding') or (ReasonCode='Vervoerskosten') or (ReasonCode='Overige afwijkende facturatie') or (ReasonCode='Werving &amp; Selectie')">Element ReasonCode in <name/> may only have (one of) the following value(s): Opleiding, Projectfacturatie, Cursuskosten, Overname Fee, Interplaatsing, Onkostenvergoeding, Proforma factuur, Projectfacturatie, Samenvoegen facturen, Schadeloosstelling, Staffelkorting, Verblijfskostenvergoeding, Vervoerskosten, Overige afwijkende facturatie, Werving &amp; Selectie</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval">
      <assert test="empty(@type) or (@type='Regular') or (@type='Overtime') or (@type='Shift') or (@type='Travel') or (@type='Additional') or (@type='Special Leave') or (@type='Short leave') or (@type='Holiday') or (@type='Unpaid leave') or (@type='Training') or (@type='Vacation') or (@type='Reduction of working hours') or (@type='Sick time') or (@type='Work underload') or (@type='Care Leave')">Attribute @type in <name/> may only have (one of) the following value(s): Regular, Overtime, Shift, Travel, Additional, Special Leave, Short leave, Holiday, Unpaid leave, Training, Vacation, Reduction of working hours, Sick time, Work underload, Care Leave</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeInterval/RateOrAmount">
      <assert test="empty(@type) or (@type='hourly') or (@type='hourlysplit') or (@type='hourlyconsolidated') or (@type='daily') or (@type='dailysplit') or (@type='dailyconsolidated')">Attribute @type in <name/> may only have (one of) the following value(s): hourly, hourlysplit, hourlyconsolidated, daily, dailysplit, dailyconsolidated</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeEvent">
      <assert test="empty(@type) or (@type='Regular') or (@type='Overtime') or (@type='Shift') or (@type='Travel') or (@type='Additional') or (@type='Special Leave') or (@type='Short leave') or (@type='Holiday') or (@type='Unpaid leave') or (@type='Training') or (@type='Vacation') or (@type='Reduction of working hours') or (@type='Sick time') or (@type='Work underload') or (@type='Care Leave')">Attribute @type in <name/> may only have (one of) the following value(s): Regular, Overtime, Shift, Travel, Additional, Special Leave, Short leave, Holiday, Unpaid leave, Training, Vacation, Reduction of working hours, Sick time, Work underload, Care Leave</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/TimeEvent/RateOrAmount">
      <assert test="empty(@type) or (@type='hourly') or (@type='hourlysplit') or (@type='hourlyconsolidated') or (@type='daily') or (@type='dailysplit') or (@type='dailyconsolidated')">Attribute @type in <name/> may only have (one of) the following value(s): hourly, hourlysplit, hourlyconsolidated, daily, dailysplit, dailyconsolidated</assert>
    </rule>
    <rule context="Invoice/Line/UserArea/TimeCard/ReportedTime/Allowance/Id/IdValue">
      <assert test="empty(@name) or (@name='allowance') or (@name='expense')">Attribute @name in <name/> may only have (one of) the following value(s): allowance, expense</assert>
    </rule>
  </pattern>
</schema>
