(I know this is a huge can of worms, and I regularly get it wrong; maybe it is the case this time, too...)
The issue is what the allowed characters are for file names. More specifically, what the allowed characters are for the value of full-path in the container.xml file.
- In Section 3.3, the reference is to RFC3986 (URI) and RFC3987 (IRI) are both listed. Which sounds about right; this means a file name of the form
/téléphone is all right, although this would not be acceptable via RFC3986. (Although I wonder whether the reference to RFC3986 is necessary in the first place; in this respect RFC3987 supersedes RFC3986, doesn't it)
- In 3.5.3.1, towards the end, only RFC3986 is reference in the defintion of
full-path. This seems to be in contradiction with what is in Section 3.3
- Section 3.4 seems to give a specific definition for file names; it is not clear to me whether this is necessary. Isn't it enough to refer to the same RFC3987 (well, the
path portion thereof) to avoid mixup? Isn't it enough to quote RFC3987 and, if necessary, list the possible restrictions (I have not checked which of the characters listed in the 4th bullet point are excluded from the path segment of an IRI anyway) when it comes to file name? (Yes, of course, we have to refer to the last portion of an IRI path as the file name.)
- And here is the rub: I think there is a discrepancy at this moment. If I correctly interpret either RFC3986 or RFC3987, the space (i.e., U+0020) character is excluded from the path, whereas Section 3.4 does not exclude it. This means that the examples are also wrong, because
full-path="EPUB/Great Expectation.opf" is not a valid value for @full-path, although it is indeed a valid file name per Section 3.4:-(
As i said, it is a can of worm, and one of you guys may prove me wrong in my interpretation... But if I am right, my proposal would be:
- Use RFC3987 only in the references (with a possible note relating it to RFC3986)
- Reduce section 3.4 by saying that a file name should be conform to the path of RFC3987, minus a number of characters (if necessary, ie, check whether all those entries are necessary)
- Change the examples...
(I know this is a huge can of worms, and I regularly get it wrong; maybe it is the case this time, too...)
The issue is what the allowed characters are for file names. More specifically, what the allowed characters are for the value of
full-pathin thecontainer.xmlfile./téléphoneis all right, although this would not be acceptable via RFC3986. (Although I wonder whether the reference to RFC3986 is necessary in the first place; in this respect RFC3987 supersedes RFC3986, doesn't it)full-path. This seems to be in contradiction with what is in Section 3.3pathportion thereof) to avoid mixup? Isn't it enough to quote RFC3987 and, if necessary, list the possible restrictions (I have not checked which of the characters listed in the 4th bullet point are excluded from the path segment of an IRI anyway) when it comes to file name? (Yes, of course, we have to refer to the last portion of an IRI path as the file name.)full-path="EPUB/Great Expectation.opf"is not a valid value for@full-path, although it is indeed a valid file name per Section 3.4:-(As i said, it is a can of worm, and one of you guys may prove me wrong in my interpretation... But if I am right, my proposal would be: