
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: dsl/business/ebxml/bruneliere/extracted
Source used for this grammar: Hugo Brunelière, ebXML (Electronic Business using eXtensible Markup Language) 0.1, ebXML.ecore, 2005/08/03
MultyPartyCollaboration, BusinessPartnerRole, Performs, AuthorizedRole, Transaction, BinaryCollaboration, BusinessState, Start, Fork, Join, CompletionState, Failure, Success, BusinessActivity, BusinessTransactionActivity, CollaborationActivity, BusinessTransaction, BusinessAction, RequestingBusinessActivity, RespondingBusinessActivity, DocumentSecurity, DocumentEnvelope, Attachment, BusinessDocument, Boolean, String), 0 root (—), 2 top (BusinessAction, DocumentSecurity), 0 bottom (—).[partners], [collaboration] 4, [transition], [performers] 2, [performedBy], [role], [isInitiator], [onInitiation], [conditionGuard], [conditionExpression] 2, [from] 3, [to] 3, [pattern] 2, [timeToPerform] 2, [preCondition] 2, [postCondition] 2, [beginsWhen] 2, [endsWhen] 2, [roles], [transitions], [states], [waitForAll], [guardCondition] 3, [isConcurrent], [isLegallyBinding], [use] 2, [isGuaranteedDeliveryRequired], [requester], [responder], [timeToAcknowledgeAcceptance], [transaction] 2, [documentEnvelope] 2, [isPositiveResponse], [requesting], [responding], [attachements], [document] 2, [mimeType], [specification], [version], [envelope], [specificationLocation], [specificationElement], [envelopes], [attachments].MultyPartyCollaboration ::=
[partners]::BusinessPartnerRoleBusinessPartnerRole ::=
[collaboration]::MultyPartyCollaboration [transition]::Transaction [performers]::PerformsPerforms ::= [performedBy]::BusinessPartnerRole [collaboration]::BinaryCollaboration [role]::AuthorizedRole
AuthorizedRole ::=
[isInitiator]::Boolean [performers]::PerformsTransaction ::= [onInitiation]::String [conditionGuard]::String [conditionExpression]::String [from]::BusinessState [to]::BusinessState
BinaryCollaboration ::= [pattern]::String [timeToPerform]::String [preCondition]::String [postCondition]::String [beginsWhen]::String [endsWhen]::String [roles]::Performs [transitions]::Transaction [states]::BusinessState
BusinessState ::= Start
BusinessState ::= Fork
BusinessState ::= Join
BusinessState ::= CompletionState
BusinessState ::= BusinessActivity
Start ::= [collaboration]::BinaryCollaboration [from]::AuthorizedRole [to]::AuthorizedRole
Fork ::= [waitForAll]::String
Join ::= [collaboration]::BinaryCollaboration [from]::AuthorizedRole [to]::AuthorizedRole
CompletionState ::= Failure
CompletionState ::= Success
CompletionState ::= [guardCondition]::String
Failure ::= [guardCondition]::String
Success ::= [guardCondition]::String
BusinessActivity ::= BusinessTransactionActivity
BusinessActivity ::= CollaborationActivity
BusinessTransactionActivity ::= [timeToPerform]::String [isConcurrent]::Boolean [isLegallyBinding]::Boolean [use]::BusinessTransaction
CollaborationActivity ::= [use]::BinaryCollaboration
BusinessTransaction ::= [pattern]::String [isGuaranteedDeliveryRequired]::Boolean [preCondition]::String [postCondition]::String [beginsWhen]::String [endsWhen]::String [requester]::RequestingBusinessActivity [responder]::RespondingBusinessActivity
BusinessAction ::= RequestingBusinessActivity
BusinessAction ::= RespondingBusinessActivity
RequestingBusinessActivity ::= [timeToAcknowledgeAcceptance]::String [transaction]::BusinessTransaction [documentEnvelope]::DocumentEnvelope
RespondingBusinessActivity ::= [transaction]::BusinessTransaction [documentEnvelope]::DocumentEnvelope
DocumentSecurity ::= DocumentEnvelope
DocumentSecurity ::= Attachment
DocumentEnvelope ::=
[isPositiveResponse]::Boolean [requesting]::RequestingBusinessActivity [responding]::RespondingBusinessActivity [attachements]::Attachment [document]::BusinessDocumentAttachment ::= [mimeType]::String [specification]::String [version]::String [envelope]::DocumentEnvelope [document]::BusinessDocument
BusinessDocument ::= [specificationLocation]::String [specificationElement]::String [conditionExpression]::String [envelopes]::DocumentEnvelope [attachments]::Attachment
Boolean ::= "true" "false"
String ::= string