-
-
Notifications
You must be signed in to change notification settings - Fork 338
Updates to fix SCons/Docbook schema to work with lxml>5.0 and newer pythons (>=3.14). Fixes created by using Claude Ai #4787
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
Conversation
…ythons (>=3.14). Fixes created by using Claude Ai
| # it's been a troublesome component in the past. | ||
| # Skip lxml for win32 as no tests which require it currently pass on win32 | ||
| lxml<5; python_version < '3.13' and sys_platform != 'win32' | ||
| lxml>=5.0.0; python_version >= '3.13' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the Windows issue resolved, then?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure. I'll give it a try later.
| <xs:element ref="linespecific.class"/> | ||
| <xs:element ref="informal.class"/> | ||
| <xs:element ref="formal.class"/> | ||
| <xs:element ref="sconstruct"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it okay to just remove these here? I realize this is mentioned in the "Summary of changes", but I don't recall seeing these in duplicate places when I was digging earlier.
| <xs:choice> | ||
| <xs:element ref="arguments"/> | ||
| <xs:element ref="summary"/> | ||
| <xs:element ref="sets"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Again... sets and uses are scons things, was it okay to just remove?
|
I realize nobody currently working on the project uses these, but can the parallel setups in I have no idea which xmlmind is supposed to match "current", as the current version is 10.x - that is, don't know if '5' is a legacy version for a specific older release, or was at its time intended to be the "newest". |
Correction - the current version is 11.0 (personal edition is free to individuals and open source projects) |
Assuming those are just copies, no reason not to.. I'll do it today. |
|
Nevermind - erroneous comment removed. |
Had me worried for a moment. So looks good? |
Finally tried it, and "it builds". Or more interstingly, "it validates", Python 3.13 and lxml 6.0.2. For your next trick (separate PR, of course), feel like eliminating some of the doc build warnings via similar queries? |
Sure. Probably won't hurt to try.. |
Existing Docbook/SCons schema was failing with non-determinant errors.
Used Claude AI to find and fix the issues. Here's it's summary.
Summary of Changes
The fix involved two main components:
bin/SConsDoc.py)lxmlis not installedlxmldoc/xsd/dbpoolx.xsd:<xs:sequence><xs:choice minOccurs="0">wrapper patternsconstruct,scons_example,scons_example_file,scons_outputfrompara.mix(already inlinespecific.class)sets,usesfromtool.mixandscons_function.mix(already inlist.class)scons_function.mix(already insynop.class)summary.mixreference from summary elementdoc/xsd/dbhierx.xsd:refinline.char.mixgroup by removing the wrapper patternarticle.class(already innav.class)All changes maintain backward compatibility while making the schemas compliant with lxml 6.0's stricter validation rules for Python 3.13+.
Contributor Checklist:
CHANGES.txtandRELEASE.txt(and read theREADME.rst).