
13 months ago I posted here then rng-users 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. --Paul