In the previous section, I created a new DTD to extend XHTML, and I put it to work in an XHTML document like this: <?xml version="1.0"?> <?xml-stylesheet type="text/css" href="ch17_19.css"?> <!DOCTYPE html SYSTEM "ch17_17.dtd"> <html xmlns="ch17_17.dtd" xml:lang="en" lang="en"> <head> <title> </title> </head> <body> <p> This text uses a new XHTML element for <underlinedredtext>emphasis</underlinedredtext>. </p> </body> </html> In this case, I declared a local DTD for private use with the SYSTEM keyword. You can also make your DTD public with the PUBLIC keyword, but to do that, you've got to create a formal public identifier (FPI). Here are the rules for FPIs:
You can put these rules to work, changing the previous example to indicate that the DTD we're using is publicly available, like this: Listing ch17_21.xml <?xml version="1.0"?> <?xml-stylesheet type="text/css" href="ch17_19.css"?> <!DOCTYPE html PUBLIC "-//starpowder//ELEMENTS XHTML-Custom 1.0//EN" "http://www.starpowder.com/DTDs/ch17_17.dtd"> <html xmlns="http://www.starpowder.com/DTDs/ch17_17.dtd" xml:lang="en" lang="en"> <head> <title> </title> </head> <body> <p> This text uses a new XHTML element for <underlinedredtext>emphasis</underlinedredtext>. </p> </body> </html> |