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