-
Notifications
You must be signed in to change notification settings - Fork 95
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
Recursive XInclude support and some automatix fixups for translations #194
Conversation
Seems like me merging the other filter PR fixed a bunch of the broken languages, nice. The other thing, is that it seems that this might be a libxml 2.10 issue only, as @SakiTakamachi was able to build it fine using libxml 2.9 |
I can push a new change that includes looping on The residual failed XInclude thing (this PR), is unrelated to libxml version. |
Apparently the recusrive Xinclude affects version prior to libxml 2.11 quite randomly :| But this looks fine to me, so feel free to merge. |
If I understand this patch correctly, it adds empty |
Pushed a new change, an |
Yes, of course. And
That is, to make XInclude failures a hard error on translations as they are on |
@cmb69 you are a Windows user? Can you test if this updated PR resolve the building failure with or without updating libxml local version? |
Yeah, with this patch I can build doc-en where it would without it. However, I still don't think that making excessive use of xincludes is good for maintainance reasons, because you are not aware if any sources you are modifying are xincluded from somewhere else, and it's probably almost impossible to find out. So you make changes to the sources, which are then reflected on other pages which may not be supposed to also show the new information. It get's worse with nested xincludes. |
Sorry for the push after the review. I pinged all people of # 4163 to see if this resolves the two issues in one go. If yes, this will supersede php/doc-en#4214 (but also delay #187). This passes all langs on CI (besides doc-it), but let's see if passes on translators machines as well. One thing I noted is there is no emails of build breakage in this case. There is none on build machine? Previously I would inspect http://doc.php.net/logs/ , but it does not work anymore after server migration. |
If XInclude infrastructure becomes too complex, #183 (comment) may be a solution, as it makes having small to big XML Entities way easier than it is now. Yet, I linked into the specific comment where I wrote about how Manual PHP is already at the limits of libxml capacity. Another way is using an specific convention for XInclude targets of manual, that will make more easily visible that some parts of manual are expected to be replicated. |
Merged. Let me know if are any problems. This was a semi-random problem, after all. Tested few minutes ago:
XInclude curiosities: |
This is a quick fix for the newfangled recursive XInclude usage in manual. It runs
xinclude()
in loop for libxml versions < 2.11, and does a few automatic fixups, to avoid breaking all translations at almost any new XInclude usage.Fix doc-en and almost all languages in my machine. Fails are: doc-tr because it references an xml:id "filter.filters.sanitize" on language-snippets.ent; same on doc-uk. doc-it and doc-ro seems to be effective dead (more than six months without local activity, files several years old)