[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: Re: Of public and urn:publicid URIs
/ dcpleland@ftnetwork.com was heard to say: | Norm Walsh wrote: | | >Sorry, David, I don't understand what you mean... | | Here's a portion of what I received: | *************************** | | entityResolve(null, "urn:publicid:foo::bar") | | | | matches | | | | | | | | *and* | | | | | | | | but prefers the former. | | | ***************************** Right. Your mail reading tool is doing something odd. Here's a patched version; just imagine that XML uses square brackets instead of angle brackets :-) | | Ok, let's explore what it means if we always interpret urn:publicid | | URIs as public identifiers. Here's a first proposal: | | | | In an entity resolver: | | | | 1. If you're only passed a public identifier and it's a urn:publicid URI, | | convert it to a public id and try that. If resolution fails, look | | for a public entry that matches the URI form. | | | | entityResolve(null, "urn:publicid:foo::bar") | | | | matches | | | | [public publicid="foo//bar" .../] | | | | *and* | | | | [public publicid="urn:publicid:foo::bar" .../] | | | | but prefers the former. | | | | 2. If you're passed only a system identifier and it's a urn:publicid URI, | | convert it to a public id and proceed as if you'd only been given a | | public ID. | | | | 3. If you're passed both and the public identifier is a urn:publicid URI, | | convert it to a public id and proceed. If resolution fails, look for | | a public entry that matches the URI form. | | | | 4. If you're passed both and the *system* identifier is a urn:publicid URI, | | convert it to a public id. | | | | a. If the two public identifiers are identical, proceed as if you'd | | only been given the public identifier. | | | | b. If they're different, try each in turn. As per 1. | | | | In a URI resolver: | | | | 1. If it's a urn:publicid URI, convert it to a public id and try that. | | If resolution fails, look for a public entry that matches the URI form, | | then look for a URI entry that matches the URI form. | | | | uriResolve("urn:publicid:foo::bar") | | | | matches | | | | [public publicid="foo//bar" .../] | | | | *and* | | | | [public publicid="urn:publicid:foo::bar" .../] | | | | *and* | | | | [uri name="urn:publicid:foo::bar" ../] | | | | in that order. | | | | Comments? Be seeing you, norm -- Norman.Walsh@Sun.COM | Life does not cease to be funny when people XML Standards Engineer | die anymore than it ceases to be serious when Technology Dev. Group | people laugh.--George Bernard Shaw Sun Microsystems, Inc. |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC