I can imagine the poor European, listening to a master of Al-Jabr, trying
like hell to understand what a Zero is and how you can count nothing.
Unfortunately I suspect I have more in common with that European than his
teacher.
In trying to answer Jim Davis's questions it became clear that the very act
of answer them would, de facto, define what we meant by NULL. So, I decided
the best way out of this mess was to just define NULL to the exact degree
required by DAV and no more.
NULL_DEF - We need to define the term NULL resource
To clarify matters I propose adding the following term to section 18
Terminology.
Null Resource - A resource which responds with a 404 Not Found to any
HTTP/1.1 or DAV method except for PUT, MKCOL, OPTIONS and LOCK. A NULL
resource MUST NOT appear as a member of its parent collection.
I admit to some discomfort in putting a requirement into the terminology
section. However to do otherwise would require use to define the same thing
twice. That is, in some place we would have to place the phrase "A NULL
resource MUST NOT appear as a member of its parent collection." and then put
the phrase "A NULL resource never appears as a member of its parent
collection." into the terminology section.
I have also changed section 6.3 Write Locks and Null Resources to read:
It is possible to assert a write lock on a null resource in order to
lock the name.
A write locked null resource, referred to as a lock-null resource,
MUST respond with a 405 Method Not Allowed to any HTTP/1.1 or DAV methods
except for PUT, MKCOL, OPTIONS, PROPFIND, LOCK, and UNLOCK. A lock-null
resource MUST appear as a member of its parent collection. Additionally the
lock-null resource MUST have both the lockdiscovery and the supportedlock
properties defined on it.
Until a method such as PUT or MKCOL is successfully executed on the
lock-null resource the resource MUST stay in the lock-null state.
If the resource is unlocked, for any reason, without a PUT, MKCOL,
or similar method having been successfully executed upon it then the
resource MUST return to the null state.
Yaron