OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-cppa message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [ebxml-cppa] 8 February 2008 Teleconference, 8 AM Pacific, ebXML CPPA


Hello,
 
Here is some input for our discussion tomorrow.  I have been working on the concept of an XML language to describe how partner agreement documents are formed. It describes the parameter values that partners need to provide to form the agreement documents. It intends to cover multiple partner agreement document types and multiple methods for establishing these agreements. Agreement document types include XML schemas and ebXML Collaboration Protocol Agreements. Agreement formation methods including editing XML template documents or specialized methods like intersecting two Collaboration Protocol Profiles.
 
A single formation description document can describe multiple agreement documents (e.g. customizing an XML schema, and using that customized schema in a CPA or WSDL). It can cover cases with any number of participant roles, and reuse of parameter values across agreement documents.
 
Attached are an XML schema and three sample documents for XML Schema customization, CPA templating and CPP intersection. 
 
A special case (and the initial reason for working on this) is that this notation can describe the formation of a single CPA from a template using parameters supplied by two partners.  I am working on a proof-of-concept compiler that generates an XSLT stylesheet to transform the template into a partner pair specific CPA based on provided parameters.  The compiler itself is an XSLT stylesheet, unfortunately it needs more work before I can post it. (It is derived from a similar compiler that is used in a real-life ebXML deployment project). 
 
N.B. This is all work in progress, but it gives an idea of where this is going to ..
 
Pim
 
 


From: Moberg Dale [mailto:dmoberg@axway.com]
Sent: 30 January 2008 00:26
To: ebxml-cppa
Subject: [ebxml-cppa] 8 February 2008 Teleconference, 8 AM Pacific, ebXML CPPA

 

866 383 5205

144286#

 

Agenda

 

1. Pim presentation on profile and agreement services.

2. Status of version 3.0.

3. Planning for transition.

<?xml version="1.0" encoding="UTF-8"?>
<!-- 
    Sample AFDD to describe formation of a single CPA by intersecting two CPPs
-->
<afdd:AgreementFormationDescriptorDocument version="0.2" name="multiparty"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
    xmlns:afdd="http://www.oasis-open.org/committees/ebxml-cppa/schema/afdd.xsd";
    xsi:schemaLocation="http://www.oasis-open.org/committees/ebxml-cppa/schema/afdd.xsd afdd.xsd"
    >
    <afdd:Documents>
        <afdd:CollaborationProtocolAgreement version="2.0" id="cpa1">
            <afdd:ColloborationProtocolProfileIntersection>
                <afdd:Start param="DeploymentStart" />
                <afdd:End param="DeploymentEnd" />
                <afdd:CPAId param="CpaId_AB" />
                <afdd:CollaborationProtocolProfile version="2.0" param="CPP_A" >
                    <afdd:ProcessSpecification uuid="SimpleProcurement" />
                    <afdd:Role name="Seller" />
                </afdd:CollaborationProtocolProfile>
                <afdd:CollaborationProtocolProfile version="2.0" param="CPP_B" >
                    <afdd:ProcessSpecification uuid="SimpleProcurement" />
                    <afdd:Role name="Buyer" />
                </afdd:CollaborationProtocolProfile>
            </afdd:ColloborationProtocolProfileIntersection>
        </afdd:CollaborationProtocolAgreement>
    </afdd:Documents>

    <afdd:PartnerRoles>
        <afdd:Partner role="Seller">
            <afdd:Parameter name="DeploymentStart" required="true"/>
            <afdd:Parameter name="DeploymentEnd" required="false"/>
            <afdd:Parameter name="CpaId_AB" required="false"/>
            <afdd:Parameter name="CPP_A" required="true" />
        </afdd:Partner>

        <afdd:Partner role="Buyer">
            <afdd:Parameter name="CPP_B" required="true"/>
        </afdd:Partner>
    </afdd:PartnerRoles>

</afdd:AgreementFormationDescriptorDocument>

afdd.xsd

<?xml version="1.0" encoding="UTF-8"?>
<!-- - 
    AFDD to form a single CPA based on parameters supplied by partners and transformation of a CPA template document.
    -->
<afdd:AgreementFormationDescriptorDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xmlns:afdd="http://www.oasis-open.org/committees/ebxml-cppa/schema/afdd.xsd";
    xsi:schemaLocation="http://www.oasis-open.org/committees/ebxml-cppa/schema/afdd.xsd afdd.xsd" version="0.2"
    name="onecpa">
    <afdd:NamespaceSets>
        <afdd:NamespaceSet name="cpa2">
            <afdd:ns prefix="cpa2"
                uri="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd "/>
            <afdd:ns prefix="ds" uri="http://www.w3.org/2000/09/xmldsig# "/>
            <afdd:ns prefix="xlink" uri="http://www.w3.org/1999/xlink "/>
        </afdd:NamespaceSet>
    </afdd:NamespaceSets>

    <afdd:Documents>
        <afdd:CollaborationProtocolAgreement version="2.0" id="first">
            <afdd:DocumentTransformation patternConflictsAllowed="false">
                <afdd:Binding
                    pattern="cpa2:CollaborationProtocolAgreement/cpa2:PartyInfo[1]/cpa2:PartyId"
                    param="PartyId" method="text"/>
                <afdd:Binding
                    pattern="cpa2:CollaborationProtocolAgreement/cpa2:PartyInfo[1]/cpa2:PartyId"
                    param="PartyIdType" method="attribute" attribute="cpa2:type"/>
                <afdd:Binding
                    pattern="cpa2:CollaborationProtocolAgreement/cpa2:PartyInfo[1]//cpa2:Endpoint"
                    param="EndpointUri" method="attribute" attribute="cpa2:uri"/>
                <afdd:Binding pattern="cpa2:CollaborationProtocolAgreement/cpa2:Start"
                    param="DeploymentStart" method="text"/>
                <afdd:Binding pattern="cpa2:CollaborationProtocolAgreement/cpa2:End"
                    param="DeploymentEnd" method="text"/>
                <afdd:Binding pattern="cpa2:CollaborationProtocolAgreement" param="CpaId"
                    method="attribute" attribute="CpaId"/>
                <afdd:Template href="cpa_AB.cpa2.xml"/>
            </afdd:DocumentTransformation>
        </afdd:CollaborationProtocolAgreement>
    </afdd:Documents>

    <afdd:PartnerRoles>
        <afdd:Partner role="B">
            <afdd:Parameter name="PartyId" required="true"/>
            <afdd:Parameter name="PartyIdType" required="true"/>
            <afdd:Parameter name="EndpointUri" required="true"/>
        </afdd:Partner>

        <afdd:Partner role="A">
            <afdd:Parameter name="DeploymentStart" required="true"/>
            <afdd:Parameter name="DeploymentEnd" required="true"/>
            <afdd:Parameter name="CpaId" required="true"/>
        </afdd:Partner>
    </afdd:PartnerRoles>

</afdd:AgreementFormationDescriptorDocument>
<?xml version="1.0" encoding="UTF-8"?>
<!-- - 
    AFDD to customize a UBL schema based on parameters supplied by a partner and transformation of the XML schema document.
    This AFDD allows one to make the element "OrderReference", which is required in the UBL 2.0 Invoice, a required element, as is the case in some UBL profiles.
    -->
<afdd:AgreementFormationDescriptorDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xmlns:afdd="http://www.oasis-open.org/committees/ebxml-cppa/schema/afdd.xsd";
    xsi:schemaLocation="http://www.oasis-open.org/committees/ebxml-cppa/schema/afdd.xsd afdd.xsd" version="0.2"
    name="CustomizedUblSchema">
    
    <afdd:NamespaceSets>
        <afdd:NamespaceSet name="ubl2">
            <afdd:ns prefix="xsd" uri="http://www.w3.org/2001/XMLSchema"/>
            <afdd:ns prefix="ccts" uri="urn:un:unece:uncefact:documentation:2"/>
            <afdd:ns prefix="udt"
                uri="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2"/>
            <afdd:ns prefix="qdt" uri="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2"/>
            <afdd:ns prefix="cbc"
                uri="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"/>
            <afdd:ns prefix="ext"
                uri="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"/>
            <afdd:ns prefix="cac"
                uri="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"/>
        </afdd:NamespaceSet>
    </afdd:NamespaceSets>

    <afdd:Documents>
        <afdd:XMLDocument type="ubl2" id="first">
            <afdd:DocumentTransformation patternConflictsAllowed="false">
                <afdd:Binding pattern="xsd:element[@ref='cac:OrderReference']"
                    param="OrderReferenceOccurs" method="attribute" attribute="minOccurs"/>
                <afdd:Template href="UBL-Invoice-2.0.xsd"/>
            </afdd:DocumentTransformation>
        </afdd:XMLDocument>
    </afdd:Documents>

    <afdd:PartnerRoles>
        <afdd:Partner role="A">
            <afdd:Parameter name="OrderReferenceOccurs" required="true"/>
        </afdd:Partner>
    </afdd:PartnerRoles>

</afdd:AgreementFormationDescriptorDocument>


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]