-
Notifications
You must be signed in to change notification settings - Fork 408
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
RELAX NG schema for SVG #779
Comments
Thanks for taking a closer look at all the SVG schemas and issues, dear Makoto san. This looks like a big field which needs improvements and @rdeltour also put this on the refactoring roadmap. In the follow up section "HTML validation" he also proposes switching the HTML validation engine, which could also be used to validate SVG then. I will label this as "epub-3.1" for further discussion. |
If there are other schema issues, please let me know. |
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
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
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
Done in #934, will be released in v4.2.0. |
Before the publication of EPUB 3.0, I volunteered to create a schema for SVG 1.1 (Second edition). At that time, there were two sets of RELAX NG schema for SVG 1.1 (First edition). However, there are several syntactical changes between the first edition and the second edition.
Rather than trying to update existing first-edition RNG schemas, I decided to create a RNG schema by automatic conversion from the second-edition DTD. This is the origin of svg11-flat.rnc, which is used by epubcheck. Obviously, this automatically generated RNG schema is not modularized and thus not easy to maintain.
Validator.nu uses a set of RELAX NG schema for SVG. I suppose that it captures widely-used features of SVG 1.1 (Second edition) and sometimes SVG2 features. If we adopt Validator.nu for the validation of content documents, schema maintenance will be a lot easier.
The text was updated successfully, but these errors were encountered: