Creating a Custom XHTML Module <!ELEMENT %Recipe.prep.qname; (PCDATA| %Flow;)+ > <!ATTLIST %Recipe.prep.qname; %Common; %Recipe.ns.attrib; > <!-- end of recipe-1.mod --> 220 What's Next In this chapter we've completed the process of gathering the type of information we need to store in new elements, determining how that information will be used within the document, and planning the content model of elements that should be created. We then took that abstract definition and constructed both a QNames and a Declaration sub-module that parameterize and define elements and attributes to be used to hold this data. Next, in Chapter 16, "Combining Custom Modules with XHTML," we'll take the QNames and Dec- laration sub-modules we created here and incorporate them into a larger DTD that governs a new XHTML Family Language. Using that DTD, we'll create new Web pages that are fully interoperable on today's Web.