<!--
Copyright 2001-2006 AgXML, LLC. All rights reserved.
Use of this schema is subject to the license agreement available at http://www.agxml.org.
-->
<xsd:schema targetNamespace="urn:www.agxml.org:schemas:all:2:0" xmlns="urn:www.agxml.org:schemas:all:2:0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:include schemaLocation="AgXML_v2.0_Shared.xsd"/>
<xsd:element name="BillOfLading" type="BillOfLadingType"/>
<xsd:complexType name="BillOfLadingType">
<xsd:sequence>
<xsd:element ref="BillOfLadingHeader"/>
<xsd:element ref="BillOfLadingDetail"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="BillOfLadingDetail" type="BillOfLadingDetailType"/>
<xsd:complexType name="BillOfLadingDetailType">
<xsd:sequence>
<xsd:element ref="BillOfLadingLine" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="BillOfLadingHeader" type="BillOfLadingHeaderType"/>
<xsd:complexType name="BillOfLadingHeaderType">
<xsd:sequence>
<xsd:element ref="FormInformation" minOccurs="0"/>
<xsd:element ref="BillOfLadingIdentification" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="RailShipmentIdentifier" minOccurs="0"/>
<xsd:element ref="BillOfLadingType"/>
<xsd:element ref="BillOfLadingDateTime"/>
<xsd:element ref="TransportationMode"/>
<xsd:element ref="PreparedBy"/>
<xsd:element ref="TransportationAgent" minOccurs="0"/>
<xsd:element ref="Shipper"/>
<xsd:element ref="FreightCarrier"/>
<xsd:element ref="RailRouting" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Consignee" maxOccurs="unbounded"/>
<xsd:element ref="NotifyParty" minOccurs="0"/>
<xsd:element ref="Origin"/>
<xsd:element ref="Destination"/>
<xsd:element ref="Section7Applies" minOccurs="0"/>
<xsd:element ref="FreightPaymentTerms" minOccurs="0"/>
<xsd:element ref="SpecialHandlingInstruction" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="PermitInformation" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="ShipmentSize" minOccurs="0"/>
<xsd:element ref="ExportRoles" minOccurs="0"/>
<xsd:element ref="DocumentIdentification" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Remark" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="BillOfLadingIdentification" type="BillOfLadingIdentificationType"/>
<xsd:complexType name="BillOfLadingIdentificationType">
<xsd:sequence>
<xsd:element ref="BillOfLadingIdentifierType"/>
<xsd:element ref="BillOfLadingIdentifier"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="BillOfLadingIdentifier" type="BillOfLadingIdentifierType"/>
<xsd:simpleType name="BillOfLadingIdentifierType">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:element name="BillOfLadingIdentifierType" type="BillOfLadingIdentifierTypeType"/>
<xsd:simpleType name="BillOfLadingIdentifierTypeType">
<xsd:restriction base="ListBillOfLadingIdentifierType"/>
</xsd:simpleType>
<xsd:element name="BillOfLadingLine" type="BillOfLadingLineType"/>
<xsd:complexType name="BillOfLadingLineType">
<xsd:sequence>
<xsd:element ref="SequenceNumber"/>
<xsd:element ref="VehicleIdentification" maxOccurs="unbounded"/>
<xsd:element ref="CommodityMovementIdentifier" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="WeightCertificateIdentifier" minOccurs="0"/>
<xsd:element ref="PermitInformation" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="CommodityInformation"/>
<xsd:element ref="QualityInformation" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="VehicleNetQuantity" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="BillOfLadingType" type="BillOfLadingTypeType"/>
<xsd:simpleType name="BillOfLadingTypeType">
<xsd:restriction base="ListBillOfLadingType"/>
</xsd:simpleType>
<xsd:element name="ConsignedTo" type="ConsignedToType"/>
<xsd:complexType name="ConsignedToType">
<xsd:sequence>
<xsd:element ref="EntityInformation"/>
<xsd:element ref="ContactInformation" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Consignee" type="ConsigneeType"/>
<xsd:complexType name="ConsigneeType">
<xsd:sequence>
<xsd:element ref="SequenceNumber"/>
<xsd:element ref="EntityInformation"/>
<xsd:element ref="ContactInformation" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="DocumentIdentification" type="DocumentIdentificationType"/>
<xsd:complexType name="DocumentIdentificationType">
<xsd:sequence>
<xsd:element ref="DocumentType"/>
<xsd:element ref="DocumentIdentifier" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="DocumentType" type="DocumentTypeType"/>
<xsd:simpleType name="DocumentTypeType">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:element name="Exporter" type="ExporterType"/>
<xsd:complexType name="ExporterType">
<xsd:sequence>
<xsd:element ref="EntityInformation"/>
<xsd:element ref="ContactInformation" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ExportRoles" type="ExportRolesType"/>
<xsd:complexType name="ExportRolesType">
<xsd:sequence>
<xsd:element ref="Exporter"/>
<xsd:element ref="ConsignedTo"/>
<xsd:element ref="FromBorderBroker" minOccurs="0"/>
<xsd:element ref="ToBorderBroker" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="FreightPayer" type="FreightPayerType"/>
<xsd:complexType name="FreightPayerType">
<xsd:sequence>
<xsd:element ref="EntityInformation"/>
<xsd:element ref="ContactInformation" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="FreightPaymentTerm" type="FreightPaymentTermType"/>
<xsd:complexType name="FreightPaymentTermType">
<xsd:sequence>
<xsd:element ref="FreightPaymentTermType" minOccurs="0"/>
<xsd:element ref="SequenceNumber"/>
<xsd:element ref="FreightPayer"/>
<xsd:element ref="FreightRateInformation" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Junction" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="FreightPaymentTerms" type="FreightPaymentTermsType"/>
<xsd:complexType name="FreightPaymentTermsType">
<xsd:sequence>
<xsd:element ref="FreightPaymentTerm" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Rule11Applies" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="FreightPaymentTermType" type="FreightPaymentTermTypeType"/>
<xsd:simpleType name="FreightPaymentTermTypeType">
<xsd:restriction base="ListFreightPaymentTermType"/>
</xsd:simpleType>
<xsd:element name="FromBorderBroker" type="FromBorderBrokerType"/>
<xsd:complexType name="FromBorderBrokerType">
<xsd:sequence>
<xsd:element ref="EntityInformation"/>
<xsd:element ref="ContactInformation" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Junction" type="JunctionType"/>
<xsd:complexType name="JunctionType">
<xsd:choice>
<xsd:element ref="JunctionCode"/>
<xsd:sequence>
<xsd:element ref="City"/>
<xsd:element ref="CountryRegionCode"/>
</xsd:sequence>
</xsd:choice>
</xsd:complexType>
<xsd:element name="JunctionCode" type="JunctionCodeType"/>
<xsd:simpleType name="JunctionCodeType">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:element name="PermitIdentifier" type="PermitIdentifierType"/>
<xsd:simpleType name="PermitIdentifierType">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:element name="PermitIdentifierType" type="PermitIdentifierTypeType"/>
<xsd:simpleType name="PermitIdentifierTypeType">
<xsd:restriction base="ListPermitIdentifierType"/>
</xsd:simpleType>
<xsd:element name="PermitInformation" type="PermitInformationType"/>
<xsd:complexType name="PermitInformationType">
<xsd:sequence>
<xsd:element ref="PermitIdentifier"/>
<xsd:element ref="PermitIdentifierType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="PreparedBy" type="PreparedByType"/>
<xsd:complexType name="PreparedByType">
<xsd:sequence>
<xsd:element ref="EntityInformation"/>
<xsd:element ref="ContactInformation" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="RailRouting" type="RailRoutingType"/>
<xsd:complexType name="RailRoutingType">
<xsd:sequence>
<xsd:element ref="RouteType" minOccurs="0"/>
<xsd:element ref="RouteCarrierName"/>
<xsd:element ref="RouteCarrierSequence"/>
<xsd:element ref="StandardCarrierAlphaCode" minOccurs="0"/>
<xsd:element ref="Junction" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="RouteCarrierName" type="RouteCarrierNameType"/>
<xsd:simpleType name="RouteCarrierNameType">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:element name="RouteCarrierSequence" type="RouteCarrierSequenceType"/>
<xsd:simpleType name="RouteCarrierSequenceType">
<xsd:restriction base="ListRouteCarrierSequence"/>
</xsd:simpleType>
<xsd:element name="RouteType" type="RouteTypeType"/>
<xsd:simpleType name="RouteTypeType">
<xsd:restriction base="ListRouteType"/>
</xsd:simpleType>
<xsd:element name="Rule11Applies" type="Rule11AppliesType"/>
<xsd:simpleType name="Rule11AppliesType">
<xsd:restriction base="xsd:boolean"/>
</xsd:simpleType>
<xsd:element name="Section7Applies" type="Section7AppliesType"/>
<xsd:simpleType name="Section7AppliesType">
<xsd:restriction base="xsd:boolean"/>
</xsd:simpleType>
<xsd:element name="SequenceNumber" type="SequenceNumberType"/>
<xsd:simpleType name="SequenceNumberType">
<xsd:restriction base="xsd:integer"/>
</xsd:simpleType>
<xsd:element name="ServiceProvider" type="ServiceProviderType"/>
<xsd:complexType name="ServiceProviderType">
<xsd:sequence>
<xsd:element ref="EntityInformation"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="SpecialHandlingInstruction" type="SpecialHandlingInstructionType"/>
<xsd:complexType name="SpecialHandlingInstructionType">
<xsd:sequence>
<xsd:element ref="SpecialHandlingService"/>
<xsd:element ref="ServiceProvider" minOccurs="0"/>
<xsd:element ref="LocationInformation" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="SpecialHandlingService" type="SpecialHandlingServiceType"/>
<xsd:simpleType name="SpecialHandlingServiceType">
<xsd:restriction base="ListSpecialHandlingService"/>
</xsd:simpleType>
<xsd:element name="StandardCarrierAlphaCode" type="StandardCarrierAlphaCodeType"/>
<xsd:simpleType name="StandardCarrierAlphaCodeType">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:element name="ToBorderBroker" type="ToBorderBrokerType"/>
<xsd:complexType name="ToBorderBrokerType">
<xsd:sequence>
<xsd:element ref="EntityInformation"/>
<xsd:element ref="ContactInformation" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="TransportationAgent" type="TransportationAgentType"/>
<xsd:complexType name="TransportationAgentType">
<xsd:sequence>
<xsd:element ref="EntityInformation"/>
<xsd:element ref="ContactInformation" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="VehicleNetQuantity" type="VehicleNetQuantityType"/>
<xsd:complexType name="VehicleNetQuantityType">
<xsd:sequence>
<xsd:element ref="Quantity"/>
<xsd:element ref="QuantityDeterminationMethod"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
|