FamilySearch/gedcomx

What does "resolve to an identifier type" mean?

Closed this issue · 5 comments

Surely you're not expecting it to exist on some reachable web server: After all, none of the GedcomX indentifiers do. ISTM type URIs in GedcomX are just XML namespace-value pairs. So are we expecting enumerators to provide Schema or DTDs that declare all of their identifiers if they don't use the "known" ones? Will there at some point be a GedcomX Schema or DTD to validate against?

Types are identified by URI, which may be an element of a controlled vocabulary.

If you're asking what happens when somebody resolves that URI using a browser, then that's undefined at the moment. To play nice, we could have a server respond to those requests and surface a document that explains what the "thing" they just got was. Someday we probably will. That's issue #87 which has been opened for two years now.

Types are identified by URI, which may be an element of a controlled vocabulary.

Right. may be. What if they're not?

If you're asking what happens when somebody resolves that URI using a browser

No, I'm asking what it means to an implementer when the spec says "MUST resolve to a foo type, and use of a known foo type is recommended". Do you really mean "resolve" in the same sense as when it says "MUST resolve to an instance of http://gedcomx.org/Bar", where Bar is a defined data structure? Don't you really mean "MUST be a namespace-value which is defined in some schema document to be a legitimate value for elements named foo"?

IOW, types are identified by URI because that's how XML namespaces work. JSON doesn't care about it, but it's harmless. I've no objection to namespaces, and this is a very good use of them. I just think that the spec should be clear that some URIs are for namespace control and aren't expected to resolve to a web resource. "Resolve" should be used for URIs that do have to point at something.

How about:

(the value of the property) "MUST identify an identifier type use of a known identifier type is RECOMMENDED"

?

How about pull request #249?

We'll pick up this converation at #249, then.