Repository navigation
feat(doclang): add partial DocLang 0.8 support with multiple captions - #880
Merged
Merged
Conversation
Signed-off-by: Daniel Nguyen <danielnguyenh07@gmail.com>
Contributor
|
✅ DCO Check Passed Thanks @DanielNg0729, all your commits are properly signed off. 🎉 |
Contributor
Merge Protections🟢 All 2 merge protections satisfied — ready to merge. Show 2 satisfied protections🟢 Enforce conventional commitMake sure that we follow https://www.conventionalcommits.org/en/v1.0.0/
🟢 Require two reviewer for test updatesWhen test data is updated, we require two reviewers
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Member
Author
|
Hi Dr. @vagenas, I saw that Docling v0.8.0 has officially been released! |
DocLang 0.8 allows several captions in an element head. The serializer now writes all captions of a floating item there, instead of the first one in the head and the others as <text> next to it in a <group>. The deserializer reads all head captions, and still reads <text> siblings as captions, so that earlier output keeps loading. <track> is not supported yet: the deserializer skips it with a warning, instead of dropping its cues and leaking its chapter texts. The module docstrings state the support as partial. doclang 0.8 selects the schema by the declared version and warns when there is none. The test helpers validate documents without a version against _DOCLANG_VERSION. The data lint gets a dclx.version check that warns on a missing version, and fails validation on a declared version without schema rather than falling back to the latest one. Signed-off-by: Panos Vagenas <pva@zurich.ibm.com>
vagenas
approved these changes
Oct 20, 2026
dolfim-ibm
approved these changes
Oct 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi maintainers, this PR moves docling-core to DocLang 0.8. doclang 0.8.0 was released on 2026-10-15. It adds
<track>(doclang-project/doclang#175), whole-trackaudio/andvideo/parts inpack(), more than one<caption>in an element head, and version-specific validation.This is the first step for the
<track>support that we discussed in docling-project/docling#4752. I keep it separate, so that the<track>PR only adds the new element.Changes
pyproject.toml:doclang>=0.8,<0.9for the runtime dependency and thedclqextra, anddoclang[schematron-saxon]>=0.8,<0.9in thedevgroup.uv.lock: onlydoclangchanges (0.7.3 to 0.8.0)._DOCLANG_VERSIONis now"0.8". The serializer writes it wheninclude_version=True(the default), and.dclxarchives use it too.version="0.7"toversion="0.8":tests/data/doc/include_namespace_and_version.gt.dclg.xmltests/data/doc/deserialize_include_namespace_and_version.gt.dclg.xmlWhat does not change
DoclingDocumentmodel and its schema version (1.10.0). So no projector is necessary.versionattribute, so it still reads 0.7 documents. The test inputs that declareversion="0.7"stay as they are. doclang 0.8 still bundles the 0.7 schema, so they validate against it.