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

 


Help: OASIS Mailing Lists Help | MarkMail Help

xri message

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


Subject: RE: [xri] Absent Selection Elements (was WD11 Issue #13 - Treatment of Empty and Null)


Thanks, Wil, that’s one more down. See my next message about timing of another call this week.

 

=Drummond

 


From: Tan, William [mailto:William.Tan@neustar.biz]
Sent: Monday, October 02, 2006 6:12 PM
To: xri@lists.oasis-open.org
Subject: RE: [xri] Absent Selection Elements (was WD11 Issue #13 - Treatment of Empty and Null)

 

Indeed, the new SEP flow is so much simpler that I’m happy with the optional match=”default” elements.

 

So, yes please close the issue.

 

=wil (http://xri.net/=wil)

 

 


From: Drummond Reed [mailto:drummond.reed@cordance.net]
Sent: Saturday, September 30, 2006 3:47 AM
To: Tan, William; xri@lists.oasis-open.org
Subject: [xri] Absent Selection Elements (was WD11 Issue #13 - Treatment of Empty and Null)

 

Wil,

 

We missed you on the TC call yesterday (but your appointment with your wife takes precedence!)

 

In reviewing the current status of XRI Resolution 2.0 Working Draft 11 issues (http://wiki.oasis-open.org/xri/Xri2Cd02/ResWorkingDraft11), I have been checking the TC email list to make sure your recent questions have been addressed.

 

You asked the one below (over a month ago) about absent selection elements (SELs) and match=”default”. Since then, as you know, there has been a huge amount of discussion of SEP selection logic between the editors assigned to this issue (unfortunately most of it offlist), which has resulted in the proposal at http://wiki.oasis-open.org/xri/XriCd02/SepSelection.

 

On the basis of that proposal, do you still hold the same opinion that you expressed below, i.e., that missing SELs should be required, or are you fine with leaving this as it was in WD10, i.e., that a missing SEL is equivalent to the SEL being present with an attribute of match=”default”?

 

I would strongly prefer the latter, as it supports very simple SEPs, for example one that declares only a Type element (which is how OpenID uses XRDS).

 

In addition, I think it can be very simple for a resolver to apply the bitflag logic we developed in the pseudocode at http://wiki.oasis-open.org/xri/XriCd02/SepSelection. In fact, I reviewed it yesterday and realized that it did not actually address the issue of missing SELs. So I added three more bitflags and modified the first FOR loop and the DEFAULT SEP IF test so that if a SEL of any type is absent in a SEP, that SEL match is automatically set to DEFAULT.

 

Please look this over and see if you agree. If so, let me know, and I will officially marked this issue as closed. (See also the upcoming messages with other questions we have for you coming out of yesterday’s TC call – we’re on a roll to close the rest of the WD11 issues now!)

 

Thanks,

 

=Drummond

 


From: Tan, William [mailto:William.Tan@neustar.biz]
Sent: Saturday, August 19, 2006 6:04 AM
To: Drummond Reed; xri@lists.oasis-open.org
Subject: RE: [xri] WD11 Issue #13 - Treatment of Empty and Null

 

In an earlier mail to the list I proposed to eliminate the service selection step that adds an element with match=”default” if the element was absent. I would still like to explore that and would like to hear your opinions on it.

 

By *not* adding missing elements, the service selection has one less step. The overall effect of this change is:

 

  1. The resolver does not need to scan the Service children for missing elements to add.
  2. By not having to add missing elements, it also does not need to remember which elements were artificially added and needs to be removed again later (other methods of representating the artificially added elements are certainly possible, but would still involve a similar level of effort)
  3. If a service has no MediaType element for example, and has a matching Type / Path element with select=”true” it will still be selected.
  4. If a service has no MediaType element but has matching Type and/or Path element with select=”false”, it will never be matched because if none of the matching elements has a select=”true” attribute it is an AND operation which requires all 3 types of elements to be matched.
  5. To retain current behavior, explicit elements with match=”default” should be added to the service.

 

This also means that for issue #13:

  1. If an attribute is null (match=””) then it’s null, and will be ignored by the resolver just like an unknown value was present (e.g. match=”junk” or match=”future-value”).
  2. If an attribute is absent, then it is deemed to have the default value of “content” – consistent with the schema.

 

 

This would require changes to the currently deployed resolver implementations, but I feel is a simplification that would not take too much work. However, existing XRDs have to be re-provisioned with explicit elements with match=”default”.

 

=wil (http://xri.net/=wil)

 

 


From: Drummond Reed [mailto:drummond.reed@cordance.net]
Sent: Friday, August 18, 2006 5:35 PM
To: xri@lists.oasis-open.org
Subject: [xri] WD11 Issue #13 - Treatment of Empty and Null

 

This email is for closure of issue #13 from the XRI Resolution 2.0 Working Draft 11 Issues List wiki page at:

 

            http://wiki.oasis-open.org/xri/Xri2Cd02/ResWorkingDraft11

 

Please review the following text and, if you don’t agree with the proposed solution, please reply to the list. SILENCE WILL BE INTERPRETED AS CLOSURE.

 

=== #13 - Section 8.2.1 – Clarifying Definition of Null and Empty (Wil Tan) ===

 

From an email from Wil regarding section 8.2.1 point #2 of WD10 resolution spec:

 

''If an xrd:Type, xrd:MediaType, or xrd:Path element is present but its contents are empty, the value of the element MUST be considered null.''

 

What is the significance of this statement?

 

This also brings up issues that I always had while reading the spec, i.e. what is the definition of "null" in the document? For example, the table in 8.2.1 under the Matching Rule for "content": "the xrd:match attribute is present but the attribute is omitted or its value is null." To me, this looks like you mean either of:

<Path>photos</Path>

<Path match=””>photos</Path>

 

But match=”” is not a valid enumerated value in the schema, so it should not even be considered.

 

It seems to me that an empty string ("") and null should be considered equivalent with respect to service selection. If that is the case, we probably should specify it in the doc.

 

DISCUSSION ON 2006-8-17 TELECON

 

Steve proposed that:

 

 * We do not distinguish between the empty value and null.

 * If an attribute or element is not present, the value is considered null.

 * If the attribute or element is present but the value is the empty string, it is considered null.

 

Marty added that we should clarify that if an attribute or element is required, it is not satisfied by being null by the above rules.

 

Wil pointed out that to avoid confusion we should also clarify that the value "null" for the match attribute is an explicit value.

 

We should also be careful to distinguish between empty and null with regard to XML elements vs. query parameters.

 

CONCLUSION #1

 

There was concensus that for XRI resolution query parameters, we do NOT distinguish between a parameter having an empty value and null (null being the absence of a parameter). They are equivalent.

 

REMAINING OPEN ISSUE

 

What is still open is whether the same rule should apply to XML elements in an XRD, i.e., should an element with an empty value (and no attributes) be equivalent to the element being absent altogether?

 

Wil and Steve pointed out that this is not consistent with our rules for the match attribute, which is assumed to have one value (match="default") if an element is missing altogether, and another value (match="contents") if the element is present.

 

PROPOSED SOLUTION

 

Drummond proposes to eliminate this inconsistency by specifying that if an XRD element is present BUT: a) its value is empty, and b) it has no known XRD attributes, then it is treated as equivalent to the element being absent, i.e., it's value is considered to be null, and thus the value of the match attribute is assumed to be match="default".

 

This would make it consistent that throughout all aspects of XRI resolution, the presence of an element or parameter with an empty value is treated as equivalent to the absence of that element or parameter, and from a programming standpoint, both conditions are considered as equivalent to setting the value of that element or parameter to null.

 

 



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