2006/3/1, elliss Stuart Ellis fedora-docs-commits@redhat.com:
Author: elliss
Update of /cvs/docs/install-guide/en
- Updated files with entity declarations to work with XIncludes.
Thank you! I will notify my dear IG-zh_CN contributer Xiaofan.Yang who is working on this ASAP :)
-- bbbush ^_^
On Wed, 2006-03-01 at 09:52 +0800, Yuan Yijun wrote:
2006/3/1, elliss Stuart Ellis fedora-docs-commits@redhat.com:
Author: elliss
Update of /cvs/docs/install-guide/en
- Updated files with entity declarations to work with XIncludes.
Thank you! I will notify my dear IG-zh_CN contributer Xiaofan.Yang who is working on this ASAP :)
OK. Just to be clear - it won't successfully build yet, although this reduces the number of errors a bit :). I discussed this with Paul on IRC this evening, and there is a bit more to be done to get all of the entities that we use working with XIncludes.
On Wed, 2006-03-01 at 02:06 +0000, Stuart Ellis wrote:
On Wed, 2006-03-01 at 09:52 +0800, Yuan Yijun wrote:
2006/3/1, elliss Stuart Ellis fedora-docs-commits@redhat.com:
Author: elliss
Update of /cvs/docs/install-guide/en
- Updated files with entity declarations to work with XIncludes.
Thank you! I will notify my dear IG-zh_CN contributer Xiaofan.Yang who is working on this ASAP :)
OK. Just to be clear - it won't successfully build yet, although this reduces the number of errors a bit :). I discussed this with Paul on IRC this evening, and there is a bit more to be done to get all of the entities that we use working with XIncludes.
Something interesting that other people might benefit from as well if they're working on larger docs... Now that we're doing XInclude, recall that each individual XML file is validated before it's included in the larger "infoset." That means that each file must, on its own, be valid DocBook XML.
There are a couple things you can do to help your document validate, and which also help you out:
1. Make sure the root-level element in the <!DOCTYPE> declaration matches that in your file. For the parent file, this might be "book" or "article," but for the other XML files, it will almost certainly be different, probably "preface," "section," or "glossary." If you do this correctly, you will find that Emacs, Vim and other good document editors will have a much easier time dealing with automatic tagging and so forth. (In other words, you're not cheating or fooling the system any longer, you're working the system correctly.)
2. If you use an entity in an XML file, that entity must be present in that document's DTD, either because you've included it manually with a declaration, or because it exists in the global entities file in docs-common/common/entities. If you XInclude another level, or even if you include some XML snippet through a parsed entity like &BUG-REPORTING;, the requirement doesn't change. That snippet can't include any entities the XIncluded file doesn't understand.
This presents a bit of a problem because, for example, the &BUG-REPORTING; file "bugreporting-en.xml" has a reference to the parsed entity &DOCID; in it. That's well and good, but the "fedora-install-guide-intro.xml" file has no knowledge of the &DOCID; entity, which is *only* declared in the top-level "fedora-install-guide.xml" file. So the only alternative right now is to put copies in both files, which sucks from a maintenance point of view.
That's why I just made a suggestion that we incorporate a slight improvement to the current entity generation scheme, where a local entities file is automatically merged with the common entities file from docs-common, to generate a complete set of entities for each document at build time. Since the local entities can simply follow the DTD Tommy hsa so helpfully provided, merging should be a snap, the XML for the entities fits right into the translation schema we already use, and Life Will Be Good.
Stay tuned for more.
So I did these things and it builds OK for en. But "make xml-zh_CN" segfaults. What should I do now? :(
-- bbbush ^_^
On Wed, 2006-03-01 at 21:38 +0800, Yuan Yijun wrote:
So I did these things and it builds OK for en. But "make xml-zh_CN" segfaults. What should I do now? :(
This is why I think we're going to need to handle local entities along with other translatable XML files. Otherwise there's no way to make translations build automatically. We want all this to happen transparently when we have good PO files. Tommy is on the case, I expect we'll hear something from him today.