XML Document Structure 111 Next, we have the case of the PUBLIC identifier. This is used in formal environ- ments to declare that a given DTD is available to the public for shared use. Recall that XMLs true power as a syntax relates to developing languages that permit exchange of structured data between applications and across company boundaries. The syntax is a little different: <!DOCTYPE RootElement PUBLIC PublicID URI> The new aspect here is the notion of a PublicID, which is a slightly involved for- matted string that identifies the source of the DTD whose path follows as the URI. This is sometimes known as the Formal Public Identifier (FPI). For example, I was part of a team that developed (Astronomical) Instrument Markup Language (AIML, IML) for NASA Goddard Space Flight Center.5 We wanted our DTD to be available to other astronomers. Our document type declara- tion (with a root element named Instrument) was: <!DOCTYPE Instrument PUBLIC "-//NASA//Instrument Markup Language 0.2//EN" "http://pioneer.gsfc.nasa.gov/public/iml/iml.dtd"> In this case the PublicID is: "-//NASA//Instrument Markup Language 0.2//EN" The URI that locates the DTD is: http://pioneer.gsfc.nasa.gov/public/iml/iml.dtd Lets decompose the PublicID. The leading hyphen indicates that NASA is not a standards body. If it were, a plus sign would replace the hyphen, except if the standards body were ISO, in which case the string ISO would appear. Next we have the name of the organization responsible for the DTD (NASA, in this case), surrounded with double slashes, then a short free-text description of the DTD (Instrument Markup Language 0.2), double slashes, and a two-character lan- guage identifier (EN for English, in this case). Since the XML prolog is the combination of the XML declaration and the docu- ment type declaration, for our NASA example the complete prolog is: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE Instrument PUBLIC "-//NASA//Instrument Markup Language 0.2//EN" "http://pioneer.gsfc.nasa.gov/public/iml/iml.dtd"> 5. Thanks to NASA and Commerce One project participants, Julie Breed, Troy Ames, Carl Hostetter, Rick Shafer, Dave Fout, Lisa Koons, Craig Warsaw, Melissa Hess, Ken Wootton, Steve Clark, Randy Wilke, and Lynne Case, among others. sall03.fm Page 111 Wednesday, April 24, 2002 11:34 AM