RE: Databinding comments

Dear Jonathan,

Please accept my sincire applogies for taking so long to 
reply to your comments you may recall making long, long ago [1].

> 1)      It's not clear to me why the XPath assertions are so complicated.
> For instance, the following pattern:
>    .[@targetNamespace]/ (., @targetNamespace)
> returns a non-empty node-set (an xs:schema element and a 
> targetNamespace attribute) on a pattern-conforming schema. 
> However, a simpler pattern will give us a similarly non-empty node-set:
>    @targetNamespace
> or if you really think this helps set the context (I don't), it's synonym:
>    ./@targetNamespace
> IMO this is simpler to read is that it is familiar to XPath 1.0 users, not
> just those who dive into the (distressingly complex) XPath 2.0 spec.  There
> seems to be additional information encoded in the XPath 2.0 form, but it's
> not clear what it's used for, if anything, especially since this style
> doesn't appear in all patterns.

The working group sympathised with your point of view, the XPaths are complex
but we elected to endeavor to make them consistent, each pattern in two parts,
first explicitly locating a node, then selecting the nodes to be matched, rather
than making the simplest patterns simpler as you suggest:
   
http://www.w3.org/2002/ws/databinding/7/2/F2F-databinding-minutes.html#item09
http://www.w3.org/2002/ws/databinding/7/2/lc-issues/issues.html#lc-jmarsh-1

> 2)      Pattern 2.1.4 SchemaVersion.  How does the version attribute help
> with databinding?  Seems like encouraging it's appearance (while not a bad
> idea) is orthogonal to the goal of mapping to data structures.  Same can be
> said of 2.2.1 DocumentationElement, probably others as well.  This seems to
> stray into general purpose schema subset territory.

It does stray into general purpose schema sub-setting, but the approach
taken for Basic is to allow all aspects of schema, unless they are shown
not to work with state of the art implementations. Our testing revealed 
version as having no impact, and so is "Basic", along with similar schema
attributes ignored by implementations.

http://www.w3.org/2002/ws/databinding/7/2/F2F-databinding-minutes.html#item10
http://www.w3.org/2002/ws/databinding/7/2/lc-issues/issues.html#lc-jmarsh-2

> 3)      Pattern 2.2.1 DocumentationElement.  Listing <xs:annotation> twice
> (in context and out) looks like a bug in the example generation code ;-).

We believe we've resolved this issue. Thanks for noticing!

http://www.w3.org/2002/ws/databinding/7/2/F2F-databinding-minutes.html#item11
http://www.w3.org/2002/ws/databinding/7/2/lc-issues/issues.html#lc-jmarsh-3

> 4)      The patterns are written in terms of "a document exhibits a pattern
> when .".  An effect of this is that a pattern may return a node-set even
> when parts of the document don't exhibit the pattern, or exhibit the
> opposite of the pattern.  For instance 2.3.3 NotMixed says a document
> exhibits a pattern when there is at least one instance of @mixed="false",
> but the information a user is most likely to want is whether the schema
> exhibits any undesirable patterns, such as the (likely problematic)
> @mixed="true".  In essence, the granularity implied with the statement "An
> [XML 1.0] document exhibits the NotMixed pattern" doesn't seem to be
> terrible useful, and contrary to the name, does not ensure a schema doesn't
> allow mixed content.  It might be as simple as changing the expression to
> something like @mixed!='true', or there might be a larger problem with the
> granularity here.

We allow explicitly asserting the default value for attributes such as "mixed" for 
similar reasons as to why we allow the "version" attribute:

http://www.w3.org/2002/ws/databinding/7/2/F2F-databinding-minutes.html#item12
http://www.w3.org/2002/ws/databinding/7/2/lc-issues/issues.html#lc-jmarsh-4

> 5) Appendix C why is R2800 not grouped with R2112?  They seem to be
> introduced the same way.

Reading the specification with fresh eyes, I understand the confusion, but the rationale 
behind the grouping, which we've maintained is  R2112 is something allowed by the 
Basic patterns document, but explicitly disallowed by the WS-I BP, 
whereas R2800 is a case where the WS-I BP is less constrained than the Basic patterns 
document:

http://www.w3.org/2002/ws/databinding/7/2/F2F-databinding-minutes.html#item13
http://www.w3.org/2002/ws/databinding/7/2/lc-issues/issues.html#lc-jmarsh-5

We hope you are agreeable with the Working Group's processing of your comments.

Yours,
Paul, On behalf of the W3C XML Schema Patterns 
for Databinding Working Group
http://www.w3.org/2002/ws/databinding/

[1] http://lists.w3.org/Archives/Public/public-xsd-databinding-comments/2007Jan/0000.html

Received on Tuesday, 22 July 2008 22:29:36 UTC