Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change to using URL standard #1670

Merged
merged 13 commits into from
May 14, 2021
Merged

Change to using URL standard #1670

merged 13 commits into from
May 14, 2021

Conversation

mattgarrish
Copy link
Member

@mattgarrish mattgarrish commented May 9, 2021

I've updated the authoring and reading system specifications to use the URL standard terminology.

There are a number of changes in this PR, but they basically all break down along these lines:

  • relative IRI has become "relative-URL string" where it doesn't seem to make sense to allow fragment identifiers (manifest item and media overlays audio src)
  • relative IRI has become "relative-URL-with-fragment string" for all other cases
  • same changes as above for absolute IRIs
  • where we hadn't broken our relative from absolute, I went with "valid URL string"
  • base IRI has become base URL

The one tough case was in ocf, where the rootfile and link elements required the IRI be "a path component [RFC3986] which MUST take the form of a path-rootless [RFC3986] only". My best interpretation of this is that it is the equivalent of the URL standard's "path-relative-scheme-less-URL string".

I've also used this definition for the property datatype definition to replace irelative-ref in the ebnf.

Please let me know if you think I've made a mistake with any of these.

Otherwise, I've moved a few more passively expressed reading system requirements over to the proper document. These were all related to creating URLs from the default vocabulary base URLs. Reading systems are the ones that create these expanded URLs.

Fixes #808

EDIT: Also fixes #1673 by adding requirement for reading systems to ignore properties that expand to invalid URL strings and also prefixes without a referent.

EDIT 2: Also fixes #1303 by restricting manifest items to fragment-less URLs.


Preview | Diff

Copy link
Member

@iherman iherman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not find any problems with the mapping from the RFC concepts to the URL spec... All my comments are minor editorial one.

Thanks!

epub33/core/vocab/item-properties.html Outdated Show resolved Hide resolved
epub33/core/vocab/itemref-properties.html Show resolved Hide resolved
epub33/core/vocab/meta-property.html Outdated Show resolved Hide resolved
epub33/core/vocab/rendering.html Outdated Show resolved Hide resolved
epub33/rs/index.html Outdated Show resolved Hide resolved
Copy link
Member

@rdeltour rdeltour left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Relying on the well-defined URL standard is a good move, well done! 👍

I find however that the PR sometimes mixes the serialization terminology (strings) and the concepts (URL record). For instance it often says "resolve relative URL string to absolute URL string" when the URL standard would rather say "parse relative URL string into URL". See the inline comments for details. 😊

epub33/core/index.html Outdated Show resolved Hide resolved
epub33/core/index.html Outdated Show resolved Hide resolved
epub33/core/index.html Outdated Show resolved Hide resolved
epub33/core/index.html Outdated Show resolved Hide resolved
epub33/core/index.html Outdated Show resolved Hide resolved
epub33/rs/index.html Outdated Show resolved Hide resolved
epub33/rs/index.html Outdated Show resolved Hide resolved
epub33/rs/index.html Outdated Show resolved Hide resolved
epub33/rs/index.html Outdated Show resolved Hide resolved
epub33/rs/index.html Outdated Show resolved Hide resolved
@mattgarrish
Copy link
Member Author

I believe everything has been addressed now, so I'm going to go ahead and merge this. New issues are welcome if anyone spots anything amiss.

@mattgarrish mattgarrish merged commit defe6bb into main May 14, 2021
@mattgarrish mattgarrish deleted the fix/issue-808 branch May 14, 2021 12:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
7 participants