13 months ago I posted here for help on XHTML 2 validation using the
RNG schemas.  I am revisiting the problem and running into a snap that
has me quite perplexed.

I'm using the experimental schemas located here:

  http://www.w3.org/People/mimasa/test/schemas/rng/xhtml2.rng

Everything is fine when I don't use any form controls:

  <?xml version="1.0" encoding="UTF-8"?>
  <?oxygen  
RNGSchema="http://www.w3.org/People/mimasa/test/schemas/rng/xhtml2.rng";   
    type="xml"?>
  <html xmlns="http://www.w3.org/2002/06/xhtml2/";>
      <head>
          <title>Hello World</title>
      </head>
      <body>
          <p>Hello World</p>
      </body>
  </html>

This validates in both oXygen 8.2 and xmllint.  However, any attempt
to introduce a form element leaves me in an "Unfinished element"
status on the body:

  <?xml version="1.0" encoding="UTF-8"?>
  <?oxygen
RNGSchema="http://www.w3.org/People/mimasa/test/schemas/rng/xhtml2.rng"; 
    type="xml"?>
  <html xmlns="http://www.w3.org/2002/06/xhtml2/"; 
        xmlns:q="http://foo.org";>
    <head>
        <title>Hello World</title>
        <model>
            <instance>
                <q:x/>
            </instance>
        </model>
    </head>
    <body>
        <input ref="q:x">
            <label>x</label>
        </input>
    </body>
  </html>

oXygen 8.2 reports "E [oNVDL] unfinished element" on the closing
</body>.  xmllint reports:

  Untitled4.xml:13: element input: Relax-NG validity 
  error : Element body has extra content: input

Wrapping the <input> in a <div> simply moves the error to the <div>. 
I spent a couple of hours hacking around in the pile of schemas,
trying to figure out what was missing.

I downloaded the schemas from the July 2006 working draft of XHTML 2:

  http://www.w3.org/TR/xhtml2/xhtml2.html

But these don't even work out-of-the-box.  I supplied the 2 missing
RNGs (xforms.rng and xforms-nons-11.rng) and wound up with the same error.

I'd be interested to find an XHTML 2 example that includes form
elements *and* validates against some known schema, RNG or otherwise.

And yes, I know XHTML2 doesn't work in browsers.  This is for the
early stage of an XProc pipeline, with a later stage that converts to
XHTML 1.

Reply via email to