Schema Bug

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Schema Bug

Colin Seaman
Guys,

I have a schema which defines three possible values.  Of the three
values, only one of them can be filled in on the form.  In schema terms,
this is defined as:
<xs:choice>
<xs:element name="Nm" type="Max70Text"/>
<xs:element name="BEI" type="BEIIdentifier"/>
<xs:element name="OthrSchme" type="Max70Text"/>
</xs:choice>

(BEIIdentifer is defined as :
<xs:simpleType name="BEIIdentifier">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
</xs:restriction>
</xs:simpleType>), eg: MIDLGB22

However, I've noticed that when running an XForm linked to this schema,
the document will only say that it is valid when the first one is filled
in, ie: Nm.  If BEI or OtherSchme are filled in (using their appropriate
values), it still marks the item as being invalid.

The XSD/XML validation works fine on the raw files when I do a
validation in XMLSpy, so is this a bug in OPS v 3.5M?

--
Colin Seaman
Senior Developer
 
Tradocs Ltd,
Tower Point,
44 North Road,
Brighton,
BN1 1YR

email:     [hidden email]
skype:     colin,seaman
telephone: 0870-1417031
website:   http://www.tradocs.net

This email and any files transmitted with it are confidential
and intended solely for the use of the individual or entity to
whom they are addressed. If you have received this email in
error please contact Tradocs. Please note that any views or
opinions presented in this email are solely those of the author
and do not necessarily represent those of the company. Finally,
the recipient should check this email and any attachments for
the presence of viruses. The company accepts no liability for
any damage caused by any virus transmitted by this email.
This content of this email is without prejudice.




--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Schema Bug

ozenzin
Colin,
when we need to define that only one of enumerated values can be set
as control value we use following restriction of xs:string:

    <xs:simpleType name="typeName">
        <xs:restriction base="xs:string">
            <xs:enumeration value="firstValue"/>
            <xs:enumeration value="secondValue"/>
            <xs:enumeration value="thirdValue"/>
        </xs:restriction>
    </xs:simpleType>

That worked fine with our OPS. I noticed though that you've used
pattern in one of choices. I'm not sure, but think you could define
such pattern that will keep the restriction of that choice, but adding
alternatives as literals equal to values of other choices.

Yes, I think the way out for you - is to play with pattern.

I think your code does not work because you try to put xsd specific
restriction on DOCUMENT STRUCTURE while xForms borrowed restriction
from xsd for TYPES ONLY. If you re-visit xForms spec you see that its
validation based on model item properties, one of which - xsi:type.
That's my guess, pls correct me if I'm wrong.

Oleg
--
                           mailto:[hidden email]


Monday, September 4, 2006, 3:28:04 PM, your letter:

> Guys,

> I have a schema which defines three possible values.  Of the three
> values, only one of them can be filled in on the form.  In schema terms,
> this is defined as:
> <xs:choice>
> <xs:element name="Nm" type="Max70Text"/>
> <xs:element name="BEI" type="BEIIdentifier"/>
> <xs:element name="OthrSchme" type="Max70Text"/>
> </xs:choice>

> (BEIIdentifer is defined as :
> <xs:simpleType name="BEIIdentifier">
> <xs:restriction base="xs:string">
> <xs:pattern
> value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
> </xs:restriction>
> </xs:simpleType>), eg: MIDLGB22

> However, I've noticed that when running an XForm linked to this schema,
> the document will only say that it is valid when the first one is filled
> in, ie: Nm.  If BEI or OtherSchme are filled in (using their appropriate
> values), it still marks the item as being invalid.

> The XSD/XML validation works fine on the raw files when I do a
> validation in XMLSpy, so is this a bug in OPS v 3.5M?






--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Schema Bug

Colin Seaman
Hi Oleg,

Unfortunately my schema is a bit more complicated than that, and something we don't have a great deal of control over.  The block I referred to is a "complextype", referred to by another "complex type" and so on.  The schema validates to a strict schema check on W3C.

Am I right in thinking that the code you suggested is mainly to do with select dropdown boxes, and not three seperate text input boxes like I'm trying to use.

I've attached my sample schema and ops xforms code if you have a spare moment, but still believe it not to be behaving itself in OPs as the schema validation against XML works elsewhere.

thanks!


Colin Seaman
Senior Developer
 
Tradocs Ltd,
Tower Point,
44 North Road,
Brighton,
BN1 1YR

email:     [hidden email]
skype:     colin,seaman
telephone: 0870-1417031
website:   http://www.tradocs.net

This email and any files transmitted with it are confidential 
and intended solely for the use of the individual or entity to 
whom they are addressed. If you have received this email in 
error please contact Tradocs. Please note that any views or 
opinions presented in this email are solely those of the author 
and do not necessarily represent those of the company. Finally, 
the recipient should check this email and any attachments for 
the presence of viruses. The company accepts no liability for 
any damage caused by any virus transmitted by this email.
This content of this email is without prejudice.


Oleg Zenzin wrote:
Colin,
when we need to define that only one of enumerated values can be set
as control value we use following restriction of xs:string:

    <xs:simpleType name="typeName">
        <xs:restriction base="xs:string">
            <xs:enumeration value="firstValue"/>
            <xs:enumeration value="secondValue"/>
            <xs:enumeration value="thirdValue"/>
        </xs:restriction>
    </xs:simpleType>

That worked fine with our OPS. I noticed though that you've used
pattern in one of choices. I'm not sure, but think you could define
such pattern that will keep the restriction of that choice, but adding
alternatives as literals equal to values of other choices.

Yes, I think the way out for you - is to play with pattern.

I think your code does not work because you try to put xsd specific
restriction on DOCUMENT STRUCTURE while xForms borrowed restriction
from xsd for TYPES ONLY. If you re-visit xForms spec you see that its
validation based on model item properties, one of which - xsi:type.
That's my guess, pls correct me if I'm wrong.

Oleg
  

-- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: [hidden email] For general help: [hidden email] ObjectWeb mailing lists service home page: http://www.objectweb.org/wws

<?xml version="1.0"?>
<Doc:Document xmlns:Doc="urn:swift:xsd:$tsmt.019.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:swift:xsd:$tsmt.019.001.02 $tsmt.019.001.02.xsd">
    <Doc:tsmt.019.001.02>
        <Doc:SubmissnId>
            <Doc:Id></Doc:Id>
            <Doc:CreDtTm></Doc:CreDtTm>
        </Doc:SubmissnId>
        <Doc:SubmitrTxRef>
            <Doc:Id></Doc:Id>
        </Doc:SubmitrTxRef>
        <Doc:Instr>
            <Doc:Tp></Doc:Tp>
        </Doc:Instr>
        <Doc:Baseln>
            <Doc:SubmitrBaselnId>
                <Doc:Id></Doc:Id>
                <Doc:Vrsn></Doc:Vrsn>
                <Doc:Submitr>
                    <Doc:BIC></Doc:BIC>
                </Doc:Submitr>
            </Doc:SubmitrBaselnId>
            <Doc:SvcCd></Doc:SvcCd>
            <Doc:PurchsOrdrRef>
                <Doc:Id></Doc:Id>
                <Doc:DtOfIsse></Doc:DtOfIsse>
            </Doc:PurchsOrdrRef>
            <Doc:Buyr>
                <Doc:Nm></Doc:Nm>
                <Doc:BEI></Doc:BEI>
                <Doc:OthrSchme></Doc:OthrSchme>
                <Doc:PstlAdr>
                   
                    <Doc:StrtNm></Doc:StrtNm>
                    <Doc:PstCdId></Doc:PstCdId>
                    <Doc:TwnNm></Doc:TwnNm>
                   
                    <Doc:CtrySubDvsn></Doc:CtrySubDvsn>
                    <Doc:Ctry></Doc:Ctry>
                </Doc:PstlAdr>
            </Doc:Buyr>
            <Doc:Sellr>
                <Doc:Nm></Doc:Nm>
                <Doc:BEI></Doc:BEI>
                <Doc:OthrSchme></Doc:OthrSchme>
                <Doc:PstlAdr>
                   
                    <Doc:StrtNm></Doc:StrtNm>
                    <Doc:PstCdId></Doc:PstCdId>
                    <Doc:TwnNm></Doc:TwnNm>
                   
                    <Doc:CtrySubDvsn></Doc:CtrySubDvsn>
                    <Doc:Ctry></Doc:Ctry>
                </Doc:PstlAdr>
            </Doc:Sellr>
            <Doc:BuyrBk>
                <Doc:BIC></Doc:BIC>
            </Doc:BuyrBk>
            <Doc:SellrBk>
                <Doc:BIC></Doc:BIC>
            </Doc:SellrBk>
           
            <Doc:BllTo>
                <Doc:Nm></Doc:Nm>
                <Doc:BEI></Doc:BEI>
                <Doc:OthrSchme></Doc:OthrSchme>
                <Doc:PstlAdr>
           
                    <Doc:StrtNm></Doc:StrtNm>
                    <Doc:PstCdId></Doc:PstCdId>
                    <Doc:TwnNm></Doc:TwnNm>
           
                    <Doc:CtrySubDvsn></Doc:CtrySubDvsn>
                    <Doc:Ctry></Doc:Ctry>
                </Doc:PstlAdr>
            </Doc:BllTo>
           
            <Doc:ShipTo>
                <Doc:Nm></Doc:Nm>
                <Doc:BEI></Doc:BEI>
                <Doc:OthrSchme></Doc:OthrSchme>
                <Doc:PstlAdr>
                   
                    <Doc:StrtNm></Doc:StrtNm>
                    <Doc:PstCdId></Doc:PstCdId>
                    <Doc:TwnNm></Doc:TwnNm>

                    <Doc:CtrySubDvsn></Doc:CtrySubDvsn>
                    <Doc:Ctry></Doc:Ctry>
                </Doc:PstlAdr>
            </Doc:ShipTo>

            <Doc:Consgn>
                <Doc:Nm></Doc:Nm>
                <Doc:BEI></Doc:BEI>
                <Doc:OthrSchme></Doc:OthrSchme>
                <Doc:PstlAdr>

                    <Doc:StrtNm></Doc:StrtNm>
                    <Doc:PstCdId></Doc:PstCdId>
                    <Doc:TwnNm></Doc:TwnNm>

                    <Doc:CtrySubDvsn></Doc:CtrySubDvsn>
                    <Doc:Ctry></Doc:Ctry>
                </Doc:PstlAdr>
            </Doc:Consgn>
            <Doc:Goods>

                <Doc:GoodsDesc></Doc:GoodsDesc>
                <Doc:PrtlShipmnt></Doc:PrtlShipmnt>

                <Doc:TrnsShipmnt></Doc:TrnsShipmnt>

                <Doc:LatstShipmntDt></Doc:LatstShipmntDt>

                <Doc:LineItmDtls>
                    <Doc:LineItmId></Doc:LineItmId>
                    <Doc:Qty>
                        <Doc:UnitOfMeasrCd></Doc:UnitOfMeasrCd>
                        <Doc:OthrUnitOfMeasr></Doc:OthrUnitOfMeasr>
                        <Doc:Val></Doc:Val>

                        <Doc:Fctr></Doc:Fctr>
                    </Doc:Qty>

                    <Doc:QtyTlrnce>
                        <Doc:PlusPct></Doc:PlusPct>
                        <Doc:MnsPct></Doc:MnsPct>
                    </Doc:QtyTlrnce>

                    <Doc:UnitPric>
                        <Doc:UnitOfMeasrCd></Doc:UnitOfMeasrCd>
                        <Doc:OthrUnitOfMeasr></Doc:OthrUnitOfMeasr>
                        <Doc:Amt Ccy="AAA"></Doc:Amt>

                        <Doc:Fctr></Doc:Fctr>
                    </Doc:UnitPric>

                    <Doc:PricTlrnce>
                        <Doc:PlusPct></Doc:PlusPct>
                        <Doc:MnsPct></Doc:MnsPct>
                    </Doc:PricTlrnce>

                    <Doc:PdctNm></Doc:PdctNm>

                    <Doc:PdctIdr>
                        <Doc:StrdPdctIdr>
                            <Doc:Tp></Doc:Tp>
                            <Doc:Idr></Doc:Idr>
                        </Doc:StrdPdctIdr>
                        <Doc:OthrPdctIdr>
                            <Doc:Id></Doc:Id>
                            <Doc:IdTp></Doc:IdTp>
                        </Doc:OthrPdctIdr>
                    </Doc:PdctIdr>
                   
                    <Doc:PdctChrtcs>
                        <Doc:StrdPdctChrtcs>
                            <Doc:Tp></Doc:Tp>
                            <Doc:Chrtcs></Doc:Chrtcs>
                        </Doc:StrdPdctChrtcs>
                        <Doc:OthrPdctChrtcs>
                            <Doc:Id></Doc:Id>
                            <Doc:IdTp></Doc:IdTp>
                        </Doc:OthrPdctChrtcs>
                    </Doc:PdctChrtcs>
                   

                    <Doc:PdctCtgy>
                        <Doc:StrdPdctCtgy>
                            <Doc:Tp></Doc:Tp>
                            <Doc:Ctgy></Doc:Ctgy>
                        </Doc:StrdPdctCtgy>
                        <Doc:OthrPdctCtgy>
                            <Doc:Id></Doc:Id>
                            <Doc:IdTp></Doc:IdTp>
                        </Doc:OthrPdctCtgy>
                    </Doc:PdctCtgy>
                   

                    <Doc:PdctOrgn></Doc:PdctOrgn>

                    <Doc:LatstShipmntDt></Doc:LatstShipmntDt>

                    <Doc:RtgSummry>
                        <Doc:IndvTrnsprt>

                            <Doc:TrnsprtByAir>

                                <Doc:DprtureAirprt>
                                    <Doc:AirprtCd></Doc:AirprtCd>
                                    <Doc:OthrAirprtDesc>
                                        <Doc:Twn></Doc:Twn>

                                        <Doc:AirprtNm></Doc:AirprtNm>
                                    </Doc:OthrAirprtDesc>
                                </Doc:DprtureAirprt>
                               
                                <Doc:DstnAirprt>
                                    <Doc:AirprtCd></Doc:AirprtCd>
                                    <Doc:OthrAirprtDesc>
                                        <Doc:Twn></Doc:Twn>

                                        <Doc:AirprtNm></Doc:AirprtNm>
                                    </Doc:OthrAirprtDesc>
                                </Doc:DstnAirprt>
                               
                            </Doc:TrnsprtByAir>
                           
                            <Doc:TrnsprtBySea>

                                <Doc:PortOfLoadng></Doc:PortOfLoadng>
                               
                                <Doc:PortOfDschrge></Doc:PortOfDschrge>
                            </Doc:TrnsprtBySea>
                           
                            <Doc:TrnsprtByRoad>

                                <Doc:PlcOfRct></Doc:PlcOfRct>
                               
                                <Doc:PlcOfDlvry></Doc:PlcOfDlvry>
                            </Doc:TrnsprtByRoad>
                           
                            <Doc:TrnsprtByRail>

                                <Doc:PlcOfRct></Doc:PlcOfRct>
                                <Doc:PlcOfDlvry></Doc:PlcOfDlvry>
                            </Doc:TrnsprtByRail>
                           
                        </Doc:IndvTrnsprt>
                        <Doc:MltmdlTrnsprt>

                            <Doc:DprtureAirprt>
                                <Doc:AirprtCd></Doc:AirprtCd>
                                <Doc:OthrAirprtDesc>
                                    <Doc:Twn></Doc:Twn>

                                    <Doc:AirprtNm></Doc:AirprtNm>
                                </Doc:OthrAirprtDesc>
                            </Doc:DprtureAirprt>
                           
                            <Doc:DstnAirprt>
                                <Doc:AirprtCd></Doc:AirprtCd>
                                <Doc:OthrAirprtDesc>
                                    <Doc:Twn></Doc:Twn>

                                    <Doc:AirprtNm></Doc:AirprtNm>
                                </Doc:OthrAirprtDesc>
                            </Doc:DstnAirprt>
                           
                            <Doc:PortOfLoadng></Doc:PortOfLoadng>
                            <Doc:PortOfDschrge></Doc:PortOfDschrge>

                            <Doc:PlcOfRct></Doc:PlcOfRct>
                            <Doc:PlcOfDlvry></Doc:PlcOfDlvry>

                            <Doc:TakngInChrg></Doc:TakngInChrg>
                            <Doc:PlcOfFnlDstn></Doc:PlcOfFnlDstn>
                        </Doc:MltmdlTrnsprt>
                    </Doc:RtgSummry>

                    <Doc:Incotrms>
                        <Doc:Cd></Doc:Cd>
                        <Doc:Othr></Doc:Othr>

                        <Doc:Lctn></Doc:Lctn>
                    </Doc:Incotrms>
                   
                    <Doc:Adjstmnt>
                        <Doc:Tp></Doc:Tp>
                        <Doc:OthrAdjstmntTp></Doc:OthrAdjstmntTp>
                        <Doc:Amt Ccy="AAA"></Doc:Amt>
                        <Doc:Rate></Doc:Rate>
                        <Doc:Drctn></Doc:Drctn>
                    </Doc:Adjstmnt>
                    <Doc:FrghtChrgs>
                        <Doc:Tp></Doc:Tp>

                        <Doc:Chrgs>
                            <Doc:Tp></Doc:Tp>
                            <Doc:OthrChrgsTp></Doc:OthrChrgsTp>
                            <Doc:Amt Ccy="AAA"></Doc:Amt>
                            <Doc:Rate></Doc:Rate>
                        </Doc:Chrgs>
                       
                    </Doc:FrghtChrgs>

                    <Doc:Tax>
                        <Doc:Tp></Doc:Tp>
                        <Doc:OthrTaxTp></Doc:OthrTaxTp>
                        <Doc:Amt Ccy="AAA"></Doc:Amt>
                        <Doc:Rate></Doc:Rate>
                    </Doc:Tax>
                   
                    <Doc:TtlAmt Ccy="AAA"></Doc:TtlAmt>
                </Doc:LineItmDtls>
               
                <Doc:LineItmsTtlAmt Ccy="AAA"></Doc:LineItmsTtlAmt>

                <Doc:RtgSummry>
                    <Doc:IndvTrnsprt>

                        <Doc:TrnsprtByAir>

                            <Doc:DprtureAirprt>
                                <Doc:AirprtCd></Doc:AirprtCd>
                                <Doc:OthrAirprtDesc>
                                    <Doc:Twn></Doc:Twn>

                                    <Doc:AirprtNm></Doc:AirprtNm>
                                </Doc:OthrAirprtDesc>
                            </Doc:DprtureAirprt>
                           
                            <Doc:DstnAirprt>
                                <Doc:AirprtCd></Doc:AirprtCd>
                                <Doc:OthrAirprtDesc>
                                    <Doc:Twn></Doc:Twn>

                                    <Doc:AirprtNm></Doc:AirprtNm>
                                </Doc:OthrAirprtDesc>
                            </Doc:DstnAirprt>
                           
                        </Doc:TrnsprtByAir>
                        <Doc:TrnsprtBySea>

                            <Doc:PortOfLoadng></Doc:PortOfLoadng>
                   
                            <Doc:PortOfDschrge></Doc:PortOfDschrge>
                        </Doc:TrnsprtBySea>
                       
                        <Doc:TrnsprtByRoad>

                           <Doc:PlcOfRct></Doc:PlcOfRct>

                            <Doc:PlcOfDlvry></Doc:PlcOfDlvry>
                           
                        </Doc:TrnsprtByRoad>
                        <Doc:TrnsprtByRail>

                            <Doc:PlcOfRct></Doc:PlcOfRct>
                            <Doc:PlcOfDlvry></Doc:PlcOfDlvry>
                        </Doc:TrnsprtByRail>
                       
                    </Doc:IndvTrnsprt>
                    <Doc:MltmdlTrnsprt>

                        <Doc:DprtureAirprt>
                            <Doc:AirprtCd></Doc:AirprtCd>
                            <Doc:OthrAirprtDesc>
                                <Doc:Twn></Doc:Twn>

                                <Doc:AirprtNm></Doc:AirprtNm>
                            </Doc:OthrAirprtDesc>
                        </Doc:DprtureAirprt>
                       
                        <Doc:DstnAirprt>
                            <Doc:AirprtCd></Doc:AirprtCd>
                            <Doc:OthrAirprtDesc>
                                <Doc:Twn></Doc:Twn>

                                <Doc:AirprtNm></Doc:AirprtNm>
                            </Doc:OthrAirprtDesc>
                        </Doc:DstnAirprt>

                        <Doc:PortOfLoadng></Doc:PortOfLoadng>
                       
                        <Doc:PortOfDschrge></Doc:PortOfDschrge>

                        <Doc:PlcOfRct></Doc:PlcOfRct>
                       
                        <Doc:PlcOfDlvry></Doc:PlcOfDlvry>

                        <Doc:TakngInChrg></Doc:TakngInChrg>
                       
                        <Doc:PlcOfFnlDstn></Doc:PlcOfFnlDstn>
                    </Doc:MltmdlTrnsprt>
                </Doc:RtgSummry>

                <Doc:Incotrms>
                    <Doc:Cd></Doc:Cd>
                    <Doc:Othr></Doc:Othr>

                    <Doc:Lctn></Doc:Lctn>
                </Doc:Incotrms>
               
                <Doc:Adjstmnt>
                    <Doc:Tp></Doc:Tp>
                    <Doc:OthrAdjstmntTp></Doc:OthrAdjstmntTp>
                    <Doc:Amt Ccy="AAA"></Doc:Amt>
                    <Doc:Rate></Doc:Rate>
                    <Doc:Drctn></Doc:Drctn>
                </Doc:Adjstmnt>
               
                <Doc:FrghtChrgs>
                    <Doc:Tp></Doc:Tp>

                    <Doc:Chrgs>
                        <Doc:Tp></Doc:Tp>
                        <Doc:OthrChrgsTp></Doc:OthrChrgsTp>
                        <Doc:Amt Ccy="AAA"></Doc:Amt>
                        <Doc:Rate></Doc:Rate>
                    </Doc:Chrgs>
                   
                </Doc:FrghtChrgs>

                <Doc:Tax>
                    <Doc:Tp></Doc:Tp>
                    <Doc:OthrTaxTp></Doc:OthrTaxTp>
                    <Doc:Amt Ccy="AAA"></Doc:Amt>
                    <Doc:Rate></Doc:Rate>
                </Doc:Tax>
               
                <Doc:TtlNetAmt Ccy="AAA"></Doc:TtlNetAmt>

                <Doc:BuyrDfndInf>
                    <Doc:Labl></Doc:Labl>
                    <Doc:Inf></Doc:Inf>
                </Doc:BuyrDfndInf>
               

                <Doc:SellrDfndInf>
                    <Doc:Labl></Doc:Labl>
                    <Doc:Inf></Doc:Inf>
                </Doc:SellrDfndInf>
               
            </Doc:Goods>

            <Doc:PmtTerms>
                <Doc:OthrPmtTerms></Doc:OthrPmtTerms>
                <Doc:PmtCd>
                    <Doc:Cd></Doc:Cd>

                    <Doc:NbOfDays></Doc:NbOfDays>
                </Doc:PmtCd>
                <Doc:Pctg></Doc:Pctg>
                <Doc:Amt Ccy="AAA"></Doc:Amt>
            </Doc:PmtTerms>
           
            <Doc:SttlmTerms>

                <Doc:FnlAgt>
                    <Doc:BIC></Doc:BIC>
                    <Doc:NmAndAdr>
                        <Doc:Nm></Doc:Nm>
                        <Doc:Adr>

                            <Doc:StrtNm></Doc:StrtNm>
                            <Doc:PstCdId></Doc:PstCdId>
                            <Doc:TwnNm></Doc:TwnNm>

                            <Doc:CtrySubDvsn></Doc:CtrySubDvsn>
                            <Doc:Ctry></Doc:Ctry>
                        </Doc:Adr>
                    </Doc:NmAndAdr>
                </Doc:FnlAgt>
                <Doc:BnfcryAcct>
                    <Doc:Nm></Doc:Nm>
                    <Doc:Id>
                        <Doc:IBAN></Doc:IBAN>
                        <Doc:BBAN></Doc:BBAN>
                        <Doc:UPIC></Doc:UPIC>
                        <Doc:DmstAcct>
                            <Doc:Id></Doc:Id>
                        </Doc:DmstAcct>
                    </Doc:Id>
                    <Doc:NmAndId>
                        <Doc:Id>
                            <Doc:IBAN></Doc:IBAN>
                            <Doc:BBAN></Doc:BBAN>
                            <Doc:UPIC></Doc:UPIC>
                            <Doc:DmstAcct>
                                <Doc:Id></Doc:Id>
                            </Doc:DmstAcct>
                        </Doc:Id>
                        <Doc:Nm></Doc:Nm>
                    </Doc:NmAndId>
                </Doc:BnfcryAcct>
            </Doc:SttlmTerms>

            <Doc:DataSetReqrd>

                <Doc:LatstMtchDt></Doc:LatstMtchDt>
                <Doc:ReqrdComrclDataSet></Doc:ReqrdComrclDataSet>
                <Doc:ReqrdTrnsprtDataSet></Doc:ReqrdTrnsprtDataSet>
                <Doc:Submitr>
                    <Doc:BIC></Doc:BIC>
                </Doc:Submitr>
            </Doc:DataSetReqrd>
        </Doc:Baseln>

        <Doc:BuyrCtctPrsn>
            <Doc:Nm></Doc:Nm>

            <Doc:NmPrfx></Doc:NmPrfx>

            <Doc:GvnNm></Doc:GvnNm>

            <Doc:Role></Doc:Role>

            <Doc:PhneNb></Doc:PhneNb>

            <Doc:FaxNb></Doc:FaxNb>

            <Doc:EmailAdr></Doc:EmailAdr>
        </Doc:BuyrCtctPrsn>
       
        <Doc:SellrCtctPrsn>
            <Doc:Nm></Doc:Nm>

            <Doc:NmPrfx></Doc:NmPrfx>

            <Doc:GvnNm></Doc:GvnNm>

            <Doc:Role></Doc:Role>

            <Doc:PhneNb></Doc:PhneNb>

            <Doc:FaxNb></Doc:FaxNb>

            <Doc:EmailAdr></Doc:EmailAdr>
        </Doc:SellrCtctPrsn>

        <Doc:BuyrBkCtctPrsn>
            <Doc:Nm></Doc:Nm>

            <Doc:NmPrfx></Doc:NmPrfx>

            <Doc:GvnNm></Doc:GvnNm>

            <Doc:Role></Doc:Role>

            <Doc:PhneNb></Doc:PhneNb>

            <Doc:FaxNb></Doc:FaxNb>

            <Doc:EmailAdr></Doc:EmailAdr>
        </Doc:BuyrBkCtctPrsn>
       
        <Doc:SellrBkCtctPrsn>
            <Doc:Nm></Doc:Nm>

            <Doc:NmPrfx></Doc:NmPrfx>

            <Doc:GvnNm></Doc:GvnNm>

            <Doc:Role></Doc:Role>

            <Doc:PhneNb></Doc:PhneNb>

            <Doc:FaxNb></Doc:FaxNb>

            <Doc:EmailAdr></Doc:EmailAdr>
        </Doc:SellrBkCtctPrsn>

        <Doc:BllToCtctPrsn>
            <Doc:Nm></Doc:Nm>

            <Doc:NmPrfx></Doc:NmPrfx>

            <Doc:GvnNm></Doc:GvnNm>

            <Doc:Role></Doc:Role>

            <Doc:PhneNb></Doc:PhneNb>

            <Doc:FaxNb></Doc:FaxNb>

            <Doc:EmailAdr></Doc:EmailAdr>
        </Doc:BllToCtctPrsn>
       
        <Doc:ShipToCtctPrsn>
            <Doc:Nm></Doc:Nm>

            <Doc:NmPrfx></Doc:NmPrfx>

            <Doc:GvnNm></Doc:GvnNm>

            <Doc:Role></Doc:Role>

            <Doc:PhneNb></Doc:PhneNb>

            <Doc:FaxNb></Doc:FaxNb>

            <Doc:EmailAdr></Doc:EmailAdr>
        </Doc:ShipToCtctPrsn>

        <Doc:ConsgnCtctPrsn>
            <Doc:Nm></Doc:Nm>

            <Doc:NmPrfx></Doc:NmPrfx>

            <Doc:GvnNm></Doc:GvnNm>

            <Doc:Role></Doc:Role>

            <Doc:PhneNb></Doc:PhneNb>

            <Doc:FaxNb></Doc:FaxNb>

            <Doc:EmailAdr></Doc:EmailAdr>
        </Doc:ConsgnCtctPrsn>
       
    </Doc:tsmt.019.001.02>
</Doc:Document>
<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by SWIFTStandards Workstation (build:R5.1.0.4) on 2006 Jul 17 12:54:39-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:swift:xsd:$tsmt.019.001.02" elementFormDefault="qualified" targetNamespace="urn:swift:xsd:$tsmt.019.001.02">
<xs:element name="Document" type="Document"/>
<xs:complexType name="AccountIdentification1Choice">
<xs:sequence>
<xs:choice>
<xs:element name="IBAN" type="IBANIdentifier"/>
<xs:element name="BBAN" type="BBANIdentifier"/>
<xs:element name="UPIC" type="UPICIdentifier"/>
<xs:element name="DmstAcct" type="SimpleIdentificationInformation"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AccountIdentificationAndName2">
<xs:sequence>
<xs:element name="Id" type="AccountIdentification1Choice"/>
<xs:element name="Nm" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AccountIdentificationOrNameChoice">
<xs:sequence>
<xs:choice>
<xs:element name="Nm" type="Max35Text"/>
<xs:element name="Id" type="AccountIdentification1Choice"/>
<xs:element name="NmAndId" type="AccountIdentificationAndName2"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Adjustment3">
<xs:sequence>
<xs:choice>
<xs:element name="Tp" type="AdjustmentType2Code"/>
<xs:element name="OthrAdjstmntTp" type="Max35Text"/>
</xs:choice>
<xs:choice>
<xs:element name="Amt" type="CurrencyAndAmount"/>
<xs:element name="Rate" type="PercentageRate"/>
</xs:choice>
<xs:element name="Drctn" type="AdjustmentDirection1Code"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="AdjustmentDirection1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="ADDD"/>
<xs:enumeration value="SUBS"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="AdjustmentType2Code">
<xs:restriction base="xs:string">
<xs:enumeration value="REBA"/>
<xs:enumeration value="DISC"/>
<xs:enumeration value="CREN"/>
<xs:enumeration value="SURC"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="AirportDescription1">
<xs:sequence>
<xs:element name="Twn" type="Max35Text"/>
<xs:element name="AirprtNm" type="Max35Text" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AirportName1Choice">
<xs:sequence>
<xs:choice>
<xs:element name="AirprtCd" type="Max6Text"/>
<xs:element name="OthrAirprtDesc" type="AirportDescription1"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="BBANIdentifier">
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z0-9]{1,30}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="BEIIdentifier">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="BICIdentification1">
<xs:sequence>
<xs:element name="BIC" type="BICIdentifier"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="BICIdentifier">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Baseline2">
<xs:sequence>
<xs:element name="SubmitrBaselnId" type="DocumentIdentification1"/>
<xs:element name="SvcCd" type="TradeFinanceService2Code"/>
<xs:element name="PurchsOrdrRef" type="DocumentIdentification7"/>
<xs:element name="Buyr" type="PartyIdentification9"/>
<xs:element name="Sellr" type="PartyIdentification9"/>
<xs:element name="BuyrBk" type="BICIdentification1"/>
<xs:element name="SellrBk" type="BICIdentification1"/>
<xs:element name="BllTo" type="PartyIdentification9" minOccurs="0" maxOccurs="1"/>
<xs:element name="ShipTo" type="PartyIdentification9" minOccurs="0" maxOccurs="1"/>
<xs:element name="Consgn" type="PartyIdentification9" minOccurs="0" maxOccurs="1"/>
<xs:element name="Goods" type="LineItem5"/>
<xs:element name="PmtTerms" type="PaymentTerms1" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="SttlmTerms" type="SettlementTerms1" minOccurs="0" maxOccurs="1"/>
<xs:element name="DataSetReqrd" type="RequiredSubmission1" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Charge12">
<xs:sequence>
<xs:element name="Tp" type="FreightCharges1Code"/>
<xs:element name="Chrgs" type="ChargesDetails1" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ChargeType8Code">
<xs:restriction base="xs:string">
<xs:enumeration value="SIGN"/>
<xs:enumeration value="STDE"/>
<xs:enumeration value="STOR"/>
<xs:enumeration value="PACK"/>
<xs:enumeration value="PICK"/>
<xs:enumeration value="DNGR"/>
<xs:enumeration value="SECU"/>
<xs:enumeration value="INSU"/>
<xs:enumeration value="COLF"/>
<xs:enumeration value="CHOR"/>
<xs:enumeration value="CHDE"/>
<xs:enumeration value="AIRF"/>
<xs:enumeration value="TRPT"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ChargesDetails1">
<xs:sequence>
<xs:choice>
<xs:element name="Tp" type="ChargeType8Code"/>
<xs:element name="OthrChrgsTp" type="Max35Text"/>
</xs:choice>
<xs:choice>
<xs:element name="Amt" type="CurrencyAndAmount"/>
<xs:element name="Rate" type="PercentageRate"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ContactIdentification1">
<xs:sequence>
<xs:element name="Nm" type="Max35Text"/>
<xs:element name="NmPrfx" type="NamePrefix1Code" minOccurs="0" maxOccurs="1"/>
<xs:element name="GvnNm" type="Max35Text" minOccurs="0" maxOccurs="1"/>
<xs:element name="Role" type="Max35Text" minOccurs="0" maxOccurs="1"/>
<xs:element name="PhneNb" type="PhoneNumber" minOccurs="0" maxOccurs="1"/>
<xs:element name="FaxNb" type="PhoneNumber" minOccurs="0" maxOccurs="1"/>
<xs:element name="EmailAdr" type="Max256Text" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="CountryCode">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2,2}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CurrencyAndAmount_SimpleType">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:fractionDigits value="5"/>
<xs:totalDigits value="18"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CurrencyAndAmount">
<xs:simpleContent>
<xs:extension base="CurrencyAndAmount_SimpleType">
<xs:attribute name="Ccy" type="CurrencyCode" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="CurrencyCode">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{3,3}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DecimalNumber">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="17"/>
<xs:totalDigits value="18"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Document">
<xs:sequence>
<xs:element name="tsmt.019.001.02" type="tsmt.019.001.02"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DocumentIdentification1">
<xs:sequence>
<xs:element name="Id" type="Max35Text"/>
<xs:element name="Vrsn" type="Number"/>
<xs:element name="Submitr" type="BICIdentification1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DocumentIdentification7">
<xs:sequence>
<xs:element name="Id" type="Max35Text"/>
<xs:element name="DtOfIsse" type="ISODate"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FinancialInstitutionIdentification4Choice">
<xs:sequence>
<xs:choice>
<xs:element name="BIC" type="BICIdentifier"/>
<xs:element name="NmAndAdr" type="NameAndAddress6"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="FreightCharges1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="CLCT"/>
<xs:enumeration value="PRPD"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="GenericIdentification4">
<xs:sequence>
<xs:element name="Id" type="Max35Text"/>
<xs:element name="IdTp" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="IBANIdentifier">
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ISODate">
<xs:restriction base="xs:date"/>
</xs:simpleType>
<xs:simpleType name="ISODateTime">
<xs:restriction base="xs:dateTime"/>
</xs:simpleType>
<xs:complexType name="Incoterms1">
<xs:sequence>
<xs:choice>
<xs:element name="Cd" type="Incoterms1Code"/>
<xs:element name="Othr" type="Max35Text"/>
</xs:choice>
<xs:element name="Lctn" type="Max35Text" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="Incoterms1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="EXW"/>
<xs:enumeration value="FCA"/>
<xs:enumeration value="FAS"/>
<xs:enumeration value="FOB"/>
<xs:enumeration value="CFR"/>
<xs:enumeration value="CIF"/>
<xs:enumeration value="CPT"/>
<xs:enumeration value="CIP"/>
<xs:enumeration value="DAF"/>
<xs:enumeration value="DES"/>
<xs:enumeration value="DEQ"/>
<xs:enumeration value="DDU"/>
<xs:enumeration value="DDP"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="InstructionType1">
<xs:sequence>
<xs:element name="Tp" type="InstructionType1Code"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="InstructionType1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="LODG"/>
<xs:enumeration value="FPTR"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="LineItem5">
<xs:sequence>
<xs:element name="GoodsDesc" type="Max70Text" minOccurs="0" maxOccurs="1"/>
<xs:element name="PrtlShipmnt" type="YesNoIndicator"/>
<xs:element name="TrnsShipmnt" type="YesNoIndicator" minOccurs="0" maxOccurs="1"/>
<xs:element name="LatstShipmntDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
<xs:element name="LineItmDtls" type="LineItemDetails4" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="LineItmsTtlAmt" type="CurrencyAndAmount"/>
<xs:element name="RtgSummry" type="TransportMeans1Choice" minOccurs="0" maxOccurs="1"/>
<xs:element name="Incotrms" type="Incoterms1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Adjstmnt" type="Adjustment3" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="FrghtChrgs" type="Charge12" minOccurs="0" maxOccurs="1"/>
<xs:element name="Tax" type="Tax13" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="TtlNetAmt" type="CurrencyAndAmount"/>
<xs:element name="BuyrDfndInf" type="UserDefinedInformation1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SellrDfndInf" type="UserDefinedInformation1" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="LineItemDetails4">
<xs:sequence>
<xs:element name="LineItmId" type="Max70Text"/>
<xs:element name="Qty" type="Quantity2"/>
<xs:element name="QtyTlrnce" type="PercentageTolerance1" minOccurs="0" maxOccurs="1"/>
<xs:element name="UnitPric" type="UnitPrice8" minOccurs="0" maxOccurs="1"/>
<xs:element name="PricTlrnce" type="PercentageTolerance1" minOccurs="0" maxOccurs="1"/>
<xs:element name="PdctNm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
<xs:element name="PdctIdr" type="ProductIdentifier2Choice" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PdctChrtcs" type="ProductCharacteristics1Choice" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PdctCtgy" type="ProductCategory1Choice" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PdctOrgn" type="CountryCode" minOccurs="0" maxOccurs="1"/>
<xs:element name="LatstShipmntDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
<xs:element name="RtgSummry" type="TransportMeans1Choice" minOccurs="0" maxOccurs="1"/>
<xs:element name="Incotrms" type="Incoterms1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Adjstmnt" type="Adjustment3" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="FrghtChrgs" type="Charge12" minOccurs="0" maxOccurs="1"/>
<xs:element name="Tax" type="Tax13" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="TtlAmt" type="CurrencyAndAmount"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="Max140Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="140"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max15NumericText">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{1,15}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max16Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="16"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max256Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="256"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max35Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="35"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max6Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="6"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max70Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="70"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="MessageIdentification1">
<xs:sequence>
<xs:element name="Id" type="Max35Text"/>
<xs:element name="CreDtTm" type="ISODateTime"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MultimodalTransport1">
<xs:sequence>
<xs:element name="DprtureAirprt" type="AirportName1Choice" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DstnAirprt" type="AirportName1Choice" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PortOfLoadng" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PortOfDschrge" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PlcOfRct" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PlcOfDlvry" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="TakngInChrg" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PlcOfFnlDstn" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="NameAndAddress6">
<xs:sequence>
<xs:element name="Nm" type="Max70Text"/>
<xs:element name="Adr" type="PostalAddress2"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="NamePrefix1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="DOCT"/>
<xs:enumeration value="MIST"/>
<xs:enumeration value="MISS"/>
<xs:enumeration value="MADM"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Number">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="0"/>
<xs:totalDigits value="18"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="PartyIdentification9">
<xs:sequence>
<xs:choice>
<xs:element name="Nm" type="Max70Text"/>
<xs:element name="BEI" type="BEIIdentifier"/>
<xs:element name="OthrSchme" type="Max70Text"/>
</xs:choice>
<xs:element name="PstlAdr" type="PostalAddress2"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PaymentPeriod1">
<xs:sequence>
<xs:element name="Cd" type="PaymentTime1Code"/>
<xs:element name="NbOfDays" type="Number" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PaymentTerms1">
<xs:sequence>
<xs:choice>
<xs:element name="OthrPmtTerms" type="Max140Text"/>
<xs:element name="PmtCd" type="PaymentPeriod1"/>
</xs:choice>
<xs:choice>
<xs:element name="Pctg" type="PercentageRate"/>
<xs:element name="Amt" type="CurrencyAndAmount"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="PaymentTime1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="CASH"/>
<xs:enumeration value="EMTD"/>
<xs:enumeration value="EPRD"/>
<xs:enumeration value="PRMD"/>
<xs:enumeration value="IREC"/>
<xs:enumeration value="PRMR"/>
<xs:enumeration value="EPRR"/>
<xs:enumeration value="EMTR"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PercentageRate">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="10"/>
<xs:totalDigits value="11"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="PercentageTolerance1">
<xs:sequence>
<xs:element name="PlusPct" type="PercentageRate"/>
<xs:element name="MnsPct" type="PercentageRate"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="PhoneNumber">
<xs:restriction base="xs:string">
<xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="PostalAddress2">
<xs:sequence>
<xs:element name="StrtNm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
<xs:element name="PstCdId" type="Max16Text"/>
<xs:element name="TwnNm" type="Max35Text"/>
<xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0" maxOccurs="1"/>
<xs:element name="Ctry" type="CountryCode"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProductCategory1">
<xs:sequence>
<xs:element name="Tp" type="ProductCategory1Code"/>
<xs:element name="Ctgy" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProductCategory1Choice">
<xs:sequence>
<xs:choice>
<xs:element name="StrdPdctCtgy" type="ProductCategory1"/>
<xs:element name="OthrPdctCtgy" type="GenericIdentification4"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ProductCategory1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="HRTR"/>
<xs:enumeration value="QOTA"/>
<xs:enumeration value="PRGP"/>
<xs:enumeration value="LOBU"/>
<xs:enumeration value="GNDR"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ProductCharacteristics1">
<xs:sequence>
<xs:element name="Tp" type="ProductCharacteristics1Code"/>
<xs:element name="Chrtcs" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProductCharacteristics1Choice">
<xs:sequence>
<xs:choice>
<xs:element name="StrdPdctChrtcs" type="ProductCharacteristics1"/>
<xs:element name="OthrPdctChrtcs" type="GenericIdentification4"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ProductCharacteristics1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="BISP"/>
<xs:enumeration value="CHNR"/>
<xs:enumeration value="CLOR"/>
<xs:enumeration value="EDSP"/>
<xs:enumeration value="ENNR"/>
<xs:enumeration value="OPTN"/>
<xs:enumeration value="ORCR"/>
<xs:enumeration value="PCTV"/>
<xs:enumeration value="SISP"/>
<xs:enumeration value="SIZE"/>
<xs:enumeration value="SZRG"/>
<xs:enumeration value="SPRM"/>
<xs:enumeration value="STOR"/>
<xs:enumeration value="VINR"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ProductIdentifier2">
<xs:sequence>
<xs:element name="Tp" type="ProductIdentifier2Code"/>
<xs:element name="Idr" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProductIdentifier2Choice">
<xs:sequence>
<xs:choice>
<xs:element name="StrdPdctIdr" type="ProductIdentifier2"/>
<xs:element name="OthrPdctIdr" type="GenericIdentification4"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ProductIdentifier2Code">
<xs:restriction base="xs:string">
<xs:enumeration value="BINR"/>
<xs:enumeration value="COMD"/>
<xs:enumeration value="EANC"/>
<xs:enumeration value="HRTR"/>
<xs:enumeration value="MANI"/>
<xs:enumeration value="MODL"/>
<xs:enumeration value="PART"/>
<xs:enumeration value="QOTA"/>
<xs:enumeration value="STYL"/>
<xs:enumeration value="SUPI"/>
<xs:enumeration value="UPCC"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Quantity2">
<xs:sequence>
<xs:choice>
<xs:element name="UnitOfMeasrCd" type="UnitOfMeasure3Code"/>
<xs:element name="OthrUnitOfMeasr" type="Max35Text"/>
</xs:choice>
<xs:element name="Val" type="DecimalNumber"/>
<xs:element name="Fctr" type="Max15NumericText" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RequiredSubmission1">
<xs:sequence>
<xs:element name="LatstMtchDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
<xs:element name="ReqrdComrclDataSet" type="YesNoIndicator"/>
<xs:element name="ReqrdTrnsprtDataSet" type="YesNoIndicator"/>
<xs:element name="Submitr" type="BICIdentification1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SettlementTerms1">
<xs:sequence>
<xs:element name="FnlAgt" type="FinancialInstitutionIdentification4Choice" minOccurs="0" maxOccurs="1"/>
<xs:element name="BnfcryAcct" type="AccountIdentificationOrNameChoice"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SimpleIdentificationInformation">
<xs:sequence>
<xs:element name="Id" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SingleTransport1">
<xs:sequence>
<xs:element name="TrnsprtByAir" type="TransportByAir1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="TrnsprtBySea" type="TransportBySea1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="TrnsprtByRoad" type="TransportByRoad1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="TrnsprtByRail" type="TransportByRail1" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Tax13">
<xs:sequence>
<xs:choice>
<xs:element name="Tp" type="TaxType9Code"/>
<xs:element name="OthrTaxTp" type="Max35Text"/>
</xs:choice>
<xs:choice>
<xs:element name="Amt" type="CurrencyAndAmount"/>
<xs:element name="Rate" type="PercentageRate"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="TaxType9Code">
<xs:restriction base="xs:string">
<xs:enumeration value="PROV"/>
<xs:enumeration value="NATI"/>
<xs:enumeration value="STAT"/>
<xs:enumeration value="WITH"/>
<xs:enumeration value="STAM"/>
<xs:enumeration value="COAX"/>
<xs:enumeration value="VATA"/>
<xs:enumeration value="CUST"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TradeFinanceService2Code">
<xs:restriction base="xs:string">
<xs:enumeration value="LEV1"/>
<xs:enumeration value="LEV2"/>
<xs:enumeration value="LEV3"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="TransportByAir1">
<xs:sequence>
<xs:element name="DprtureAirprt" type="AirportName1Choice" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DstnAirprt" type="AirportName1Choice" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TransportByRail1">
<xs:sequence>
<xs:element name="PlcOfRct" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PlcOfDlvry" type="Max35Text" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TransportByRoad1">
<xs:sequence>
<xs:element name="PlcOfRct" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PlcOfDlvry" type="Max35Text" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TransportBySea1">
<xs:sequence>
<xs:element name="PortOfLoadng" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PortOfDschrge" type="Max35Text" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TransportMeans1Choice">
<xs:sequence>
<xs:choice>
<xs:element name="IndvTrnsprt" type="SingleTransport1"/>
<xs:element name="MltmdlTrnsprt" type="MultimodalTransport1"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="UPICIdentifier">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{8,17}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="UnitOfMeasure3Code">
<xs:restriction base="xs:string">
<xs:enumeration value="KGM"/>
<xs:enumeration value="EA"/>
<xs:enumeration value="LTN"/>
<xs:enumeration value="MTR"/>
<xs:enumeration value="INH"/>
<xs:enumeration value="LY"/>
<xs:enumeration value="GLI"/>
<xs:enumeration value="GRM"/>
<xs:enumeration value="CMT"/>
<xs:enumeration value="MTK"/>
<xs:enumeration value="FOT"/>
<xs:enumeration value="1A"/>
<xs:enumeration value="INK"/>
<xs:enumeration value="FTK"/>
<xs:enumeration value="MIK"/>
<xs:enumeration value="ONZ"/>
<xs:enumeration value="PTI"/>
<xs:enumeration value="PT"/>
<xs:enumeration value="QTI"/>
<xs:enumeration value="QT"/>
<xs:enumeration value="GLL"/>
<xs:enumeration value="MMT"/>
<xs:enumeration value="KTM"/>
<xs:enumeration value="YDK"/>
<xs:enumeration value="MMK"/>
<xs:enumeration value="CMK"/>
<xs:enumeration value="KMK"/>
<xs:enumeration value="MMQ"/>
<xs:enumeration value="CLT"/>
<xs:enumeration value="LTR"/>
<xs:enumeration value="LBR"/>
<xs:enumeration value="STN"/>
<xs:enumeration value="BLL"/>
<xs:enumeration value="BX"/>
<xs:enumeration value="BO"/>
<xs:enumeration value="CT"/>
<xs:enumeration value="CH"/>
<xs:enumeration value="CR"/>
<xs:enumeration value="INQ"/>
<xs:enumeration value="MTQ"/>
<xs:enumeration value="OZI"/>
<xs:enumeration value="OZA"/>
<xs:enumeration value="BG"/>
<xs:enumeration value="BL"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="UnitPrice8">
<xs:sequence>
<xs:choice>
<xs:element name="UnitOfMeasrCd" type="UnitOfMeasure3Code"/>
<xs:element name="OthrUnitOfMeasr" type="Max35Text"/>
</xs:choice>
<xs:element name="Amt" type="CurrencyAndAmount"/>
<xs:element name="Fctr" type="Max15NumericText" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="UserDefinedInformation1">
<xs:sequence>
<xs:element name="Labl" type="Max35Text"/>
<xs:element name="Inf" type="Max140Text"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="YesNoIndicator">
<xs:restriction base="xs:boolean"/>
</xs:simpleType>
<xs:complexType name="tsmt.019.001.02">
<xs:sequence>
<xs:element name="SubmissnId" type="MessageIdentification1"/>
<xs:element name="SubmitrTxRef" type="SimpleIdentificationInformation"/>
<xs:element name="Instr" type="InstructionType1"/>
<xs:element name="Baseln" type="Baseline2"/>
<xs:element name="BuyrCtctPrsn" type="ContactIdentification1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SellrCtctPrsn" type="ContactIdentification1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="BuyrBkCtctPrsn" type="ContactIdentification1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SellrBkCtctPrsn" type="ContactIdentification1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="BllToCtctPrsn" type="ContactIdentification1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ShipToCtctPrsn" type="ContactIdentification1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ConsgnCtctPrsn" type="ContactIdentification1" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:schema>

019all.xhtml (10K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Schema Bug

Erik Bruchez
Administrator
In reply to this post by Colin Seaman
Colin,

Probably yes. Can you package a small reproducible case that runs in the
sandbox?

Thanks,

-Erik

Colin Seaman wrote:

> Guys,
>
> I have a schema which defines three possible values.  Of the three
> values, only one of them can be filled in on the form.  In schema terms,
> this is defined as:
> <xs:choice>
> <xs:element name="Nm" type="Max70Text"/>
> <xs:element name="BEI" type="BEIIdentifier"/>
> <xs:element name="OthrSchme" type="Max70Text"/>
> </xs:choice>
>
> (BEIIdentifer is defined as :
> <xs:simpleType name="BEIIdentifier">
> <xs:restriction base="xs:string">
> <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
> </xs:restriction>
> </xs:simpleType>), eg: MIDLGB22
>
> However, I've noticed that when running an XForm linked to this schema,
> the document will only say that it is valid when the first one is filled
> in, ie: Nm.  If BEI or OtherSchme are filled in (using their appropriate
> values), it still marks the item as being invalid.
>
> The XSD/XML validation works fine on the raw files when I do a
> validation in XMLSpy, so is this a bug in OPS v 3.5M?
--
Orbeon - XForms Everywhere:
http://www.orbeon.com/blog/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Schema Bug

Colin Seaman
In reply to this post by Colin Seaman
Hi Erik,

Sorry for the delay in my reply.  Please find attached the full schema, a working valid xml file and a non valid xml file.  This all seems to work in the real time schema validator sandbox, but not using the aforementioned code.
-- 
Colin Seaman
Senior Developer
 
Tradocs Ltd,
Tower Point,
44 North Road,
Brighton,
BN1 1YR

email:     [hidden email]
skype:     colin,seaman
telephone: 0870-1417031
website:   http://www.tradocs.net

This email and any files transmitted with it are confidential 
and intended solely for the use of the individual or entity to 
whom they are addressed. If you have received this email in 
error please contact Tradocs. Please note that any views or 
opinions presented in this email are solely those of the author 
and do not necessarily represent those of the company. Finally, 
the recipient should check this email and any attachments for 
the presence of viruses. The company accepts no liability for 
any damage caused by any virus transmitted by this email.
This content of this email is without prejudice.

Colin,
Probably yes. Can you package a 
small reproducible case that runs in the sandbox?

Thanks,
-Erik
Colin Seaman wrote: 
Guys,

I have a schema which defines three possible values. Of the three values, only one of them can be filled in on the form. In schema terms, this is defined as:
<xs:choice>
<xs:element name="Nm" type="Max70Text"/>
<xs:element name="BEI" type="BEIIdentifier"/>
<xs:element name="OthrSchme" type="Max70Text"/>
</xs:choice>


(BEIIdentifer is defined as :
<xs:simpleType name="BEIIdentifier">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
</xs:restriction>
</xs:simpleType>), eg: MIDLGB22

However, I've noticed that when running an XForm linked to this schema, the document will only say that it is valid when the first one is filled in, ie: Nm. If BEI or OtherSchme are filled in (using their appropriate values), it still marks the item as being invalid.

The XSD/XML validation works fine on the raw files when I do a validation in XMLSpy, so is this a bug in OPS v 3.5M?

-- Orbeon - XForms Everywhere: http://www.orbeon.com/blog/




<?xml version="1.0" encoding="UTF-8" ?>
<Doc:Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:Doc="urn:swift:xsd:$tsmt.019.001.01" >
<Doc:tsmt.019.001.01>
<Doc:SubmissnId>
<Doc:Id>HI-20060911064623-411499-437</Doc:Id>
<Doc:CreDtTm>2006-09-11T06:46:23</Doc:CreDtTm>
</Doc:SubmissnId>
<Doc:SubmitrTxRef>
<Doc:Id>HI-20060911064623-411499-437</Doc:Id>
</Doc:SubmitrTxRef>
<Doc:Instr>
<Doc:Tp>LODG</Doc:Tp>
</Doc:Instr>
<Doc:Baseln>
<Doc:SubmitrBaselnId>
<Doc:Id>PW-TEST-PO-20060911-1346</Doc:Id>
<Doc:Vrsn>1</Doc:Vrsn>
<Doc:Submitr>
<Doc:BIC>MIDLGB22</Doc:BIC>
</Doc:Submitr>
</Doc:SubmitrBaselnId>
<Doc:SvcCd>PORS</Doc:SvcCd>
<Doc:PurchsOrdrRef>
<Doc:Id>PW-TEST-PO-20060911-1346</Doc:Id>
<Doc:DtOfIsse>2006-09-11</Doc:DtOfIsse>
</Doc:PurchsOrdrRef>
<Doc:Buyr>
<Doc:Nm>ABC Trading</Doc:Nm>
<Doc:PstlAdr>
<Doc:StrtNm>1 Market Street</Doc:StrtNm>
<Doc:PstCdId>91010</Doc:PstCdId>
<Doc:TwnNm>San Francisco</Doc:TwnNm>
<Doc:CtrySubDvsn>California</Doc:CtrySubDvsn>
<Doc:Ctry>US</Doc:Ctry>
</Doc:PstlAdr>
</Doc:Buyr>
<Doc:Sellr>
<Doc:Nm>HKBC Manufacturing</Doc:Nm>
<Doc:PstlAdr>
<Doc:StrtNm>8 Canton Road</Doc:StrtNm>
<Doc:PstCdId>00000</Doc:PstCdId>
<Doc:TwnNm>Tsim Sha Tsui</Doc:TwnNm>
<Doc:CtrySubDvsn>Kowloon</Doc:CtrySubDvsn>
<Doc:Ctry>HK</Doc:Ctry>
</Doc:PstlAdr>
</Doc:Sellr>
<Doc:BuyrBk>
<Doc:BIC>MIDLGB22</Doc:BIC>
</Doc:BuyrBk>
<Doc:SellrBk>
<Doc:BIC>MIDLGB22</Doc:BIC>
</Doc:SellrBk>
<Doc:BllTo>
<Doc:Nm>ABC Trading</Doc:Nm>
<Doc:PstlAdr>
<Doc:StrtNm>1 Market Street</Doc:StrtNm>
<Doc:PstCdId>91010</Doc:PstCdId>
<Doc:TwnNm>San Francisco</Doc:TwnNm>
<Doc:CtrySubDvsn>California</Doc:CtrySubDvsn>
<Doc:Ctry>US</Doc:Ctry>
</Doc:PstlAdr>
</Doc:BllTo>
<Doc:ShipTo>
<Doc:Nm>ABC WDC</Doc:Nm>
<Doc:PstlAdr>
<Doc:StrtNm>100 Industrial Way</Doc:StrtNm>
<Doc:PstCdId>90010</Doc:PstCdId>
<Doc:TwnNm>Ventura</Doc:TwnNm>
<Doc:CtrySubDvsn>California</Doc:CtrySubDvsn>
<Doc:Ctry>US</Doc:Ctry>
</Doc:PstlAdr>
</Doc:ShipTo>
<Doc:Goods>
<Doc:PrtlShipmnt>false</Doc:PrtlShipmnt>
<Doc:TrnsShipmnt>false</Doc:TrnsShipmnt>
<Doc:LatstShipmntDt>2006-09-30</Doc:LatstShipmntDt>
<Doc:LineItmDtls>
<Doc:LineItmNb>1</Doc:LineItmNb>
<Doc:Qty>
<Doc:UnitOfMeasrCd>PIEC</Doc:UnitOfMeasrCd>
<Doc:Val>1000</Doc:Val>
</Doc:Qty>
<Doc:QtyTlrnce>
<Doc:PlusPct>5</Doc:PlusPct>
<Doc:MnsPct>5</Doc:MnsPct>
</Doc:QtyTlrnce>
<Doc:UnitPric>
<Doc:UnitOfMeasrCd>PIEC</Doc:UnitOfMeasrCd>
<Doc:Amt Ccy="USD">10</Doc:Amt>
</Doc:UnitPric>
<Doc:PdctNm>Mickey Mouse Acrylic Set</Doc:PdctNm>
<Doc:PdctIdr>
<Doc:StrdPdctIdr>
<Doc:Tp>BINR</Doc:Tp>
<Doc:Idr>MM-001</Doc:Idr>
</Doc:StrdPdctIdr>
</Doc:PdctIdr>
<Doc:PdctOrgn>HK</Doc:PdctOrgn>
<Doc:TtlAmt Ccy="USD">10000.00</Doc:TtlAmt>
</Doc:LineItmDtls>
<Doc:LineItmsTtlAmt Ccy="USD">10000.00</Doc:LineItmsTtlAmt>
<Doc:RtgSummry>
<Doc:IndvTrnsprt>
<Doc:TrnsprtBySea>
<Doc:PortOfLoadng>HKG</Doc:PortOfLoadng>
<Doc:PortOfDschrge>LAX</Doc:PortOfDschrge>
</Doc:TrnsprtBySea>
</Doc:IndvTrnsprt>
</Doc:RtgSummry>
<Doc:Incotrms>
<Doc:Cd>FOB</Doc:Cd>
<Doc:Lctn>Hong Kong</Doc:Lctn>
</Doc:Incotrms>
<Doc:FrghtChrgs>
<Doc:Tp>PRPD</Doc:Tp>
<Doc:Chrgs>
<Doc:Tp>INSU</Doc:Tp>
<Doc:Amt Ccy="USD">101</Doc:Amt>
</Doc:Chrgs>
</Doc:FrghtChrgs>
<Doc:TtlNetAmt Ccy="USD">10101.00</Doc:TtlNetAmt>
</Doc:Goods>
<Doc:PmtTerms>
<Doc:PmtCd>
<Doc:Cd>EMTD</Doc:Cd>
</Doc:PmtCd>
<Doc:Pctg>100</Doc:Pctg>
</Doc:PmtTerms>
<Doc:DataSetReqrd>
<Doc:ReqrdComrclDataSet>true</Doc:ReqrdComrclDataSet>
<Doc:ReqrdTrnsprtDataSet>true</Doc:ReqrdTrnsprtDataSet>
<Doc:Submitr>
<Doc:BIC>MIDLGB22</Doc:BIC>
</Doc:Submitr>
</Doc:DataSetReqrd>
</Doc:Baseln>
<Doc:BuyrCtctPrsn>
<Doc:Nm>Paul Wong</Doc:Nm>
<Doc:EmailAdr>[hidden email]</Doc:EmailAdr>
</Doc:BuyrCtctPrsn>
<Doc:SellrCtctPrsn>
<Doc:Nm>Paul Wong</Doc:Nm>
<Doc:EmailAdr>[hidden email]</Doc:EmailAdr>
</Doc:SellrCtctPrsn>
</Doc:tsmt.019.001.01>
</Doc:Document>

<?xml version="1.0" encoding="UTF-8" ?>
<Doc:Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:Doc="urn:swift:xsd:$tsmt.019.001.01" >
<Doc:tsmt.019.001.01>
<Doc:SubmissnId>
<Doc:Id>HI-20060911064623-411499-437</Doc:Id>
<Doc:CreDtTm>2006-09-11T06:46:23</Doc:CreDtTm>
</Doc:SubmissnId>
<Doc:SubmitrTxRef>
<Doc:Id>HI-20060911064623-411499-437</Doc:Id>
</Doc:SubmitrTxRef>
<Doc:Instr>
<Doc:Tp>LODG</Doc:Tp>
</Doc:Instr>
<Doc:Baseln>
<Doc:SubmitrBaselnId>
<Doc:Id>PW-TEST-PO-20060911-1346</Doc:Id>
<Doc:Vrsn>1</Doc:Vrsn>
<Doc:Submitr>
<Doc:BIC>MIDLGB22</Doc:BIC>
</Doc:Submitr>
</Doc:SubmitrBaselnId>
<Doc:SvcCd>PORS</Doc:SvcCd>
<Doc:PurchsOrdrRef>
<Doc:Id>PW-TEST-PO-20060911-1346</Doc:Id>
<Doc:DtOfIsse>2006-09-11</Doc:DtOfIsse>
</Doc:PurchsOrdrRef>
<Doc:Buyr>
<Doc:Nm>ABC Trading</Doc:Nm>
<Doc:PstlAdr>
<Doc:StrtNm>1 Market Street</Doc:StrtNm>
<Doc:PstCdId>91010</Doc:PstCdId>
<Doc:TwnNm>San Francisco</Doc:TwnNm>
<Doc:CtrySubDvsn>California</Doc:CtrySubDvsn>
<Doc:Ctry>US</Doc:Ctry>
</Doc:PstlAdr>
</Doc:Buyr>
<Doc:Sellr>
<Doc:Nm>HKBC Manufacturing</Doc:Nm>
<Doc:BEI>MIDLGB22</Doc:BEI>
<Doc:PstlAdr>
<Doc:StrtNm>8 Canton Road</Doc:StrtNm>
<Doc:PstCdId>00000</Doc:PstCdId>
<Doc:TwnNm>Tsim Sha Tsui</Doc:TwnNm>
<Doc:CtrySubDvsn>Kowloon</Doc:CtrySubDvsn>
<Doc:Ctry>HK</Doc:Ctry>
</Doc:PstlAdr>
</Doc:Sellr>
<Doc:BuyrBk>
<Doc:BIC>MIDLGB22</Doc:BIC>
</Doc:BuyrBk>
<Doc:SellrBk>
<Doc:BIC>MIDLGB22</Doc:BIC>
</Doc:SellrBk>
<Doc:BllTo>
<Doc:Nm>ABC Trading</Doc:Nm>
<Doc:PstlAdr>
<Doc:StrtNm>1 Market Street</Doc:StrtNm>
<Doc:PstCdId>91010</Doc:PstCdId>
<Doc:TwnNm>San Francisco</Doc:TwnNm>
<Doc:CtrySubDvsn>California</Doc:CtrySubDvsn>
<Doc:Ctry>US</Doc:Ctry>
</Doc:PstlAdr>
</Doc:BllTo>
<Doc:ShipTo>
<Doc:Nm>ABC WDC</Doc:Nm>
<Doc:PstlAdr>
<Doc:StrtNm>100 Industrial Way</Doc:StrtNm>
<Doc:PstCdId>90010</Doc:PstCdId>
<Doc:TwnNm>Ventura</Doc:TwnNm>
<Doc:CtrySubDvsn>California</Doc:CtrySubDvsn>
<Doc:Ctry>US</Doc:Ctry>
</Doc:PstlAdr>
</Doc:ShipTo>
<Doc:Goods>
<Doc:PrtlShipmnt>false</Doc:PrtlShipmnt>
<Doc:TrnsShipmnt>false</Doc:TrnsShipmnt>
<Doc:LatstShipmntDt>2006-09-30</Doc:LatstShipmntDt>
<Doc:LineItmDtls>
<Doc:LineItmNb>1</Doc:LineItmNb>
<Doc:Qty>
<Doc:UnitOfMeasrCd>PIEC</Doc:UnitOfMeasrCd>
<Doc:Val>1000</Doc:Val>
</Doc:Qty>
<Doc:QtyTlrnce>
<Doc:PlusPct>5</Doc:PlusPct>
<Doc:MnsPct>5</Doc:MnsPct>
</Doc:QtyTlrnce>
<Doc:UnitPric>
<Doc:UnitOfMeasrCd>PIEC</Doc:UnitOfMeasrCd>
<Doc:Amt Ccy="USD">10</Doc:Amt>
</Doc:UnitPric>
<Doc:PdctNm>Mickey Mouse Acrylic Set</Doc:PdctNm>
<Doc:PdctIdr>
<Doc:StrdPdctIdr>
<Doc:Tp>BINR</Doc:Tp>
<Doc:Idr>MM-001</Doc:Idr>
</Doc:StrdPdctIdr>
</Doc:PdctIdr>
<Doc:PdctOrgn>HK</Doc:PdctOrgn>
<Doc:TtlAmt Ccy="USD">10000.00</Doc:TtlAmt>
</Doc:LineItmDtls>
<Doc:LineItmsTtlAmt Ccy="USD">10000.00</Doc:LineItmsTtlAmt>
<Doc:RtgSummry>
<Doc:IndvTrnsprt>
<Doc:TrnsprtBySea>
<Doc:PortOfLoadng>HKG</Doc:PortOfLoadng>
<Doc:PortOfDschrge>LAX</Doc:PortOfDschrge>
</Doc:TrnsprtBySea>
</Doc:IndvTrnsprt>
</Doc:RtgSummry>
<Doc:Incotrms>
<Doc:Cd>FOB</Doc:Cd>
<Doc:Lctn>Hong Kong</Doc:Lctn>
</Doc:Incotrms>
<Doc:FrghtChrgs>
<Doc:Tp>PRPD</Doc:Tp>
<Doc:Chrgs>
<Doc:Tp>INSU</Doc:Tp>
<Doc:Amt Ccy="USD">101</Doc:Amt>
</Doc:Chrgs>
</Doc:FrghtChrgs>
<Doc:TtlNetAmt Ccy="USD">10101.00</Doc:TtlNetAmt>
</Doc:Goods>
<Doc:PmtTerms>
<Doc:PmtCd>
<Doc:Cd>EMTD</Doc:Cd>
</Doc:PmtCd>
<Doc:Pctg>100</Doc:Pctg>
</Doc:PmtTerms>
<Doc:DataSetReqrd>
<Doc:ReqrdComrclDataSet>true</Doc:ReqrdComrclDataSet>
<Doc:ReqrdTrnsprtDataSet>true</Doc:ReqrdTrnsprtDataSet>
<Doc:Submitr>
<Doc:BIC>MIDLGB22</Doc:BIC>
</Doc:Submitr>
</Doc:DataSetReqrd>
</Doc:Baseln>
<Doc:BuyrCtctPrsn>
<Doc:Nm>Paul Wong</Doc:Nm>
<Doc:EmailAdr>[hidden email]</Doc:EmailAdr>
</Doc:BuyrCtctPrsn>
<Doc:SellrCtctPrsn>
<Doc:Nm>Paul Wong</Doc:Nm>
<Doc:EmailAdr>[hidden email]</Doc:EmailAdr>
</Doc:SellrCtctPrsn>
</Doc:tsmt.019.001.01>
</Doc:Document>

<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by SWIFTStandards Workstation (build:R5.1.0.4) on 2005 Jul 13 10:27:34-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:swift:xsd:$tsmt.019.001.01" elementFormDefault="qualified" targetNamespace="urn:swift:xsd:$tsmt.019.001.01">
<xs:element name="Document" type="Document"/>
<xs:complexType name="AccountIdentification1Choice">
<xs:sequence>
<xs:choice>
<xs:element name="IBAN" type="IBANIdentifier"/>
<xs:element name="BBAN" type="BBANIdentifier"/>
<xs:element name="UPIC" type="UPICIdentifier"/>
<xs:element name="DmstAcct" type="SimpleIdentificationInformation"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AccountIdentificationAndName2">
<xs:sequence>
<xs:element name="Id" type="AccountIdentification1Choice"/>
<xs:element name="Nm" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AccountIdentificationOrNameChoice">
<xs:sequence>
<xs:choice>
<xs:element name="Nm" type="Max35Text"/>
<xs:element name="Id" type="AccountIdentification1Choice"/>
<xs:element name="NmAndId" type="AccountIdentificationAndName2"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Adjustment1">
<xs:sequence>
<xs:choice>
<xs:element name="Tp" type="AdjustmentType1Code"/>
<xs:element name="OthrAdjstmntTp" type="Max35Text"/>
</xs:choice>
<xs:choice>
<xs:element name="Amt" type="CurrencyAndAmount"/>
<xs:element name="Rate" type="PercentageRate"/>
</xs:choice>
<xs:element name="Drctn" type="AdjustmentDirection1Code"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="AdjustmentDirection1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="ADDD"/>
<xs:enumeration value="SUBS"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="AdjustmentType1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="REBA"/>
<xs:enumeration value="DISC"/>
<xs:enumeration value="CREN"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="AirportDescription1">
<xs:sequence>
<xs:element name="Twn" type="Max35Text"/>
<xs:element name="AirprtNm" type="Max35Text" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AirportName1Choice">
<xs:sequence>
<xs:choice>
<xs:element name="AirprtCd" type="Max6Text"/>
<xs:element name="OthrAirprtDesc" type="AirportDescription1"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="BBANIdentifier">
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z0-9]{1,30}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="BEIIdentifier">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="BICIdentification1">
<xs:sequence>
<xs:element name="BIC" type="BICIdentifier"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="BICIdentifier">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Baseline1">
<xs:sequence>
<xs:element name="SubmitrBaselnId" type="DocumentIdentification1"/>
<xs:element name="SvcCd" type="TradeFinanceService1Code"/>
<xs:element name="PurchsOrdrRef" type="DocumentIdentification7"/>
<xs:element name="Buyr" type="PartyIdentification4"/>
<xs:element name="Sellr" type="PartyIdentification4"/>
<xs:element name="BuyrBk" type="BICIdentification1"/>
<xs:element name="SellrBk" type="BICIdentification1"/>
<xs:element name="BllTo" type="PartyIdentification4" minOccurs="0" maxOccurs="1"/>
<xs:element name="ShipTo" type="PartyIdentification4" minOccurs="0" maxOccurs="1"/>
<xs:element name="Consgn" type="PartyIdentification4" minOccurs="0" maxOccurs="1"/>
<xs:element name="Goods" type="LineItem1"/>
<xs:element name="PmtTerms" type="PaymentTerms1" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="SttlmTerms" type="SettlementTerms1" minOccurs="0" maxOccurs="1"/>
<xs:element name="DataSetReqrd" type="RequiredSubmission1" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Charge12">
<xs:sequence>
<xs:element name="Tp" type="FreightCharges1Code"/>
<xs:element name="Chrgs" type="ChargesDetails1" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ChargeType8Code">
<xs:restriction base="xs:string">
<xs:enumeration value="SIGN"/>
<xs:enumeration value="STDE"/>
<xs:enumeration value="STOR"/>
<xs:enumeration value="PACK"/>
<xs:enumeration value="PICK"/>
<xs:enumeration value="DNGR"/>
<xs:enumeration value="SECU"/>
<xs:enumeration value="INSU"/>
<xs:enumeration value="COLF"/>
<xs:enumeration value="CHOR"/>
<xs:enumeration value="CHDE"/>
<xs:enumeration value="AIRF"/>
<xs:enumeration value="TRPT"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ChargesDetails1">
<xs:sequence>
<xs:choice>
<xs:element name="Tp" type="ChargeType8Code"/>
<xs:element name="OthrChrgsTp" type="Max35Text"/>
</xs:choice>
<xs:choice>
<xs:element name="Amt" type="CurrencyAndAmount"/>
<xs:element name="Rate" type="PercentageRate"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ContactIdentification1">
<xs:sequence>
<xs:element name="Nm" type="Max35Text"/>
<xs:element name="NmPrfx" type="NamePrefix1Code" minOccurs="0" maxOccurs="1"/>
<xs:element name="GvnNm" type="Max35Text" minOccurs="0" maxOccurs="1"/>
<xs:element name="Role" type="Max35Text" minOccurs="0" maxOccurs="1"/>
<xs:element name="PhneNb" type="PhoneNumber" minOccurs="0" maxOccurs="1"/>
<xs:element name="FaxNb" type="PhoneNumber" minOccurs="0" maxOccurs="1"/>
<xs:element name="EmailAdr" type="Max256Text" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="CountryCode">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2,2}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CurrencyAndAmount_SimpleType">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:fractionDigits value="5"/>
<xs:totalDigits value="18"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CurrencyAndAmount">
<xs:simpleContent>
<xs:extension base="CurrencyAndAmount_SimpleType">
<xs:attribute name="Ccy" type="CurrencyCode" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="CurrencyCode">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{3,3}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DecimalNumber">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="17"/>
<xs:totalDigits value="18"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Document">
<xs:sequence>
<xs:element name="tsmt.019.001.01" type="tsmt.019.001.01"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DocumentIdentification1">
<xs:sequence>
<xs:element name="Id" type="Max35Text"/>
<xs:element name="Vrsn" type="Number"/>
<xs:element name="Submitr" type="BICIdentification1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DocumentIdentification7">
<xs:sequence>
<xs:element name="Id" type="Max35Text"/>
<xs:element name="DtOfIsse" type="ISODate"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FinancialInstitutionIdentification4Choice">
<xs:sequence>
<xs:choice>
<xs:element name="BIC" type="BICIdentifier"/>
<xs:element name="NmAndAdr" type="NameAndAddress6"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="FreightCharges1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="CLCT"/>
<xs:enumeration value="PRPD"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="GenericIdentification4">
<xs:sequence>
<xs:element name="Id" type="Max35Text"/>
<xs:element name="IdTp" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="IBANIdentifier">
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ISODate">
<xs:restriction base="xs:date"/>
</xs:simpleType>
<xs:simpleType name="ISODateTime">
<xs:restriction base="xs:dateTime"/>
</xs:simpleType>
<xs:complexType name="Incoterms1">
<xs:sequence>
<xs:choice>
<xs:element name="Cd" type="Incoterms1Code"/>
<xs:element name="Othr" type="Max35Text"/>
</xs:choice>
<xs:element name="Lctn" type="Max35Text" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="Incoterms1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="EXW"/>
<xs:enumeration value="FCA"/>
<xs:enumeration value="FAS"/>
<xs:enumeration value="FOB"/>
<xs:enumeration value="CFR"/>
<xs:enumeration value="CIF"/>
<xs:enumeration value="CPT"/>
<xs:enumeration value="CIP"/>
<xs:enumeration value="DAF"/>
<xs:enumeration value="DES"/>
<xs:enumeration value="DEQ"/>
<xs:enumeration value="DDU"/>
<xs:enumeration value="DDP"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="InstructionType1">
<xs:sequence>
<xs:element name="Tp" type="InstructionType1Code"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="InstructionType1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="LODG"/>
<xs:enumeration value="FPTR"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="LineItem1">
<xs:sequence>
<xs:element name="GoodsDesc" type="Max70Text" minOccurs="0" maxOccurs="1"/>
<xs:element name="PrtlShipmnt" type="YesNoIndicator"/>
<xs:element name="TrnsShipmnt" type="YesNoIndicator" minOccurs="0" maxOccurs="1"/>
<xs:element name="LatstShipmntDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
<xs:element name="LineItmDtls" type="LineItemDetails1" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="LineItmsTtlAmt" type="CurrencyAndAmount"/>
<xs:element name="RtgSummry" type="TransportMeans1Choice" minOccurs="0" maxOccurs="1"/>
<xs:element name="Incotrms" type="Incoterms1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="FrghtChrgs" type="Charge12" minOccurs="0" maxOccurs="1"/>
<xs:element name="Adjstmnt" type="Adjustment1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Tax" type="Tax9" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="TtlNetAmt" type="CurrencyAndAmount"/>
<xs:element name="BuyrDfndInf" type="UserDefinedInformation1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SellrDfndInf" type="UserDefinedInformation1" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="LineItemDetails1">
<xs:sequence>
<xs:element name="LineItmNb" type="Max35Text"/>
<xs:element name="Qty" type="Quantity1"/>
<xs:element name="QtyTlrnce" type="PercentageTolerance1" minOccurs="0" maxOccurs="1"/>
<xs:element name="UnitPric" type="UnitPrice7" minOccurs="0" maxOccurs="1"/>
<xs:element name="PricTlrnce" type="PercentageTolerance1" minOccurs="0" maxOccurs="1"/>
<xs:element name="PdctNm" type="Max35Text" minOccurs="0" maxOccurs="1"/>
<xs:element name="PdctIdr" type="ProductIdentifier1Choice" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PdctChrtcs" type="ProductCharacteristics1Choice" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PdctCtgy" type="ProductCategory1Choice" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PdctOrgn" type="CountryCode" minOccurs="0" maxOccurs="1"/>
<xs:element name="LatstShipmntDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
<xs:element name="RtgSummry" type="TransportMeans1Choice" minOccurs="0" maxOccurs="1"/>
<xs:element name="Incotrms" type="Incoterms1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Adjstmnt" type="Adjustment1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="TtlAmt" type="CurrencyAndAmount"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="Max140Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="140"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max15NumericText">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{1,15}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max16Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="16"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max256Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="256"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max35Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="35"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max6Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="6"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max70Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="70"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="MessageIdentification1">
<xs:sequence>
<xs:element name="Id" type="Max35Text"/>
<xs:element name="CreDtTm" type="ISODateTime"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MultimodalTransport1">
<xs:sequence>
<xs:element name="DprtureAirprt" type="AirportName1Choice" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DstnAirprt" type="AirportName1Choice" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PortOfLoadng" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PortOfDschrge" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PlcOfRct" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PlcOfDlvry" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="TakngInChrg" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PlcOfFnlDstn" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="NameAndAddress6">
<xs:sequence>
<xs:element name="Nm" type="Max70Text"/>
<xs:element name="Adr" type="PostalAddress2"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="NamePrefix1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="DOCT"/>
<xs:enumeration value="MIST"/>
<xs:enumeration value="MISS"/>
<xs:enumeration value="MADM"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Number">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="0"/>
<xs:totalDigits value="18"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="PartyIdentification4">
<xs:sequence>
<xs:choice>
<xs:element name="Nm" type="Max70Text"/>
<xs:element name="BEI" type="BEIIdentifier"/>
</xs:choice>
<xs:element name="PstlAdr" type="PostalAddress2"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PaymentPeriod1">
<xs:sequence>
<xs:element name="Cd" type="PaymentTime1Code"/>
<xs:element name="NbOfDays" type="Number" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PaymentTerms1">
<xs:sequence>
<xs:choice>
<xs:element name="OthrPmtTerms" type="Max140Text"/>
<xs:element name="PmtCd" type="PaymentPeriod1"/>
</xs:choice>
<xs:choice>
<xs:element name="Pctg" type="PercentageRate"/>
<xs:element name="Amt" type="CurrencyAndAmount"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="PaymentTime1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="CASH"/>
<xs:enumeration value="EMTD"/>
<xs:enumeration value="EPRD"/>
<xs:enumeration value="PRMD"/>
<xs:enumeration value="IREC"/>
<xs:enumeration value="PRMR"/>
<xs:enumeration value="EPRR"/>
<xs:enumeration value="EMTR"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PercentageRate">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="10"/>
<xs:totalDigits value="11"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="PercentageTolerance1">
<xs:sequence>
<xs:element name="PlusPct" type="PercentageRate"/>
<xs:element name="MnsPct" type="PercentageRate"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="PhoneNumber">
<xs:restriction base="xs:string">
<xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="PostalAddress2">
<xs:sequence>
<xs:element name="StrtNm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
<xs:element name="PstCdId" type="Max16Text"/>
<xs:element name="TwnNm" type="Max35Text"/>
<xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0" maxOccurs="1"/>
<xs:element name="Ctry" type="CountryCode"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProductCategory1">
<xs:sequence>
<xs:element name="Tp" type="ProductCategory1Code"/>
<xs:element name="Ctgy" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProductCategory1Choice">
<xs:sequence>
<xs:choice>
<xs:element name="StrdPdctCtgy" type="ProductCategory1"/>
<xs:element name="OthrPdctCtgy" type="GenericIdentification4"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ProductCategory1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="HRTR"/>
<xs:enumeration value="QOTA"/>
<xs:enumeration value="PRGP"/>
<xs:enumeration value="LOBU"/>
<xs:enumeration value="GNDR"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ProductCharacteristics1">
<xs:sequence>
<xs:element name="Tp" type="ProductCharacteristics1Code"/>
<xs:element name="Chrtcs" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProductCharacteristics1Choice">
<xs:sequence>
<xs:choice>
<xs:element name="StrdPdctChrtcs" type="ProductCharacteristics1"/>
<xs:element name="OthrPdctChrtcs" type="GenericIdentification4"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ProductCharacteristics1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="BISP"/>
<xs:enumeration value="CHNR"/>
<xs:enumeration value="CLOR"/>
<xs:enumeration value="EDSP"/>
<xs:enumeration value="ENNR"/>
<xs:enumeration value="OPTN"/>
<xs:enumeration value="ORCR"/>
<xs:enumeration value="PCTV"/>
<xs:enumeration value="SISP"/>
<xs:enumeration value="SIZE"/>
<xs:enumeration value="SZRG"/>
<xs:enumeration value="SPRM"/>
<xs:enumeration value="STOR"/>
<xs:enumeration value="VINR"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ProductIdentifier1">
<xs:sequence>
<xs:element name="Tp" type="ProductIdentifier1Code"/>
<xs:element name="Idr" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProductIdentifier1Choice">
<xs:sequence>
<xs:choice>
<xs:element name="StrdPdctIdr" type="ProductIdentifier1"/>
<xs:element name="OthrPdctIdr" type="GenericIdentification4"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ProductIdentifier1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="BINR"/>
<xs:enumeration value="COMD"/>
<xs:enumeration value="EANC"/>
<xs:enumeration value="HRTR"/>
<xs:enumeration value="MANI"/>
<xs:enumeration value="MODL"/>
<xs:enumeration value="PART"/>
<xs:enumeration value="QOTA"/>
<xs:enumeration value="STYL"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Quantity1">
<xs:sequence>
<xs:choice>
<xs:element name="UnitOfMeasrCd" type="UnitOfMeasure1Code"/>
<xs:element name="OthrUnitOfMeasr" type="Max35Text"/>
</xs:choice>
<xs:element name="Val" type="DecimalNumber"/>
<xs:element name="Fctr" type="Max15NumericText" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RequiredSubmission1">
<xs:sequence>
<xs:element name="LatstMtchDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
<xs:element name="ReqrdComrclDataSet" type="YesNoIndicator"/>
<xs:element name="ReqrdTrnsprtDataSet" type="YesNoIndicator"/>
<xs:element name="Submitr" type="BICIdentification1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SettlementTerms1">
<xs:sequence>
<xs:element name="FnlAgt" type="FinancialInstitutionIdentification4Choice" minOccurs="0" maxOccurs="1"/>
<xs:element name="BnfcryAcct" type="AccountIdentificationOrNameChoice"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SimpleIdentificationInformation">
<xs:sequence>
<xs:element name="Id" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SingleTransport1">
<xs:sequence>
<xs:element name="TrnsprtByAir" type="TransportByAir1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="TrnsprtBySea" type="TransportBySea1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="TrnsprtByRoad" type="TransportByRoad1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="TrnsprtByRail" type="TransportByRail1" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Tax9">
<xs:sequence>
<xs:choice>
<xs:element name="Tp" type="TaxType8Code"/>
<xs:element name="OthrTaxTp" type="Max35Text"/>
</xs:choice>
<xs:choice>
<xs:element name="Amt" type="CurrencyAndAmount"/>
<xs:element name="Rate" type="PercentageRate"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="TaxType8Code">
<xs:restriction base="xs:string">
<xs:enumeration value="PROV"/>
<xs:enumeration value="NATI"/>
<xs:enumeration value="STAT"/>
<xs:enumeration value="WITH"/>
<xs:enumeration value="STAM"/>
<xs:enumeration value="COAX"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TradeFinanceService1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="PORS"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="TransportByAir1">
<xs:sequence>
<xs:element name="DprtureAirprt" type="AirportName1Choice" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DstnAirprt" type="AirportName1Choice" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TransportByRail1">
<xs:sequence>
<xs:element name="PlcOfRct" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PlcOfDlvry" type="Max35Text" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TransportByRoad1">
<xs:sequence>
<xs:element name="PlcOfRct" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PlcOfDlvry" type="Max35Text" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TransportBySea1">
<xs:sequence>
<xs:element name="PortOfLoadng" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PortOfDschrge" type="Max35Text" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TransportMeans1Choice">
<xs:sequence>
<xs:choice>
<xs:element name="IndvTrnsprt" type="SingleTransport1"/>
<xs:element name="MltmdlTrnsprt" type="MultimodalTransport1"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="UPICIdentifier">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{8,17}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="UnitOfMeasure1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="KILO"/>
<xs:enumeration value="PIEC"/>
<xs:enumeration value="TONS"/>
<xs:enumeration value="METR"/>
<xs:enumeration value="INCH"/>
<xs:enumeration value="YARD"/>
<xs:enumeration value="GBGA"/>
<xs:enumeration value="GRAM"/>
<xs:enumeration value="CMET"/>
<xs:enumeration value="SMET"/>
<xs:enumeration value="FOOT"/>
<xs:enumeration value="MILE"/>
<xs:enumeration value="SQIN"/>
<xs:enumeration value="SQFO"/>
<xs:enumeration value="SQMI"/>
<xs:enumeration value="GBOU"/>
<xs:enumeration value="USOU"/>
<xs:enumeration value="GBPI"/>
<xs:enumeration value="USPI"/>
<xs:enumeration value="GBQA"/>
<xs:enumeration value="USQA"/>
<xs:enumeration value="USGA"/>
<xs:enumeration value="MMET"/>
<xs:enumeration value="KMET"/>
<xs:enumeration value="SQYA"/>
<xs:enumeration value="ACRE"/>
<xs:enumeration value="ARES"/>
<xs:enumeration value="SMIL"/>
<xs:enumeration value="SCMT"/>
<xs:enumeration value="HECT"/>
<xs:enumeration value="SQKI"/>
<xs:enumeration value="MILI"/>
<xs:enumeration value="CELI"/>
<xs:enumeration value="LITR"/>
<xs:enumeration value="PUND"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="UnitPrice7">
<xs:sequence>
<xs:choice>
<xs:element name="UnitOfMeasrCd" type="UnitOfMeasure1Code"/>
<xs:element name="OthrUnitOfMeasr" type="Max35Text"/>
</xs:choice>
<xs:element name="Amt" type="CurrencyAndAmount"/>
<xs:element name="Fctr" type="Max15NumericText" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="UserDefinedInformation1">
<xs:sequence>
<xs:element name="Labl" type="Max35Text"/>
<xs:element name="Inf" type="Max140Text"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="YesNoIndicator">
<xs:restriction base="xs:boolean"/>
</xs:simpleType>
<xs:complexType name="tsmt.019.001.01">
<xs:sequence>
<xs:element name="SubmissnId" type="MessageIdentification1"/>
<xs:element name="SubmitrTxRef" type="SimpleIdentificationInformation"/>
<xs:element name="Instr" type="InstructionType1"/>
<xs:element name="Baseln" type="Baseline1"/>
<xs:element name="BuyrCtctPrsn" type="ContactIdentification1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SellrCtctPrsn" type="ContactIdentification1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="BuyrBkCtctPrsn" type="ContactIdentification1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SellrBkCtctPrsn" type="ContactIdentification1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="BllToCtctPrsn" type="ContactIdentification1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ShipToCtctPrsn" type="ContactIdentification1" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ConsgnCtctPrsn" type="ContactIdentification1" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:schema>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws