w3c / epub-specs

Shared workspace for EPUB 3 specifications.
Other
307 stars 60 forks source link

Link elements in container.xml #374

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
The AHL WG hopes to introduce a link element from container.xml 
to rendition mapping documents.  This element follows the rootfiles 
element.  More about this element, see 4.4.4 in "Multiple Rendition 
EPUBs", available at:

https://docs.google.com/document/d/1yLX0GfSxN8a5JGJmbXlbWYAI63KGDrHACp4BwByGpV0/
edit

But AHL feel that such link elements might be useful for non-AHL 
extensions of EPUB3.  If they are indeed useful, AHL believes 
that they should be introduced as part of EPUB 3.0.1 rather 
than "Multiple Rendition EPUBs".  Thus, AHL would like to 
request the EPUB WG to consider the addition of link elements 
to container.xml.

Note:  Issue 320 is relevant.

Original issue reported on code.google.com by eb2m...@gmail.com on 18 Jul 2013 at 12:06

GoogleCodeExporter commented 9 years ago
Specification and schema have been updated to add the link element:

https://code.google.com/p/epub-revision/source/detail?r=4732

The new prose follows:

The container.xml file may contain one or more link elements following the 
rootfiles element. This element must include an href attribute whose value 
identifies the location of a resource necessary for the processing of the EPUB 
Container. The element also must include a rel attribute whose value identifies 
the relationship of the resource. The element may include a media-type 
attribute whose value must be a media type [RFC2046] that specifies the type 
and format of the resource referenced by the link.

Specific uses for the link element are defined by other IDPF specifications.

The value of the rootfile element full-path attribute and the link element href 
attribute must contain a path component (as defined by RFC3986) which must take 
the form of a path-rootless only (also defined by RFC 3986). The path 
components are relative to the root of the container in which they are used.

Original comment by mgarrish on 18 Sep 2013 at 4:46

GoogleCodeExporter commented 9 years ago

Original comment by markus.g...@gmail.com on 24 Sep 2013 at 8:28

GoogleCodeExporter commented 9 years ago
First, should we provide links elements in addition to link elements?

Second, Issue 370 requests better modularity.  Here is my proposed rewrite.

   default namespace = "urn:oasis:names:tc:opendocument:xmlns:container"
   include "./mod/datatypes.rnc"

   start = ocf.container 

   ocf.container = 
      element container { ocf.container.attlist & ocf.container.content }
   ocf.container.attlist =
      attribute version { '1.0' }
   ocf.container.content = ocf.rootfiles, ocf.links?

   ocf.rootfiles = 
      element rootfiles { ocf.rootfiles.attlist & ocf.rootfiles.content  }
   ocf.rootfiles.attlist = empty
   ocf.rootfiles.content = ocf.rootfile+

   ocf.rootfile  =
      element rootfile {ocf.rootfile.attlist & ocf.rootfile.content  }
   ocf.rootfile.attlist = 
      attribute full-path { datatype.URI } &
      attribute media-type { 'application/oebps-package+xml' }
   ocf.rootfile.content = empty

   ocf.links = 
      element links { ocf.links.attlist & ocf.links.content  }
   ocf.links.attlist = empty
   ocf.links.content = ocf.link+

   ocf.link = 
      element link { ocf.link.attlist & ocf.link.content  }
   ocf.link.attlist = 
        attribute href { datatype.URI } &
        attribute rel { datatype.html5.token } &
        attribute media-type { datatype.mimetype }?
   ocf.link.content = emptyy

Original comment by eb2m...@gmail.com on 25 Sep 2013 at 3:09

GoogleCodeExporter commented 9 years ago

Original comment by d...@google.com on 26 Sep 2013 at 4:49

GoogleCodeExporter commented 9 years ago
Schema implemented as in comment #3, including fixing rel datatype to 
datatype.html5.space.separated.tokens:

https://code.google.com/p/epub-revision/source/detail?r=4755

OCF spec prose updated:

https://code.google.com/p/epub-revision/source/detail?r=4756

Original comment by mgarrish on 27 Sep 2013 at 1:52

GoogleCodeExporter commented 9 years ago
Issue 370 has been merged into this issue.

Original comment by markus.g...@gmail.com on 17 Oct 2013 at 1:07

GoogleCodeExporter commented 9 years ago
Looks fine.  Matt, thank you for fixing my error.

Original comment by eb2m...@gmail.com on 23 Oct 2013 at 12:01

GoogleCodeExporter commented 9 years ago

Original comment by ga...@google.com on 24 Oct 2013 at 1:34