CARVIEW |
Select Language
HTTP/2 200
date: Sun, 12 Oct 2025 02:36:31 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-repository-download: git clone https://github.com/w3c/epubcheck.git
etag: W/"cf63267358c6c4faed07bf6566d6d15e"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com/ copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=DU%2FHGx2A8lIWQvEWlbEQpiWZCWUhmc5yi5z0ACHtQ3vzm3dJ1X4rjHb%2BcBVGB92gvUSe47IKWfcO5ufv%2BwsaF%2BjBb3BlohDgEGU5W3nTcuzMi2W5BeTsefPiX1aYpeAS4r1xfs2EQQ2gVlTF3KAOXf8dCIhcpd6gMzy2TBVuIbYob3jMFLkArovG3rGV0Roai6KduI4xKgin2tb67x0Wx2%2BeAI5GnYxYoOve95zyOkNBskSa4gLhtDapEBfJiGvkc7IDJsHkdeELQbfuPYFwfQ%3D%3D--FbbFfaicaPWOlg%2FX--Plh%2BB9dQqNPQ%2BhlJPiOlxA%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.769084874.1760236591; Path=/; Domain=github.com; Expires=Mon, 12 Oct 2026 02:36:31 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Mon, 12 Oct 2026 02:36:31 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: D9F0:8729A:941C45:C3387A:68EB142F
feat: new check (OPF-092) for language tags well-formedness · w3c/epubcheck@52ebd80 · GitHub
Copy file name to clipboardExpand all lines: src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java
Copy file name to clipboardExpand all lines: src/main/java/com/adobe/epubcheck/messages/MessageId.java
Copy file name to clipboardExpand all lines: src/main/java/com/adobe/epubcheck/opf/OPFHandler30.java
Copy file name to clipboardExpand all lines: src/main/resources/com/adobe/epubcheck/messages/MessageBundle.properties
Copy file name to clipboardExpand all lines: src/main/resources/com/adobe/epubcheck/schema/30/package-30.rnc
Copy file name to clipboard
Copy file name to clipboard
Copy file name to clipboard
Copy file name to clipboard
Copy file name to clipboard
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 420
Commit 52ebd80
committed
feat: new check (OPF-092) for language tags well-formedness
In Package Document, the language tags appearing in the elements or attributes below
MUST be well-formed according to BCP47:
- `xml:lang` attribute
- `hreflang` attribute
- `dc:language` element
For these values:
- the schema now only do basic datatype check (string, non-empty value when relevant)
- the well-formedness is checked with Java’s Locale.Builder#setLanguageTag() API
- a new check (OPF-092) is reported when an ill-formed value is found
See https://docs.oracle.com/javase/8/docs/api/java/util/Locale.Builder.html#setLanguageTag-java.lang.String-
Fix #1221
Close #7021 parent e39a801 commit 52ebd80Copy full SHA for 52ebd80
File tree
Expand file treeCollapse file tree
12 files changed
+174
-3
lines changedFilter options
- src
- main
- java/com/adobe/epubcheck
- messages
- opf
- resources/com/adobe/epubcheck
- messages
- schema/30
- test/resources/epub3
- files/package-document
Expand file treeCollapse file tree
12 files changed
+174
-3
lines changedCollapse file: src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java
src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java
Copy file name to clipboardExpand all lines: src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java+1Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
273 | 273 |
| |
274 | 274 |
| |
275 | 275 |
| |
| 276 | + | |
276 | 277 |
| |
277 | 278 |
| |
278 | 279 |
| |
|
Collapse file: src/main/java/com/adobe/epubcheck/messages/MessageId.java
src/main/java/com/adobe/epubcheck/messages/MessageId.java
Copy file name to clipboardExpand all lines: src/main/java/com/adobe/epubcheck/messages/MessageId.java+1Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
267 | 267 |
| |
268 | 268 |
| |
269 | 269 |
| |
| 270 | + | |
270 | 271 |
| |
271 | 272 |
| |
272 | 273 |
| |
|
Collapse file: src/main/java/com/adobe/epubcheck/opf/OPFHandler30.java
src/main/java/com/adobe/epubcheck/opf/OPFHandler30.java
Copy file name to clipboardExpand all lines: src/main/java/com/adobe/epubcheck/opf/OPFHandler30.java+37Lines changed: 37 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
50 | 50 |
| |
51 | 51 |
| |
52 | 52 |
| |
| 53 | + | |
53 | 54 |
| |
| 55 | + | |
54 | 56 |
| |
55 | 57 |
| |
56 | 58 |
| |
| |||
166 | 168 |
| |
167 | 169 |
| |
168 | 170 |
| |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
169 | 177 |
| |
170 | 178 |
| |
171 | 179 |
| |
| |||
469 | 477 |
| |
470 | 478 |
| |
471 | 479 |
| |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
472 | 485 |
| |
473 | 486 |
| |
474 | 487 |
| |
| |||
566 | 579 |
| |
567 | 580 |
| |
568 | 581 |
| |
| 582 | + | |
569 | 583 |
| |
570 | 584 |
| |
571 | 585 |
| |
572 | 586 |
| |
573 | 587 |
| |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
574 | 598 |
| |
575 | 599 |
| |
576 | 600 |
| |
| |||
592 | 616 |
| |
593 | 617 |
| |
594 | 618 |
| |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
595 | 632 |
| |
596 | 633 |
| |
597 | 634 |
| |
|
Collapse file: src/main/resources/com/adobe/epubcheck/messages/MessageBundle.properties
src/main/resources/com/adobe/epubcheck/messages/MessageBundle.properties
Copy file name to clipboardExpand all lines: src/main/resources/com/adobe/epubcheck/messages/MessageBundle.properties+1Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
282 | 282 |
| |
283 | 283 |
| |
284 | 284 |
| |
| 285 | + | |
285 | 286 |
| |
286 | 287 |
| |
287 | 288 |
| |
|
Collapse file: src/main/resources/com/adobe/epubcheck/schema/30/package-30.rnc
src/main/resources/com/adobe/epubcheck/schema/30/package-30.rnc
Copy file name to clipboardExpand all lines: src/main/resources/com/adobe/epubcheck/schema/30/package-30.rnc+2-2Lines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
36 | 36 |
| |
37 | 37 |
| |
38 | 38 |
| |
39 |
| - | |
| 39 | + | |
40 | 40 |
| |
41 | 41 |
| |
42 | 42 |
| |
| |||
129 | 129 |
| |
130 | 130 |
| |
131 | 131 |
| |
132 |
| - | |
| 132 | + | |
133 | 133 |
|
Collapse file: src/test/resources/epub3/files/package-document/attr-lang-not-well-formed-error.opf
src/test/resources/epub3/files/package-document/attr-lang-not-well-formed-error.opf
Copy file name to clipboard+17Lines changed: 17 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + |
Collapse file: src/test/resources/epub3/files/package-document/attr-lang-whitespace-error.opf
src/test/resources/epub3/files/package-document/attr-lang-whitespace-error.opf
Copy file name to clipboard+17Lines changed: 17 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + |
Collapse file: src/test/resources/epub3/files/package-document/link-hreflang-not-well-formed-error.opf
src/test/resources/epub3/files/package-document/link-hreflang-not-well-formed-error.opf
Copy file name to clipboard+17Lines changed: 17 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + |
Collapse file: src/test/resources/epub3/files/package-document/link-hreflang-whitespace-error.opf
src/test/resources/epub3/files/package-document/link-hreflang-whitespace-error.opf
Copy file name to clipboard+17Lines changed: 17 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + |
Collapse file: src/test/resources/epub3/files/package-document/metadata-language-empty-error.opf
src/test/resources/epub3/files/package-document/metadata-language-empty-error.opf
Copy file name to clipboard+16Lines changed: 16 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + |
You can’t perform that action at this time.
0 commit comments