[sword-devel] GenBook osisID and URIs
Chris Little
chrislit at crosswire.org
Tue May 13 17:40:58 MST 2008
Manfred Bergmann wrote:
> MacSword uses the following schema for URLs:
>
> sword://[<FilterOption[&<FilterOption]@]<ModuleShortName>/<Key|KeyRange>
>
> This is how I found it.
> I'm open to implement a standard if this has been besided.
What would you think of putting filter options in the query segment of
the URI?
An URI is broken up roughly like this:
<protocol>://<authority>/<path>?<query>#<fragment>
Presumably Sword can throw away everything up to the first ':' and then
cut extract:
1) Everything between the first '//' and the first subsequent '/', '?',
or '#' represents the module short name(s).
2) Everything between the first '/' following this and the first
subsequent '?' or '#' represents the key(s).
3) Everything between the first '?' following this and the first
subsequent '#' represents commands to the application, like filter options.
4) Everything after the first '#' following this can represent subparts
within the entry retrieved. We could use this to scroll within a long
entry to anchor points, just like in HTML usage. Or we could just ignore
this part of the URI and no implement it.
If a part of the URI is missing, we should try to interpret what IS
present. I.e. if there is no module spcified (sword:/Gen%201.1/) try to
parse it as a key. (Presumably this would just apply for Bible
references. I don't think we can guess which lexicon or GenBook a random
key belongs to, but we can always interpret Bible references an apply to
the default or current Bible.) If the key is missing, you can use the
URI to switch module and/or set filter options.
--Chris
More information about the sword-devel
mailing list