Skip to content

Encoding in the abstract container #2461

Closed

Description

@rdeltour

It's mostly a detail, but something struck me as maybe out of place in the file paths and names restrictions.

The spec says:

file names and paths MUST be UTF-8 [unicode] encoded

What does it mean to talk about encoding in the abstract container? Encoding is a concrete thing that happens when actually storing the info.

The ZIP section already requires:

OCF ZIP containers MUST encode File System Names using UTF-8 [unicode].

Activity

  1. rdeltour commented on Oct 17, 2022

    @rdeltour
    MemberAuthor

    I'm suggesting maybe referring to the Infra string type (or scalar value string?) in the definition of file path and file name.

  2. mattgarrish commented on Oct 17, 2022

    @mattgarrish
    Member

    OCF ZIP containers MUST encode File System Names

    Is "file system names" in caps for a bit of imperiousness?

    It seems to have been that way forever for no particular reason. The zip appnote makes no reference to it as a term.

  3. mattgarrish commented on Oct 17, 2022

    @mattgarrish
    Member

    maybe referring to the Infra string type (or scalar value string?) in the definition of file path and file name

    What if the first sentence of the section incorporated it:

    In the context of the OCF abstract container, file paths and file names are case sensitive scalar value strings [infra].

  4. rdeltour commented on Oct 17, 2022

    @rdeltour
    MemberAuthor

    What if the first sentence of the section incorporated it:

    In the context of the OCF abstract container, file paths and file names are case sensitive scalar value strings [infra].

    Looks better to me!
    To nitpick even more: case sensitiveness is implied (upper/lower case characters are two different code points), it could be moved to a note.

  5. mattgarrish commented on Oct 18, 2022

    @mattgarrish
    Member

    case sensitiveness is implied (upper/lower case characters are two different code points)

    Sure, if all we're considering is code points, but isn't the issue here the virtual file system of the abstract container? If we remove this as a normative statement, doesn't that mean they can be handled case insensitively and it doesn't matter?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    EPUB33Issues fixed in the EPUB 3.3 revisionSpec-EPUB3The issue affects the core EPUB 3.X Recommendation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions