Пространства имен и схемы являются ортогональными в RELAX NG, тогда как они тесно связаны в XML-схеме. Если вы хотите просто проверить, что ваши элементы находятся в пространстве имен XHTML, вы можете настроить правило следующим образом:
htmlElement = element xhtml:* { (attribute * {text} | text | htmlElement)* }
в тех же строках, что и определение любого элемента выше. Но если вы действительно хотите проверить содержимое как XHTML, вам следует использовать схему RELAX NG для XHTML, включить ее (есть несколько начальных точек, в зависимости от того, хотите ли вы строгий XHTML 1.0 и т. Д.), А затем сослаться на его шаблон элемент HTML или любой другой элемент (ы), который вы хотите. Когда вы включаете полную схему в вашу собственную схему, вам нужно сказать «include» blahblah {start =}, чтобы переопределить собственный начальный символ включенной схемы.