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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-bp message

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


Subject: Action Item: Use case example for optional ID attribute in'Specification' element


Here is my example as a use case which I believe requires the extra 'ID'
attribute for the 'Specification' element.

It concerns in the simplest case the specification that there is a document
in the process which is defined not just as a UBL Invoice but as one which
complies with the subset which is identified by a urn, 
"urn:oasis:names:tc:ubl:xpath:Invoice-1.0:sbs-1.0", and a location url,
"UBL-1-0-SBS-cs/xpaths/xml/XPath/Invoice-XPath.xml" (the latter is as
yet not determined absolutely, only relatively, hence the need for the
urn identifier too, though the latter would probably always be best supplied
along with the location to adequately denote the subset).

Here is my example of how an 'ID' attribute would, in my view, be used to
represent this logical document:


<BusinessDocument name="UBL 1.0 Invoice - Small Business Subset" nameID="UBL_1-0_SBS_1-0_Invoice">
		<Documentation>The document specifications are an XSD file and a subset definition that specify the rules for creating the XML document for the business action of invoicing the buyer. For further explanation see UBL-1-0-SBS-cs/index.html .</Documentation>
		<Specification targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:Invoice-1.0" name="Invoice" nameID="Invoice" location="http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsd/maindoc/UBL-Invoice-1.0.xsd"; type="schema"/>
		<Specification ID="urn:oasis:names:tc:ubl:xpath:Invoice-1.0:sbs-1.0" name="Invoice SBS" nameID="InvoiceSBS" location="UBL-1-0-SBS-cs/xpaths/xml/XPath/Invoice-XPath.xml" type="other"/>
</BusinessDocument> 


I have a more sophisticated version in which the BusinessDocument above
could be one of two, the BusinessDocument with the subset (above) and an
alternative BusinessDocument without the subset, namely

<BusinessDocument name="UBL 1.0 Invoice" nameID="UBL_1-0_Invoice">
		<Specification targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:Invoice-1.0" name="Invoice (Non Subset)" nameID="InvoiceNS" location="http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsd/maindoc/UBL-Invoice-1.0.xsd"; type="schema"/>
</BusinessDocument>

A condition, some flag in the CPP, would be the trigger to determine that the first rather than
second logical business document would be sent. (Further development would be to add
subet and non-subset logical documents for version 2.0 of UBL, again conditional on flags in
the CPP, if that is OK. Further developments still might be to add flags for contexts which
are associated with logical business documents which are defined for those contexts in
CAM files.)

The more sophisticated versions show how there is a need to include such elaborations beyond
the basic UBL Invoice in a business process definition so that states can be related to features
in the CPP's without the need to always specify the ebBP defintion for each and every party:
One common ebBP definition can then be used by all the parties in a large and potentially open
community while allowing for broad differences in requirements. This is not, though, I'd stress,
to allow for minutia of differences best dealt with in caveats of the CPP or alternative CAM files, say.

I have attached a prototype ebBP file for the simplest (first) form of the use case, with the extra 
attribute 'ID' included (excuse, please my use of the same ebBP version identifiers in case those
should have been changed). 

All the best

Stephen Green






<?xml version="1.0" encoding="UTF-8"?>
<!--

Second prototype by Stephen Green, Sept 2005

 -->
<ProcessSpecification name="UBL 1.0 Invoice Small Business Subset BPSS Prototype 2" nameID="UBL_1-0_Invoice_SBS_BPSS_Prototype_2" specificationVersion="2" instanceVersion="0.1" xmlns="http://docs.oasis-open.org/ebxmlbp/ebbp-2.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://docs.oasis-open.org/ebxmlbp/ebbp-2.0 ebbp-2.0.1.xsd" uuid="urn:oasis:names:draft:bpss:ubl:billing:invoice:1.0:sbs:prototype:2">
	<Documentation/>
	<Signal nameID="ra2" name="ReceiptAcknowledgement">
		<Specification nameID="rabpss2" name="ReceiptAcknowledgement" location="ebbp-signals-2.0.1.xsd"></Specification>
	</Signal>
	<Signal nameID="rae2" name="ReceiptAcknowledgementException">
		<Specification nameID="raebpss2" name="Exception" location="ebbp-signals-2.0.1.xsd"></Specification>
	</Signal>
	<Signal nameID="aa2" name="AcknowledgementException">
		<Specification nameID="aabpss2" name="AcknowledgementException" location="ebbp-signals-2.0.1.xsd"></Specification>
	</Signal>
	<Signal nameID="aae2" name="AcceptanceAcknowledgementException">
		<Specification nameID="aaebpss2" name="Exception" location="ebbp-signals-2.0.1.xsd"></Specification>
	</Signal>
	<Signal nameID="ge2" name="GeneralException">
		<Specification nameID="gebpss2" name="Exception" location="ebbp-signals-2.0.1.xsd"></Specification>
	</Signal>
	<BusinessDocument name="UBL 1.0 Invoice - Small Business Subset" nameID="UBL_1-0_SBS_1-0_Invoice">
		<Documentation>The document specifications are an XSD file and a subset definition that specify the rules for creating the XML document for the business action of invoicing the buyer. For further explanation see UBL-1-0-SBS-cs/index.html .</Documentation>
		<Specification targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:Invoice-1.0" name="Invoice" nameID="Invoice" location="http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsd/maindoc/UBL-Invoice-1.0.xsd"; type="schema"/>
		<Specification ID="urn:oasis:names:tc:ubl:xpath:Invoice-1.0:sbs-1.0" name="Invoice SBS" nameID="InvoiceSBS" location="UBL-1-0-SBS-cs/xpaths/xml/XPath/Invoice-XPath.xml" type="other"/>
	</BusinessDocument>
	<Package name="UBL 1.0 SBS" nameID="UBL_1-0_SBS">
		<Documentation/>
		<Package name="Billing" nameID="BillingID">
			<Documentation/>
			<Package name="Invoice" nameID="InvoiceID">
				<Documentation/>
				<Notification name="Send UBL 1.0 Invoice SBS" nameID="Send_UBL_1-0_Invoice_SBS_N" isGuaranteedDeliveryRequired="true">
					<RequestingRole name="Ninitiator" nameID="NinitiatorID"/>
					<RespondingRole name="Nresponder" nameID="NresponderID"/>
					<RequestingBusinessActivity name="Send Invoice" nameID="Send_Invoice">
						<DocumentEnvelope name="UBL 1.0 Invoice - Small Business Subset Notification" nameID="UBL_1-0_SBS_1-0_Invoice_Notification_DE" businessDocumentRef="UBL_1-0_SBS_1-0_Invoice" isAuthenticated="transient" isConfidential="transient" isTamperDetectable="transient"/>
						<ReceiptAcknowledgement signalDefinitionRef="ra2" nameID="RA2" name="RA2"/>
						<ReceiptAcknowledgementException signalDefinitionRef="rae2" nameID="RAE2" name="RAE2"/>
						<AcceptanceAcknowledgement signalDefinitionRef="aa2" nameID="AA2" name="AA2"/>
						<AcceptanceAcknowledgementException signalDefinitionRef="aae2" nameID="AAE2" name="AAE2"/>
					</RequestingBusinessActivity>
					<RespondingBusinessActivity name="Receive Invoice" nameID="Receive_Invoice"/>
				</Notification>
				<BusinessCollaboration name="Send UBL 1.0 Invoice SBS" nameID="Send_UBL_1-0_SBS_Invoice_BC" pattern="Notification">
					<Documentation/>
					<Role name="Creditor" nameID="CreditorID"/>
					<Role name="Debtor" nameID="DebtorID"/>
					<TimeToPerform/>
					<Start name="Start Send UBL 1.0 Invoice SBS" nameID="Start_ST">
						<ToLink toBusinessStateRef="Send_UBL_1-0_Invoice_SBS_BTA"/>
					</Start>
					<BusinessTransactionActivity name="Send UBL 1.0 Invoice SBS" nameID="Send_UBL_1-0_Invoice_SBS_BTA" businessTransactionRef="Send_UBL_1-0_Invoice_SBS_N" hasLegalIntent="true" isConcurrent="false">
						<TimeToPerform/>
						<Performs currentRoleRef="CreditorID" performsRoleRef="NinitiatorID"/>
						<Performs currentRoleRef="DebtorID" performsRoleRef="NresponderID"/>
					</BusinessTransactionActivity>
					<Success name="Start" nameID="Send_UBL_1-0_Invoice_SBS_BTA_Success"/>
					<Failure name="Failure" nameID="Send_UBL_1-0_Invoice_SBS_BTA_Failure"/>
				</BusinessCollaboration>
			</Package>
		</Package>
	</Package>
</ProcessSpecification>


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