[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Ammendment Re: Suggestion for a basis for subset profile conformance clauses
<!-- one set of normative statements and corresponding test assertions for every document type in the subset and for each of these sets one corresponding conformance clause for sending systems (for that document type) and one for recieving systems (for that document type) -->
<testAssertionSet xmlns="http://docs.oasis-open.org/ns/tag/taml-201002/" setid="ubl-subset.example.ta-set.1" setname="Invoice Subset">
<common>
...
<!-- need some bindings for prefixes used in the XPath expressions -->
</common>
...
<testAssertion id="ubl-invoice-subset.example.ta.s4">
<!-- the actual nomative source might be a table or might rely on a schema to list all elements in the subset (attributes too but these might be optional) -->
<normativeSource><derivedSourceItem documentId="..." resourceProvenanceId="..." uri="...">A subset sending system which can send a subset invoice MUST be able to send a document valid according to the OASIS standard UBL 2.1 Invoice schema and containing element /in:Invoice/cbc:ID</derivedSourceItem></normativeSource>
<target>subset sending system</target>
<prerequisite>can send a subset document valid according to the OASIS standard UBL 2.1 Invoice schema</prerequisite>
<predicate>can send a document valid according to the OASIS standard UBL 2.1 Invoice schema and containing element /in:Invoice/cbc:ID</predicate>
<prescription level="mandatory"/>
</testAssertion>
<testAssertion id="ubl-invoice-subset.example.ta.s5">
<normativeSource><derivedSourceItem documentId="..." resourceProvenanceId="..." uri="...">...</derivedSourceItem></normativeSource>
<target>subset sending system</target>
<prerequisite>can send a subset document valid according to the OASIS standard UBL 2.1 Invoice schema</prerequisite>
<predicate>can send a document valid according to the OASIS standard UBL 2.1 Invoice schema and containing element /in:Invoice/cbc:CopyIndicator</predicate>
<prescription level="mandatory"/>
</testAssertion>
<testAssertion id="ubl-invoice-subset.example.ta.s6">
<normativeSource><derivedSourceItem documentId="..." resourceProvenanceId="..." uri="...">...</derivedSourceItem></normativeSource>
<target>subset sending system</target>
<prerequisite>can send a subset document valid according to the OASIS standard UBL 2.1 Invoice schema</prerequisite>
<predicate>can send a document valid according to the OASIS standard UBL 2.1 Invoice schema and containing element /in:Invoice/cbc:UUID</predicate>
<prescription level="mandatory"/>
</testAssertion>
<!-- one normative statement and corresponding test assertion for every element in the subset for that document type -->
...
<testAssertion id="ubl-invoice-subset.example.ta.r1">
<normativeSource><derivedSourceItem documentId="..." resourceProvenanceId="..." uri="...">...</derivedSourceItem></normativeSource>
<target>subset receiving system</target>
<prerequisite>can receive a subset document valid according to the OASIS standard UBL 2.1 Invoice schema</prerequisite>
<predicate>can receive a document valid according to the OASIS standard UBL 2.1 Invoice schema and containing every single-occurence element in that subset once and multiple-occurence element in that document twice or more</predicate>
<prescription level="mandatory"/>
</testAssertion>
...
</testAssertionSet>
Suggestion for a basis for subset profile conformance clausesIn the UBL 1.0 Small Business Subset were clauses whichI found later to be very difficult to test precisely and thismight make conformance testing and conformance claimsproblematic. The introduction of conformance clauses inrecent standard specifications is to aid interoperability andpromote adoption through the clarification of what it meansfor an implementation to conform to a standard specification.To promote adoption of subsets for the OASIS UniversalBusiness Language it is important to include a conformanceclause of set of clauses and I would suggest that a subsetconformance clause should target more than just the UBLdocuments (Invoice, Order, etc) themselves but also thereshould be a conformance clause for a sending system, onefor a receiving system instead of or in addition to the clausefor conformance of the documents themselves. I would liketo suggest as a basis for the clause for the conformancetarget of sending system conformance to a set of statementswhich amount to the sending system being able to send acertain set of BIEs in a given document, as defined by thesubset schema for that document. I would suggest that abasis for a clause for the target of a receiving system wouldbe a conformance clause requiring that the system MUSTNOT reject a document merely because of the presence init of any of the BIEs as defined by the subset schema (orlist of BIEs, e.g. given as a set of XPath expressions).As a simplistic example, if a subset contains BIEs X,Y,Z ofwhich Y and Z are mandatory and X is optional, there couldbe a set of specification requirements to the effect that thesender system MUST be able to send all BIEs X, Y and Zin sending that particular document (even though only Yand Z are mandatory in any given document of that type).A conformance clause for the target of the sending systemwould mandate these particular statements as necessaryfor the conformance of that system. A set of statements thattarget the receiving system would require that the systemMUST NOT reject a document of that type merely becauseit contains BIE X or Y or Z. A conformance clause for thereceiving system would make the statements mandatoryfor conformance by such a system. There would be a set ofstatements for each conformance target that the documentsof that type MUST contain BIEs Y and Z because these aremandatory.Such conformance clauses and this focus on testability mayhelp to promote adoption of any given subset and contributeto successful adoption and interoperable implementations.Best regards----Stephen D Green
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]