📄 0319-0321.html
字号:
<!DOCTYPE HTML PUBLIC "html.dtd"><HTML><HEAD><TITLE>Presenting XML:Resolution of the XML Specification:EarthWeb Inc.-</TITLE><META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"><SCRIPT><!--function displayWindow(url, width, height) { var Win = window.open(url,"displayWindow",'width=' + width +',height=' + height + ',resizable=1,scrollbars=yes');}//--></SCRIPT></HEAD><BODY BGCOLOR="#FFFFFF" VLINK="#DD0000" TEXT="#000000" LINK="#DD0000" ALINK="#FF0000"><TD WIDTH="540" VALIGN="TOP"><!-- <CENTER><TABLE><TR><TD><FORM METHOD="GET" ACTION="http://search.itknowledge.com/excite/cgi-bin/AT-foldocsearch.cgi"><INPUT NAME="search" SIZE="20" VALUE=""><BR><CENTER><INPUT NAME="searchButton" TYPE="submit" VALUE="Glossary Search"></CENTER><INPUT NAME="source" TYPE="hidden" VALUE="local" CHECKED> <INPUT NAME="bltext" TYPE="hidden" VALUE="Back to Search"><INPUT NAME="sp" TYPE="hidden" VALUE="sp"></FORM></TD><TD><IMG SRC="http://www.itknowledge.com/images/dotclear.gif" WIDTH="15" HEIGHT="1"></TD><TD><FORM METHOD="POST" ACTION="http://search.itknowledge.com/excite/cgi-bin/AT-subscriptionsearch.cgi"><INPUT NAME="search" SIZE="20" VALUE=""><BR><CENTER><INPUT NAME="searchButton" TYPE="submit" VALUE=" Book Search "></CENTER><INPUT NAME="source" TYPE="hidden" VALUE="local" CHECKED> <INPUT NAME="backlink" TYPE="hidden" VALUE="http://search.itknowledge.com:80/excite/AT-subscriptionquery.html"><INPUT NAME="bltext" TYPE="hidden" VALUE="Back to Search"><INPUT NAME="sp" TYPE="hidden" VALUE="sp"></FORM></TD></TR></TABLE></CENTER> --><!-- ISBN=1575213346 //--><!-- TITLE=Presenting XML//--><!-- AUTHOR=Richard Light//--><!-- PUBLISHER=Macmillan Computer Publishing//--><!-- IMPRINT=Sams//--><!-- CHAPTER=17 //--><!-- PAGES=0309-0330 //--><!-- UNASSIGNED1 //--><!-- UNASSIGNED2 //--><P><CENTER><A HREF="0316-0318.html">Previous</A> | <A HREF="../ewtoc.html">Table of Contents</A> | <A HREF="0322-0324.html">Next</A></CENTER></P><A NAME="PAGENUM-319"><P>Page 319</P></A><H4><A NAME="ch17_ 12">XAP (-J)</A></H4><P>In June 1997, John Tigue, a programmer at DataChannel, voiced agrowing concern that the rapidly increasing number of XML software packageseach had a different way of looking at XML data. To try to initiate some kindof standardization, he made an informal suggestion on the XMLdevelopers' mailing list (a public e-mail forum for anyone active in, or just interestedin, XML software developments) for a standard XML API for Java. Java wasa natural choice because the majority of the currently available XML softwareis written in Java (as covered in Chapter 16, "XML Software"); the collectivefeeling was that Java would be achievable and, therefore, would be a goodfirst step, leaving other languages for some later date.</P><P>What began as a loose, informal suggestion caught on like an infection,and within a few days the authors of the leading XML shareware and freesoftware were pledging their support and offering to modify their packages tocomply with an agreed proposal. That is how the XML API (XAPI) for Java wasborn (XAPI-J).</P><P>It is still very early as far as this activity is concerned, but things aredeveloping very quickly. The parties involved have implicitly agreed to try to makean inventory of their individual approaches—often publicizing completedetails of their software's code—and find some common ground for all theirapplications. The discussions are continuing, but the openness and willingness(even enthusiasm) of the people involved is a promising sign of great things to come.</P><H4><A NAME="ch17_ 13">XML Typing</A></H4><P>One final piece to the XML resolution jigsaw puzzle really deserves amention, but it has not yet gained sufficient momentum nor has it capturedenough interest to develop much further. That piece is a public discussiondocument written by Tim Bray (one of the two XML specification editors) titled"Adding Strong Data Typing to SGML and XML."</P><P>It is a long-standing complaint in SGML circles (and it will probablybecome one in XML circles) that, although it is quite possible to enforce a rigidstructure, there is no way to control or check the actual content of theelements. (Strictly speaking, some content validation can be enforced and achievedin SGML, but it very quickly makes the DTD so unwieldy as to beimpossible for a human being to use.)</P><A NAME="PAGENUM-320"><P>Page 320</P></A><P>Tim Bray's proposal is to define SQL's strong type declarations asreserved attributes that can be attached to XML (and SGML) elements. (TheStructured Query Language is the de facto standard for database querylanguages.) Using these data types (character, character string, integer number, realnumber, floating-point number, date, time, and timestamp), it would bepossible to constrain the content of the elements to a form and format that wouldbe far more usable for electronic data interchange and database-relatedapplications. (XML's tree structure makes it ideally suited for representing thestructure of relational databases, but it suffers severely from the lack of data typing.)</P><P>This proposal will almost certainly (even inevitably) be taken further; theonly real question is when it will happen.</P><H4><A NAME="ch17_ 14">The SGML Technical Corrigendum</A></H4><P>What does an SGML Technical Corrigendum (TC) have to do with XML?Well, to be honest, on the face of it, not a lot—except for one major problem:The whole of the XML syntax specification is based on the assumption thatthis TC will be accepted; if it is not, some clauses might have to be changed.You already know that XML is a subset of SGML; let's briefly look at the historyof SGML and see what the TC entails.</P><H4><A NAME="ch17_ 15">The SGML Standard</A></H4><P>Originally formalized as an ISO standard in October 1986, SGML has hada pretty quiet time until now, as far as international standards areconcerned. An amendment to the standard was published in July 1988 to clean up afew ambiguities and typographic errors, and then it remained untouched untilthe Technical Corrigendum (TC) for Extended Naming Rules for SGMLwas published as Annex J to the standard in December 1996. (This TC isoptional in SGML, but it is incorporated into XML. For a full description of thecontents of the TC, see Appendix A, "Differences Between SGML and XML.")</P><P>It is normal practice to review a standard every five years, but for variousreasons SGML escaped this normal revision procedure. There are, in fact,many reasons for the delay; however, apart from the great time and effortinvolved in reviewing the whole of this quite large and extremely complex standardclause by clause, most delays are related to standards associated with, ordependent on, SGML. Without going into too many of the technical details of thesestandards, it might still be interesting to skim over some of the major highlights.</P><A NAME="PAGENUM-321"><P>Page 321</P></A><H4><A NAME="ch17_ 16">HyTime</A></H4><P>HyTime (ISO/IEC 10744 Hypermedia/Time-based Structuring Language)is a very important application of SGML that actually takes SGML severalsteps further and gives it the facilities it needs for representing, addressing, andlinking both static and dynamic information in an unlimited number of formatsand media, whether already defined or yet to be invented. (Some of HyTime'slinking mechanisms have been incorporated into XML, as discussed in Chapter9, "Linking with XML.")</P><P>Using HyTime, it is possible to link into and from individual frames in afilm, time fragments of a digital sound recording, or even individual notes in asymphony.</P><P>First published in November 1992 (and still, rumor has it, not understoodby more than a handful of "gurus"), the formalization of various theoreticalmodels that underlie hypermedia such as addressing, linking, and accessing has hada very strong influence on the thought behind SGML and its future. Theinfluence of HyTime on SGML has, in fact, been so profound that whenthe HyTime Technical Corrigendum was completed in early 1995, theSGML community realized that it described facilities that could be used bynormal, non-HyTime SGML documents. It became pretty obvious that SGMLneeded some kind of modification to incorporate these.</P><H4><A NAME="ch17_ 17">DSSSL</A></H4><P>Although HyTime was becoming formalized, a separate standard calledDSSSL (ISO/EIC 10179 Document Style Semantics and Specification Language)had been living a fairly separate life, secure in its position as a means ofdescribing the formatting and "other transformations" of SGML documents.</P><P>As long as it constrained itself to just the formatting, DSSSL seemed to livea fairly secure life, but that was only part of its purpose. DSSSL was alsointended to provide a language in which a general transformation specification couldbe written that could transform documents from one SGML to another (forexample, from "full" SGML to HTML). It was here that the problemsreally started.</P><H4><A NAME="ch17_ 18">HyTime versus DSSSL</A></H4><P>The kind of addressing and linking that HyTime made possible as well asthe kind of processing applied by DSSSL both required a formal way of lookingat</P><P><CENTER><A HREF="0316-0318.html">Previous</A> | <A HREF="../ewtoc.html">Table of Contents</A> | <A HREF="0322-0324.html">Next</A></CENTER></P></TD></TR></TABLE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -