# # To make nxml-mode use this file, put something like # # # # # # in a file listed in emacs # # M-x customize-variable rng-schema-locating-files # # before the nxml-mode upstream schemas.xml one. # namespace nevow = "http://nevow.com/ns/nevow/0.1" include "/usr/share/emacs/site-lisp/nxml-mode/schema/xhtml.rnc" slot = element nevow:slot { attribute name {text}, Block.class*, Inline.class*, text*, invisible* } invisible = element nevow:invisible { Nevow.attrib, Block.class*, Inline.class*, text*, invisible*, slot*, # BAH. This is just one thing I hit against. # Can't use head.content here, as it would # make title mandatory. Also, should probably # have separate "bodyinvisible" and "headinvisible" # things that enforce what's inside of them. # And maybe do the same with Inline vs. Block so # you can't do

.. link* } attr = element nevow:attr { attribute name {text}, text*, invisible*, slot* } Nevow.attrib = attribute nevow:render { text }?, attribute nevow:data { text }?, attribute nevow:pattern { text }? Common.attrib &= Nevow.attrib title.attlist &= Nevow.attrib Nevow.class = slot | invisible | attr Block.class |= Nevow.class Inline.class |= Nevow.class head.content &= Nevow.class link.attlist &= Nevow.class