See also: IRC log
<Yves> Yves: we can ask other developers (in the spec) a call for test results
<Yves> and if we should put such gathered results in our pages, we should flag them as contributed
pauld: if we have a call for logs, what process do we need to accept contributions?
<scribe>
ACTION: ylafon to investigate IP and process
about contribution of logs from third parties
[recorded in
http://www.w3.org/2006/10/05-databinding-minutes.html#action101]
<trackbot> Created ACTION-67 - Investigate IP and process about contribution of logs from third parties [on Yves Lafon - due 2006-10-12].
pauld: we need text to explain ISSUE-37 etc that we may offer more than one pattern for a particular structure, eg absence of data, but we don't offer semantics or how to choose the best pattern on offer
pauld: useful versioning pattern based on xs:any
JonC: xs:any is Advanced
RESOLUTION: close ISSUE-20 as an Advanced Pattern
pauld: DecimalEnumeration fails in Mono
JonC: what about the rest of them?
pauld: much the same for all of them in Mono, but many others work across the board. SOAP4r copes with them all.
RESOLUTION: close ISSUE-20 as Advanced
pauld: do we have examples?
gcowe: we have AttributeRequired and AttributeOptional
pauld: works with tools i've looked at so far, that is schema-first
jon: will toolkits bounce invalid documents? If they do it's probably not an issue
pauld: Do tools prevent someone not sending it?
all: seems like a generic issue, but invalid behaviour is out of scope
pauld: we can accept this as a Basic pattern and pull it out following more testing
RESOLUTION: close ISSUE-45 as a Basic pattern
pauld: toolkits echo valid documents ok, but don't capture the fixed value in code
Yves: we need operations which do more work than echo, eg increment a number
pauld: it's a nice idea, but requires a different approach for each pattern, so not scalable
Yves: we should call for test code contributions
pauld: you still don't think 'echo' is good enough?
pauld: this smacks of ISSUE-28,
what to do if the programming language doesn't fully support a
data structure
... in this case initialising or fixing a string is available
in most environments, but tools don't support it
... ISSUE-28 doesn't sit happily here, we closed this with no
action:
" Discussion around this concluded that as long as the tools do not bail out and reject the schema and allow all valid instance docs to be processed and created (even if it allows invalid docs through) then we are happy for those structures to be included in Basic Patterns. The experience of the schema author is still good..."
pauld: in this case a Ruby
developer has to look for the fixed value in the schema
... this reminds me of the constrain by a pattern, information
is lost in code generation
JonC: good experience doesn't prevent the user from doing the right thing, but doesn't prevent you sending invalid data
Yves: you need -ve testing here
pauld: unconvinced we can test
this 'black box' you have to look at the code
... we need introductory text for ISSUE-28
... under the rules of ISSUE-28 this should be Basic, but lack
of fixed value in generated code make me want to set this as
Advanced
gcowe: you need to include the behaviour of the source code
Yves: you are welcome to do more
than echo
... seeing generated code in the test report is a
requirement
pauld: i did this for SOAP4r as snippets.html, lets ask people to make sure they contribute evidence of their working along with a report of captured mesages
pauld:
so ISSUE-28 is a floor for what makes a pattern Basic, I
think we can still make value judgements on a case-by-case
basis
... we need to make sure our text explains this
... i think in this case 'Fixed' is an Advanced pattern
gcowe: i think it's Basic
JonC: i think it's Basic
pauld: why do you want it basic?
JonC: nothing barfs
Yves: we could make it basic and rip it out after more testing
pauld: so in this case they
generate the placeholder, just don't populate it and you think
that's good enough
... OK we've just rehashed ISSUE-28
... I can live with either, so let's have our FIRST STRAW
POLL!!!!
chad, question: options for ISSUE-46
chad, option 1: Basic pattern
chad, option 2: Advanced pattern
<pauld:> vote: 1,2
<pauld:> vote: 2,1
<Yves> vote: 1,2
<JonC> vote:1
<gcowe> vote: 1
chad, count
<chad> Question: options for ISSUE-46
<chad> Option 1: Basic pattern (3)
<chad> Option 2: Advanced pattern (1)
<chad> 4 voters: gcowe (1),JonC (1),pauld (2,1),Yves (1,2)
<chad> Round 1: Count of first place rankings.
<chad> Candidate 1 is elected.
<chad> Winner is option 1 - Basic pattern
RESOLUTION: close ISSSUE-46 as an Basic pattern
pauld: it works with some tools, but is a well known limitation of many other tools, e.g. ADB 1.0: http://ws.apache.org/axis2/1_0/adb/adb-howto.html
RESOLUTION: close ISSUE-67 as Advanced
JonC: we had this internally within BT but failed to work with BEA Weblogic 8.1
pauld: Paul Keil has this as
being well supported. ISTR it not working well, do we need more
evidence?
... very common pattern, do we want to do this?
... is that an easily fixed bug in one toolkit, or an
indication of a widespread problem?
... it's not the end of the world for a pattern to be advanced
pauld: In our experience, venetian blind works well, but should we discount Russian Doll etc? We had that in ISSUE-18, schema authoring styles.
pauld: I'm attracted to the minium to declare victory, but it's always easier for us to take things out than add them in later
RESOLUTION: close ISSUE-58 as an Advanced pattern
LUNCH
we have an example 'JeanSize'
pauld: can we think about making this based upon the pattern name?
RESOLUTION: close ISSUE-64 Union of simple types as an Advanced pattern
pauld: implicitly means global elements
works with toolkits AFAICT
JonC: it's how all doc/lit WSDLs work
RESOLUTION: close ISSUE-48 as a Basic pattern
pauld: déjà vu with ISSUE-48!
RESOLUTION: close ISSUE-60 as a basic Pattern
pauld: introduces simpleTypes
JonC: chad! chad!
pauld: not like 'fixed'; value
space of valid values greater than one
... explains why ISSUE-28 is a value judgement
... SOAP4r barfs at runtime
RESOLUTION: close ISSUE-56 as an Advanced pattern
George sent mail: http://lists.w3.org/Archives/Public/public-xsd-databinding/2006Sep/0025
pauld: so not WS-I BP compliant, and of course we want to be compatible with the WS-I BP
pauld: OK, we need to consider if and how we reference the BP
pauld: How do we close this issue: Advanced or don't do it?
pauld: What's the use-case? I guess picking up a schema with this cruft in it?
... is it a problem for Advanced?
discussion of models of how WSDLs get built
JonC: we are in the Web services space, this isn't useful and not BP compliant
pauld: should I go to the BP and raise this as an issue?
pauld: OK mark it as Advanced for now, I'll engage the WS-I
<scribe>
ACTION: pdowney to raise an issue on ISSUE-68
with the WS-I Basic Profile WG
[recorded in
http://www.w3.org/2006/10/05-databinding-minutes.html#action102]
<trackbot> Created ACTION-68 - Raise an issue on ISSUE-68 with the WS-I Basic Profile WG [on Paul Downey - due 2006-10-12].
JonC: our example is based upon
an Advanced pattern, so makes this Advanced?
... unless we come up with a simpler example
... does it make sense to have an enum of an enum?
pauld: or do we have other
facets?
... if you're writing a schema you can do this in one type,
Basic is for people authoring schemas in the main
... however Origo do this and it seems to work in their
toolkits
gcowe: our use of this is possibly historical but it's pretty fundamental
RESOLUTION: close ISSUE-66 as an advanced pattern, needs more examples
pauld: split second pattern as ISSUE-70
RESOLUTION: close ISSUE-15 accepeted empty sequence as a Basic pattern
pauld: the issue of death
http://www.w3.org/2002/ws/databinding/6/9/19-databinding-minutes.html#item01
pauld: walks through the history
Yves: for Advanced this is a must and can be easily implemented, comments for original names etc
pauld: proposal for way forward: split issue into concrete patterns for name formats, python rules, includes '-', Kanji set, etc and process them as business as usual
<scribe>
ACTION: pdowney to build several examples
based upon existing document for ISSUE-10
[recorded in
http://www.w3.org/2006/10/05-databinding-minutes.html#action104]
<trackbot> Created ACTION-69 - Build several examples based upon existing document for ISSUE-10 [on Paul Downey - due 2006-10-12].
JonC: leave it open, we need a concrete example / pattern
pauld: We're closing issues. Examples follow as editorial work
RESOLUTION: close
ISSUE-55 as Advanced, needs example
gcowe: we have examples and patterns for this
RESOLUTION: close
ISSUE-38 as Advanced
pauld: well duh, it's commonly used but badly supported
RESOLUTION: close ISSUE-50 as an Advanced pattern
pauld: this issue is a placeholder. We need to process each of the the concrete patterns and examples from the input document. I suspect they're all Advanced.
<scribe>
ACTION: pdowney to explode concrete patterns
for ISSUE-25 hash and map
[recorded in
http://www.w3.org/2006/10/05-databinding-minutes.html#action106]
<trackbot> Created ACTION-70 - Explode concrete patterns for ISSUE-25 hash and map [on Paul Downey - due 2006-10-12].
pauld: we don't offer advice on which pattern to use, apart from grouping patterns. Duration is an Advanced datatype, leave it at that.
pauld: so do we accept xs:duration is OK for representing durations?
there is an awkward silence
RESOLUTION: close ISSUE-17 with no action
RESOLUTION: close ISSUE-54 as an Advanced pattern
RESOLUTION: close ISSUE-59 as an Advanced pattern
RESOLUTION: accept ISSUE-14 as an Advanced pattern
discussion of tetsuite process
pauld: each toolkit is assigned an Id {toolkit}_{lang}_{version}, e.g.:
pauld: a toolkit specific genit script:
exclusions=$(echo " Union UnionSimpleDateString UnionDateString ... " | awk '{ printf ":%s:", $1}'|sed 's/::*/:/g') xsltproc \ --stringparam exclude $exclusions \ $PATTERNS_DIR/examples2wsdl.xsl \ $PATTERNS_DIR/examples.xml > examples.wsdl
ruby $SOAP4R_DIR/bin/wsdl2ruby.rb \ --wsdl examples.wsdl \ --type server --force
def echoStringElement(echoStringElementRequest) raise NotImplementedError.new end
is transformed into:
def echoStringElement(echoStringElementRequest) return echoStringElementRequest end
perl ... < default.rb > snippets.html
ruby Service.rb
pauld: the generic runit script:
pauld: People are welcome to pick this work up in the comfort of their own homes, though my Perl hacks might defeat some. Ideally the runit should be more shrink-wrapped - a jar and the sample soap files or as a Zip file, but that's work I've not got around to, yet
pauld: To get on the report all people have to do is contribute log files in the output.xml format, along with snippets.html
<Yves>
ACTION: pdowney to publish logfile format
[recorded in
http://www.w3.org/2006/10/05-databinding-minutes.html#action107]
<trackbot> Created ACTION-71 - Publish logfile format [on Paul Downey - due 2006-10-12].
pauld: we then use the log to generate a results.xml which checks the request versus response. This is where I got stuck.
pauld: Ajith suggested XMLUnit, which looks cool for the 95 case, but we still need hints for comparing floats etc
Yves: also useful if we have +1 test cases
pauld: I have an xslt to manufacture a Schematron schema from examples.xml which works well for comparing XPaths, e.g.
<sch:assert test="xs:float(log:request/log:body/soap:Envelope/soap:Body/*/ex:floatElement) = xs:float(log:response/log:body/soap:Envelope/soap:Body/*/ex:floatElement)">assertion "xs:float(ex:floatElement)" against FloatElement03 message 1 failed - mismatch <sch:assert>
pauld: but my XSLT isn't comparing full documents, only explicit XPaths. Just checking the response matches the request is our 95 case
Yves: XMLUnit looks interesting, especially the 'exact' then 'similar' match approach, I'd like to pick up this work
pauld: does a happy dance
pauld: that frees me up to work with George on generating my logs for Axis 1.x, XFire, gSOAP, etc, etc
ADJOURNED
pauld: ok, so we have 10 Issues remaining, 3 Basic, 2 Testsuite
pauld: Origo has contributed some patterns, BT has some industry schemas in mind, but other people need to contribute patterns for Advanced or it's going to be a short document!
<scribe>
ACTION: ylafon to write introduction to the
Test suite text including a Disclaimer and how to deal with
mistakes
[recorded in
http://www.w3.org/2006/10/06-databinding-minutes.html#action101]
<trackbot> Created ACTION-72 - Write introduction to the Test suite text including a Disclaimer and how to deal with mistakes [on Yves Lafon - due 2006-10-13].
pauld: we should publish our test suite logs and call for logs from third parties
gcowe: patterns.xml covers
components, but not combinations of components
... unclear if we need to do a second pass
pauld: so what happens if a
schema contains a valid component in an unusual place
(struggles for a realistic example)
... let's walk though this
<scribe>
ACTION: pdowney to write a patterns and
examples.xml to HTML transform
[recorded in
http://www.w3.org/2006/10/06-databinding-minutes.html#action102]
<trackbot> Created ACTION-73 - Write a patterns and examples.xml to HTML transform [on Paul Downey - due 2006-10-13].
<JonC>
ACTION: pdowney to remove editorial attribute
from patterns.xml
[recorded in
http://www.w3.org/2006/10/06-databinding-minutes.html#action103]
<trackbot> Created ACTION-74 - Remove editorial attribute from patterns.xml [on Paul Downey - due 2006-10-13].
pauld: we need a better rollup report of the patterns in our examples documents
<scribe>
ACTION: pdowney to generate a rollup report
for classification of our examples
[recorded in
http://www.w3.org/2006/10/06-databinding-minutes.html#action104]
<trackbot> Created ACTION-75 - Generate a rollup report for classification of our examples [on Paul Downey - due 2006-10-13].
gcowe: when I run the processor on our schema catchall fires all the time
pauld: so what's broken?
... is it because catchalls are firing along with basic
patterns, or the catchalls indicate we don't have enough
patterns to cover your schemas?
gcowe: redefine is catchall, for example
pauld: let's gloablly replace 'catchall' with 'pending'
JonC: we need to document our buckets
gcowe: substitutionGroups fires as catchall
pauld: ok we need to ensure we
have patterns.xml statements for all our closed issues
... we need to dog-food our processor on our examples
... two pass comes from our use of Schematron
... maybe we could write some code to taint nodes touched by an
XPath, then look for untainted nodes
Yves: alternative approach is to traverse the XML bottom-up start at leaf nodes and try to recognise patterns for leaf nodes applying pattern detection for each new subtree
pauld: sounds interesting, but not sure I fully understand
pauld: does that mean writing our patterns in a different way, not XPath?
Yves: no
pauld: let a 1000 flowers bloom!
<scribe>
ACTION: ylafon to investigate alternative
approach to pattern detection
[recorded in
http://www.w3.org/2006/10/06-databinding-minutes.html#action105]
<trackbot> Created ACTION-76 - Investigate alternative approach to pattern detection [on Yves Lafon - due 2006-10-13].
pauld: so are we happy with our approach, well two approaches?
<gcowe> two phase detection of patterns -
<gcowe> use schematron with multiple rules in first phase - as is
<gcowe> in second phase - use schematron with one rule containing paths detected from first phase, with a catchall for anything else
pauld: this approach doesn't tell you what is causing the failure, ok for our validation but for a W3C hosted validator we may need more work in error reporting
Working Group indulges in wordsmithing by committee
<JonC> try this "Different databinding tools support different subsets of XML schema 1.0 and even their support of common aspects of XML Schema is often inconsistent, resulting in interoperability issues:"
pauld: and that's better than "Different databinding tools fail to consume different aspects of XML Schema 1.0 differently." ??
<Yves> Also, there may be multiplt ways of expressing the same data structures using XML schema, and databinding tools may choose to implement only one or more ways, but not all of them, leading also to interoperability issues
<JonC> I think so
<JonC> compromise "Different databinding tools support different aspects of XML Schema 1.0 differently."
<gcowe> or "Its fair to say that most databinding tools support XML Schema 1.0 features in inconsistent ways which leads to interoperability issues" - no differents at all!!
LUNCH
pauld: we'd like the BP to be
able to cite us, and so we have restrictions such as encoding
and schemaLocation to make sure that can happen.
... but do we need to do more in terms of our spec
Yves: may be IP issues in a normative reference
gcowe: we have to be compliant with WS-I Basic Profile for interoperability
pauld: for Web service tools at least, but we can be used in a wider context
gcowe: we talked about this yesterday under ISSUE-68
pauld: let's leave this for a telcon
more spec bashing, added edtodos for work
pauld: we need to identify the
issues which should have an acompanying pattern and
example
... then we can join that against the issue numbers in
examples.xml and patterns.xml
<JonC> The issue numbers requiring a pattern are:
<JonC> 5
<JonC> 7
<JonC> 8
<JonC> 9
<JonC> Change of plan these are the Issues NOT requiring a pattern ..
<JonC> To help George 1,2,3,4,11,12,13,16,17,18,24,28,29,30,34,35,36,37,40,52,53,61,62,63,71
<gcowe> thanks Jon!
<scribe>
ACTION: gcowe to build a tool to check each
Issue has a pattern and each pattern has an example
[recorded
in
http://www.w3.org/2006/10/06-databinding-minutes.html#action106]
<trackbot> Created ACTION-77 - Build a tool to check each Issue has a pattern and each pattern has an example [on George Cowe - due 2006-10-13].
<scribe>
ACTION: ylafon to work on XMLUnit check
[recorded in
http://www.w3.org/2006/10/06-databinding-minutes.html#action107]
<trackbot> Created ACTION-78 - Work on XMLUnit check [on Yves Lafon - due 2006-10-13].
<scribe>
ACTION: gcowe to build 2nd pass of Schematon
pattern detection tool
[recorded in
http://www.w3.org/2006/10/06-databinding-minutes.html#action108]
<trackbot> Created ACTION-79 - Build 2nd pass of Schematon pattern detection tool [on George Cowe - due 2006-10-13].
<scribe>
ACTION: pdowney to review ISSUES list against
edtodo list
[recorded in
http://www.w3.org/2006/10/06-databinding-minutes.html#action109]
<trackbot> Created ACTION-80 - Review ISSUES list against edtodo list [on Paul Downey - due 2006-10-13].
pauld: review of our roadmap document
pauld: OK we're well behind on the schedule ... we're making progress ... but there's a risk with such a small WG one of us has a change of circumstances. Also we may run out of time and fail charter renewal. Our best option seems to be to just keep truckin'. Publishing our test results may garner rocks or renewed interest.
pauld: Many thanks to the W3C for hosting, especially for the nice weather and good eating!
MEETING CLOSED