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

Allow the latest recommended SVG for content documents #893

Closed
mattgarrish opened this issue Nov 12, 2018 · 3 comments
Closed

Allow the latest recommended SVG for content documents #893

mattgarrish opened this issue Nov 12, 2018 · 3 comments
Assignees
Labels
spec: EPUB 3.2 Impacting the support of EPUB 3.2 status: completed Work completed, can be closed

Comments

@mattgarrish
Copy link
Member

The Content Documents specification uses an auto-updating reference to the latest W3C version of SVG so that changes can be immediately reflected in validation. Currently this is SVG 2.

Note that part of this change is that the previous restrictions on the use of animation elements and events is removed.

Reference: https://w3c.github.io/publ-epub-revision/epub32/spec/epub-contentdocs.html#sec-overview-relations-svg

@mattgarrish mattgarrish added spec: EPUB 3.2 Impacting the support of EPUB 3.2 status: accepted Ready to be further processed labels Nov 12, 2018
@rdeltour rdeltour modified the milestone: 4.2.0-alpha-1 Jan 12, 2019
@rdeltour rdeltour added status: in progress The issue is being implemented by the development team status: has PR The issue is being processed in a pull request and removed status: accepted Ready to be further processed status: in progress The issue is being implemented by the development team labels Jan 12, 2019
@rdeltour rdeltour added this to the 4.2.0-alpha-1 milestone Jan 12, 2019
@rdeltour
Copy link
Member

The schema update relies on the SVG schemas included in the Nu Html Checker, which is not strictly checking SVG 2, but adopts a more pragmatic approach ("There are otherwise no plans to add blanket support for SVG2 as a whole", see validator/validator#564).

I think we should follow the Nu Html Checker here (to the extent EPUBCheck can, i.e. currently limited to the schemas). This is what is done in #934.

@rdeltour rdeltour self-assigned this Jan 12, 2019
@rdeltour rdeltour added status: in discussion The issue is being discussed by the development team and removed status: has PR The issue is being processed in a pull request labels Jan 12, 2019
@rdeltour rdeltour removed this from the 4.2.0-alpha-1 milestone Jan 12, 2019
rdeltour added a commit that referenced this issue Jan 12, 2019
This is a major schema update, to reuse the latest schemas from
the Nu Html Checker, with the following tweaks:

- adapt the integration in schema drivers
- replace the Nu Html Checker's pluggable datatype library with
  EPUBCheck’s more limited static RelaxNG datatypes
- add EPUB-specific content model extensions

Changes specific to XHTML:

- keep allowing missing `title` in the `head` element
- but report missing `title` as a WARNING (with a Schematron check)
- keep allowing `meta http-equiv` in encoding declaration state
  (allowed in W3C but forbidden in WHATWG's HTML standard)
- keep allowing the `border` attribute on `table` elements
  (allowed in W3C but forbidden in WHATWG's HTML standard)
- report `aria-describedat` as a schema error
- add tests for several obsolete features which appeared in previous
  test content (`time/@pubdate`, `iframe/@seamless`, `keygen`, `menu`,
  `dropzone`, `contextmenu`, in-body `style`, `style/@scoped`)

Changes specific to MathML:

- use the schemas from Nu Html Checker, which are based on older
  MathML schema but bring some specific tweaks.
- re-add the changes from the newer MathML 3.0 (2nd edition) schemas
- improve the schema checks of EPUB-specific `annotation-xml`
  restrictions (notably check the combination of the `name` and
  `encoding` attributes)

Changes specific to SVG:

- use the schemas from Nu Html Checker, which are based SVG 1.1

Changes specific to Navigation Documents:

- do not check the presence of mandatory headings on `nav` elements
  with no `epub:type` attribute

Fixes #892
Fixes #779
Fixes #896
Fixes (partially?) #893
Closes #448
rdeltour added a commit that referenced this issue Jan 12, 2019
This is a major schema update, to reuse the latest schemas from
the Nu Html Checker, with the following tweaks:

- adapt the integration in schema drivers
- replace the Nu Html Checker's pluggable datatype library with
  EPUBCheck’s more limited static RelaxNG datatypes
- add EPUB-specific content model extensions

Changes specific to XHTML:

- keep allowing missing `title` in the `head` element
- but report missing `title` as a WARNING (with a Schematron check)
- keep allowing `meta http-equiv` in encoding declaration state
  (allowed in W3C but forbidden in WHATWG's HTML standard)
- keep allowing the `border` attribute on `table` elements
  (allowed in W3C but forbidden in WHATWG's HTML standard)
- report `aria-describedat` as a schema error
- add tests for several obsolete features which appeared in previous
  test content (`time/@pubdate`, `iframe/@seamless`, `keygen`, `menu`,
  `dropzone`, `contextmenu`, in-body `style`, `style/@scoped`)

Changes specific to MathML:

- use the schemas from Nu Html Checker, which are based on older
  MathML schema but bring some specific tweaks.
- re-add the changes from the newer MathML 3.0 (2nd edition) schemas
- improve the schema checks of EPUB-specific `annotation-xml`
  restrictions (notably check the combination of the `name` and
  `encoding` attributes)

Changes specific to SVG:

- use the schemas from Nu Html Checker, which are based SVG 1.1

Changes specific to Navigation Documents:

- do not check the presence of mandatory headings on `nav` elements
  with no `epub:type` attribute

Fixes #892
Fixes #779
Fixes #896
Fixes (partially?) #893
Closes #448
rdeltour added a commit that referenced this issue Jan 12, 2019
This is a major schema update, to reuse the latest schemas from
the Nu Html Checker, with the following tweaks:

- adapt the integration in schema drivers
- replace the Nu Html Checker's pluggable datatype library with
  EPUBCheck’s more limited static RelaxNG datatypes
- add EPUB-specific content model extensions

Changes specific to XHTML:

- keep allowing missing `title` in the `head` element
- but report missing `title` as a WARNING (with a Schematron check)
- keep allowing `meta http-equiv` in encoding declaration state
  (allowed in W3C but forbidden in WHATWG's HTML standard)
- keep allowing the `border` attribute on `table` elements
  (allowed in W3C but forbidden in WHATWG's HTML standard)
- report `aria-describedat` as a schema error
- add tests for several obsolete features which appeared in previous
  test content (`time/@pubdate`, `iframe/@seamless`, `keygen`, `menu`,
  `dropzone`, `contextmenu`, in-body `style`, `style/@scoped`)

Changes specific to MathML:

- use the schemas from Nu Html Checker, which are based on older
  MathML schema but bring some specific tweaks.
- re-add the changes from the newer MathML 3.0 (2nd edition) schemas
- improve the schema checks of EPUB-specific `annotation-xml`
  restrictions (notably check the combination of the `name` and
  `encoding` attributes)

Changes specific to SVG:

- use the schemas from Nu Html Checker, which are based SVG 1.1

Changes specific to Navigation Documents:

- do not check the presence of mandatory headings on `nav` elements
  with no `epub:type` attribute

Fixes #892
Fixes #779
Fixes #896
Fixes (partially?) #893
Closes #448
@mattgarrish
Copy link
Member Author

And as noted in w3c/epub-specs#1219 the reference is technically still 1.1. I wasn't looking closely at the status of the linked SVG document, which is still only a CR.

But in any case, I agree we should follow the model adapted by the nu checker.

@rdeltour
Copy link
Member

OK, closing the issue for now. We can reopen ad hoc issues if user complain that valid SVG content is rejected by EPUBCheck.

@rdeltour rdeltour added status: completed Work completed, can be closed and removed status: in discussion The issue is being discussed by the development team labels Jan 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
spec: EPUB 3.2 Impacting the support of EPUB 3.2 status: completed Work completed, can be closed
Projects
None yet
Development

No branches or pull requests

2 participants