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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ubl-dev message

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


Subject: Re: [ubl-dev] Re: Test Assertions for UBL Calculation Model? Re: Re: [ubl-dev] Basic Invoice Exploration


OK, Ken, point about the wiki and the markup taken.
I do think we should start with making marked-up TAs
and generate content for the wiki - just need a simple
stylesheet. A bit like you do for UBL specs with docbook
but in this case there is the bonus of potential use in
an actual test suite - that way the test suite has the
normative (or at least authoritative/approved) TAs to
work with and a human can see why a test might have
failed and how to change the target implementation
(in this case the document, mainly, or calculation
logic behind it). Where we put the markup is another
matter. Of course editing the wiki content directly is
fine as a precursor to working out the markup too. The
wiki need not all be XPath if folk find that too demanding
but someone needs to try to convert directly edited
material on the wiki into markup and perhaps then post
a generated output from that back to the wiki (or to a
separate document instead/as well). Lots of work of
course but I think a lot can be done with only a few key
assertions and the rest might be less essential.

Stephen D Green



2009/6/24 G. Ken Holman <gkholman@cranesoftwrights.com>:
> At 2009-06-24 15:33 +0100, Stephen Green wrote:
>>
>> Here's an example I just prepared (show two ways of doing the same thing
>> depending on how the execution mechanism, test context, etc works)
>
> Thanks for posting that here for discussion.  I have a few observations to
> make about it.
>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <testAssertionSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>
>>
>> xsi:noNamespaceSchemaLocation="TestAssertionMarkup-0-4/testAssertion-0-4.xsd">
>>    <testAssertion id="ta-example-001">
>>        <var
>> name="ubl-invoice-2-0-schema">http://docs.oasis-open.org/ubl/os-UBL-2.0/xsd/common/UBL-CommonAggregateComponents-2.0.xsd</var>
>>
>>
>> <normativeSource><refSourceItem>fn:doc($ubl-invoice-2-0-schema)/xsd:schema/xsd:complexType[64]/xsd:sequence[1]/xsd:element[1]/xsd:annotation[1]/xsd:documentation[1]/ccts:Component[1]/ccts:Definition[1]</refSourceItem></normativeSource>
>>
>>
>> <target>/default:Invoice/cac:LegalMonetaryTotal[1]/cbc:LineExtensionAmount[1]</target>
>
> There is no "default:" namespace.  The default namespace is a mechanism by
> which the namespace URI is ascribed to the element name without the use of a
> prefix.  I believe where you've used "/default:" we should be using "/in:"
> as I've documented in:
>
>  http://wiki.oasis-open.org/ubl/Example_Calculation_Models#ns
>
>>
>>
>> <prerequisite>/default:Invoice/cac:InvoiceLine[1]/cbc:LineExtensionAmount[1]</prerequisite>
>>
>>
>> <predicate>sum(/default:Invoice/cac:InvoiceLine/cbc:LineExtensionAmount)</predicate>
>>        <prescriptionLevel>mandatory</prescriptionLevel>
>
> I note (based on your earlier post) the absence of the ". eq " part of the
> expression.  As I understand it, that would be implied by a particular
> binding.
>
>>    </testAssertion>
>>  <!--   <testAssertion id="ta-example-001">
>>      <var
>> name="ubl-invoice-2-0-schema">http://docs.oasis-open.org/ubl/os-UBL-2.0/xsd/common/UBL-CommonAggregateComponents-2.0.xsd</var>
>>      <var name="ubl-invoice-2-0-instance">.</var>
>>      <normativeSource>
>>
>>
>> <refSourceItem>fn:doc($ubl-invoice-2-0-schema)/xsd:schema/xsd:complexType[64]/xsd:sequence[1]/xsd:element[1]/xsd:annotation[1]/xsd:documentation[1]/ccts:Component[1]/ccts:Definition[1]</refSourceItem>
>>      </normativeSource>
>>
>>
>> <target>fn:doc($ubl-invoice-2-0-instance)/default:Invoice/cac:LegalMonetaryTotal[1]/cbc:LineExtensionAmount[1]</target>
>>
>>
>> <prerequisite>fn:doc($ubl-invoice-2-0-instance)/default:Invoice/cac:InvoiceLine[1]/cbc:LineExtensionAmount[1]</prerequisite>
>>
>>
>> <predicate>sum(fn:doc($ubl-invoice-2-0-instance)/default:Invoice/cac:InvoiceLine/cbc:LineExtensionAmount)</predicate>
>>      <prescriptionLevel>preferred</prescriptionLevel>
>>    </testAssertion> -->
>> </testAssertionSet>
>
> It is unclear to me why the second one is "preferred" and the first one is
> "mandatory".  Can you help me with that?
>
> But a major point I would like to make is that I don't believe we need TA
> markup in the wiki.  I see TA markup being synthesized from the HISC
> document we create that captures the information from the wiki that is
> captured from users.
>
> Personally I would the wiki to be comprised of simple lists that anyone can
> read.  From what I can tell, there is enough information in:
>
>  http://wiki.oasis-open.org/ubl/Example_Calculation_Models/Invoice_Tax_Total
>
> ... to construct your example instance above.  The identifiers can be
> synthesized at the time we generate the assertions.  If we need to express a
> dependency in the wiki then we can assign abstract identifiers there and
> replace them with identifiers at the synthesis stage, or preserve them if
> they look meaningful.  I just threw in "mandatory" into my example until I
> better understand the distinction.
>
> I would like the HISC document to be human-readable ... then I can write a
> stylesheet to synthesize the assertion markup based on whatever the
> vocabulary is at the time we are ready to create some executable code.
>  Please let me know if you think there is any information missing in the
> wiki that would be needed in the assertion.  This will allow anyone
> interested in implementing the example models to use any technology they
> wish ... for demonstrative purposes the HISC can use OASIS Test Assertions.
>
> I would be interested to hear the opinion of others if we should put markup
> in the wiki or just the nested lists.  And, Stephen, you are welcome to
> convince me otherwise ... I don't want my opinion here to be treated as
> immutable.  If you do agree with me, then you can take out the assertion
> markup from:
>
>  http://wiki.oasis-open.org/ubl/Example_Calculation_Models
>
> Members of UBL-Dev are a main target audience for this work, hence it makes
> sense to discuss your needs here on the UBL-Dev list.  I look forward to
> your feedback.
>
> . . . . . . . . . . . . Ken
>
> --
> Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/u/
> Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
> Video lesson:    http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
> Video overview:  http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
> G. Ken Holman                 mailto:gkholman@CraneSoftwrights.com
> Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/u/bc
> Legal business disclaimers:  http://www.CraneSoftwrights.com/legal
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ubl-dev-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: ubl-dev-help@lists.oasis-open.org
>
>


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