Consider the two documents attached to this message.

If you attempt to validate testpipe.xml with xproc.rnc, it validates
just fine:

$ jing -i -c http://tests.xproc.org/schema/xproc.rnc /tmp/testpipe.xml 

If you attempt to validate test.xml, which contains a copy of
testpipe.xml as the content of the t:pipeline element, using the
testsuite.rnc grammar, it doesn't validate:

$ jing -i -c http://tests.xproc.org/schema/testsuite.rnc /tmp/test.xml 
/tmp/test.xml:43:41: error: element "root2" not allowed in this context
/tmp/test.xml:43:49: error: element "root3" not allowed in this context

And finally, if you look at the pattern that matches t:pipeline,
you'll find:

InlinePipeline =
   element t:pipeline {
      grammar {
         include "xproc.rnc" 
      }
   }

Why on earth does the pipeline validate against xproc.rnc when it's
standing alone, but not when it's nested inside a t:pipeline?

MSV gives the equivalent error, so it seems to be a nuance of RELAX NG
of which I've been hitherto unaware.

Someone got a clue-by-four handy?

                                        Be seeing you,
                                          norm

Attachment: test.xml
Description: Binary data

Attachment: testpipe.xml
Description: Binary data


-- 
Norman Walsh <[email protected]> | The First Amendment is often
http://nwalsh.com/            | inconvenient. But that is besides the
                              | point. Inconvenience does not absolve
                              | the government of its obligation to
                              | tolerate speech.--Justice Anthony
                              | Kennedy, in 91-155

Attachment: pgpnQUnf7Qu7l.pgp
Description: PGP signature

Reply via email to