[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: =?iso-8859-15?Q?Re:_[docbook-apps]_validating_and_transforming_a_simpl?==?iso-8859-15?Q?e_docbook5_file_in_fedora_linux?=
Hi Robert, > [... intro pruned ...] > > first, here's my incredibly trivial test.db5: > > <?xml version="1.0"?> > <book xmlns="http://docbook.org/ns/docbook" version="5.0"> > <info> > <title>My book title</title> > <subtitle>My subtitle</subtitle> > </info> > </book> > > so far, so good? It seems valid. :-) > and, based on my reading so far (just getting > started), there's nothing i can add to associate that file with a > particular relaxng schema is there? equivalent to a DTD > specification? Right, there is no DOCTYPE, namespace, or anything similar for RELAX NG. Some tools insert a processing instruction (like the oXygen XML editor) but as far as I know, it is not a common procedure. > next, i can dig into my docbook5-schemas package to see the files: > ... > /usr/share/xml/docbook5/schema/rng > /usr/share/xml/docbook5/schema/rng/5.0 > /usr/share/xml/docbook5/schema/rng/5.0/catalog.xml > /usr/share/xml/docbook5/schema/rng/5.0/docbook.rnc > /usr/share/xml/docbook5/schema/rng/5.0/docbook.rng > /usr/share/xml/docbook5/schema/rng/5.0/docbookxi.rnc > /usr/share/xml/docbook5/schema/rng/5.0/docbookxi.rng > ... > > if i just want to validate that file against the relaxng schema with > xmllint, i have to *explicitly* list the schema file as follows, > correct? Yes, that's correct. > $ xmllint --relaxng /usr/share/xml/docbook5/schema/rng/5.0/docbook.rng test.db5 > <?xml version="1.0"?> > <book xmlns="http://docbook.org/ns/docbook" version="5.0"> > <info> > <title>My book title</title> > <subtitle>My subtitle</subtitle> > </info> > </book> > test.db5 validates I'm not sure about the RELAX NG support in xmllint. Last time I tried to validate a DocBook5 document with xmllint I had some problems. Maybe your file is a very simple case for xmllint. For this reason, check your documents with Jing too. > any shortcuts for that? as in (like i asked before) incorporating a > reference to the schema in the file itself? Not that I'm aware of any. (Of course, you can always "invent" some magic with processing instruction or the like, but I skip this.) > and finally, to generate the HTML, i can use the handy-dandy "xmlto" > utility but i have to explicitly skip validation since the underlying > xsltproc program that will be called can't validate relaxng. > > [...] I would call/run xsltproc directly. > and that seems to work. so, to summarize (and let me know if i'm > out to lunch here): > > 1) my test.db5 file is an adequate example of docbook5 input. Yes, it's correct. > 2) if i want to validate against a relaxng schema with xmllint, i > *must* explicitly do it as i did above, since db5 doesn't support(?) > adding an internal reference to that kind of schema, correct? It is not DocBook5, it is a "concept" from RELAX NG. > 3) at this time, actual processing utilities may not have relaxng > support so it's wise to separate the validation step from the > processing step, as i did above. With "processing step" you mean transformation? In that case, it is not a matter of wise or not. Normally you do (or should do) always validation and after this step, you transform your document. A tool could combine these steps (and some actually do), but internally, it works this way (first validation, second transformation). > any comments on the above? simplifications? blatant oversights? It makes sense. :) I would recommend to write a Makefile to simplify your tasks. Normally this makes it easier: you don't have to memorize all the command line tools and options. ;) > p.s. for no good reason, i want to clarify these steps so i can write > a one-page wiki entry on how to get started playing with docbook5 on > fedora linux. Sounds good. :-) Tom
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]