-
Notifications
You must be signed in to change notification settings - Fork 407
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
false positives due to locale settings #711
Comments
The following is my starter page-list (nav.xhtml):
And the following is source (content.opf):
And the following is a sample page break (title-page-i.xhtml#p01): P.S. So now i'm faced w/ a decision:
|
Actually, after commenting out edupub ( But it still makes me ponder over whether i should prefer using page-list feature or having no errors from epubcheck (choices in P.S. above). |
Getting the same in source code:
|
I can't reproduce here, and it was never reported before that Let's try to troubleshoot the issue!
|
I have determined that the issue disappears after changing the default locale of my Windows 7 user from Turkish to English: which means there is some kind of dependency on locale in epubcheck's or java's functioning during page-list validation, which breaks it (and possibly other features). I have updated the issue title to reflect this finding. P.S. I tried debugging epubcheck in a pristine setting: new user account, new workspace, new Eclipse project. To my surpise, it reported no errors on the same .epub. I was puzzled. I went back to the other account: tweaking PATH, JAVA_HOME, MVN_HOME, etc. had no effect. I was puzzled even more. There was no CLASSPATH set in either account. Eventually, the only difference between the 2 accounts that i could notice was that the original one was set up to use Turkish locale, and the new one was in English. After changing the original user account's locale from Turkish to English, epubcheck reported no errors on the same .epub (in cmd, & in cygwin):
P.P.S. Hopefully you guys can fix this, cause i wasted about 2 days on this, and (most importantly) of course epubcheck should produce the same validation results (fatals, errors, warnings, etc.) regardless of which locale the current computer user is set up to use (the only acceptable differences being l10n-related ones). |
Good catch! I can now reproduce the error, I'll try to work on a fix when time allows. |
Fixed in the source code. Thanks for the report! |
… default locale for the duration of the test that tests that the case transformations are indeed locale-independent. Better testing of fix for issue w3c#711.
…n appropriate default locale for the duration of the test (#712) * Improves Epub30CheckExpandedTest.testPageList() by actually setting a default locale for the duration of the test that tests that the case transformations are indeed locale-independent. Better testing of fix for issue #711. * Minor tweaks in comment wording. Perhaps configuring CI to run unit tests under random default locales or once in a while to run them under a number of different default locales is also worth considering (this could allow catching some similar issues proactively before they are reported by end-users).
It seems epubcheck is not handling page-lists as
https://idpf.github.io/a11y-guidelines/content/nav/pagelist.html
says it should.
I get the following even though i don't think i should:
ERROR(OPF-027): OEBPS/nav.xhtml(91,41): Undefined property: 'page-list'.
ERROR(NAV-003): OEBPS/content.opf(-1,-1): The Navigation Document must have a page list when content document(s) contain page breaks (epub:type="pagebreak").
And all of the examples with page-lists that i've found (such as childrens-literature.epub) also fail with these kinds of errors. I even tried changing type to EDUPUB, but that doesn't improve things (& i think it shouldn't be required to have a page-list in EPUB3 anyway).
Strangely, idpf.org validation says no errors on the same epubs, & it says it also uses epubcheck 4.0.1.
The text was updated successfully, but these errors were encountered: