📄 2_specs.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><!--NewPage--><html><head><title>Specs</title><style type="text/css"><!----></style><meta name="fileID" content="quickIntro"><meta name="keywords" content="XML"></head><body BGCOLOR="#ffffff"><table width="100%"> <tr> <td align=left> <a href="1_xml.html"><img src="../images/PreviousArrow.gif" width=26 height=26 align=bottom border=0 alt="Previous | "></a><ahref="3_apis.html"><img src="../images/NextArrow.gif" width=26 height=26 align=bottom border=0 alt="Next | "></a><a href="../alphaIndex.html"><img src="../images/xml_IDX.gif" width=26 height=26 align=bottom border=0 alt="Index | "></a><a href="../TOC.html"><imgsrc="../images/xml_TOC.gif" width=26 height=26 align=bottom border=0 alt="TOC | "></a><a href="../index.html"><imgsrc="../images/xml_Top.gif" width=26 height=26 align=bottom border=0 alt="Top | "></a> </td> <td align=right><strong><em><a href="index.html">Top</a></em></strong> <a href="../TOC.html#intro"><strong><em>Contents</em></strong></a> <a href="../alphaIndex.html"><strong><em>Index</em></strong></a> <a href="../glossary.html"><strong><em>Glossary</em></strong></a> </td> </tr></table><p> <center> <img src="../images/shoeline2.gif" align="BOTTOM" border="0" width="202" height="25" naturalsizeflag="3"> <IMG SRC="../images/shoeline2.gif" ALIGN="BOTTOM" BORDER="0" WIDTH="202" HEIGHT="25" NATURALSIZEFLAG="3"> </center><blockquote> <blockquote> <hr size=4> </blockquote></blockquote><p> <h2> 2. XML and Related Specs: Digesting the Alphabet Soup</h2><table width="40%" border="1" align="right"> <tr> <td> <div align="center"><b><i>Link Summary</i></b></div> </td> </tr> <tr> <td> <dl> <dt><b><i>Local Links</i></b></dt> </dl> <ul> <li><a href="../dom/index.html">Manipulating Document Contents with the Document Object Model</a></li> <li><a href="../sax/index.html"> Serial Access with the Simple API for XML</a></li> <li> <a href="../sax/5a_dtd.html">Defining a Document Type</a> </li> </ul> <p><b><i>External Links</i></b></p> <ul> <li>W3C Recommendations <ul> <li><a href="http://www.w3.org/TR/REC-xml">XML</a> (& DTD)</li> <li><a href="http://www.w3.org/TR/REC-xml-names/">Namespaces</a></li> <li><a href="http://www.w3.org/TR/REC-rdf-syntax">RDF</a></li> <li><a href="http://www.w3.org/TR/REC-smil/">SMIL</a></li> <li><a href="http://www.w3.org/TR/REC-MathML/">MathML</a></li> </ul> </li> <li>W3C Proposed Recommendations <ul> <li><a href="http://www.w3.org/TR/PR-rdf-schema/">RDF Schema</a></li> </ul> </li> <li>W3C Drafts <ul> <li><a href="http://www.w3.org/TR/WD-xsl">XSL</a></li> <li><a href="http://www.w3.org/TR/WD-xml-link">XLink</a></li> <li><a href="http://www.w3.org/TR/WD-xptr">XPointer</a></li> <li><a href="http://www.w3.org/TR/WD-html-in-xml/">XHTML</a></li> <li><a href="http://www.w3.org/TR/xmlschema-1/">XML Schema (Structures)</a></li> <li><a href="http://www.w3.org/TR/xmlschema-2/">XML Schema (Datatypes)</a></li> <li><a href="http://www.w3.org/TR/WD-SVG">SVG</a></li> </ul> </li> <li>W3C Notes <ul> <li><a href="http://www.w3.org/TR/NOTE-ddml">DDML</a></li> <li><a href="http://www.w3.org/TR/NOTE-dcd">DCD</a></li> <li><a href="http://www.w3.org/TR/NOTE-SOX/">SOX</a></li> <li><a href="http://www.w3.org/TR/1998/NOTE-drawml-19981203">DrawML</a></li> </ul> </li> <li>Other <ul> <li><a href="http://www.rosettanet.org">RosettaNet</a> <ul> <li><a href="http://corp.ariba.com/News/AribaArchive/cxml.htm">cXML</a></li> </ul> </li> <li><a href="http://www.commerce.net/">CommerceNet</a> <ul> <li><a href="http://www.commerce.net/projects/currentprojects/eco/wg/eCo_Framework_Specifications.html">CBL</a></li> </ul> </li> <li><a href="#DMTF">DMTF</a></li> <li><a href="http://www.ietf.org">WebDAV</a></li> </ul> </li> </ul> <p><b><i>Glossary Terms</i></b></p> <dl> <dd><a href="../glossary.html#DTD">DTD</a>, <a href="../glossary.html#entity">entity</a>, <a href="../glossary.html#prolog">prolog</a></dd> </dl> </td> </tr></table><p> Now that you have a basic understanding of XML, it makes sense to get a high-level overview of the various XML-related acronyms and what they mean. There is a lot of work going on around XML, so there is a lot to learn. <p>The current APIs for accessing XML documents either serially or in random access mode are, respectively, <a href="#SAX">SAX</a> and <a href="#DOM">DOM</a>. The specifications for ensuring the validity of XML documents are <a href="#DTD">DTD</a> (the original mechanism, defined as part of the XML specification) and various <a href="#schema">schema</a> proposals (newer mechanisms that use XML syntax to do the job of describing validation criteria). Other future standards that are nearing completion include the <a href="#XSL">XSL</a> standard -- a mechanism for setting up translations of XML documents (for example to HTML or other XML) and for dictating how the document is rendered. Another effort nearing completion is the XML Link Language specification (<a href="#XLL">XLL</a>), which enables links between XML documents. <p>Those are the major initiatives you will want to be familiar with. This section also surveys a number of other interesting proposals, including the HTML-lookalike standard, <a href="#XHTML">XHTML</a>, and the meta-standard for describing the information an XML document contains, <a href="#RDF">RDF</a>. It also covers the XML <a href="#namespaces">Namespaces</a> initiative that promotes modular reuse of XML documents by avoiding naming collisions. <p> Several of the XML <a href="#schema">schema</a> proposals are covered here as well, along with a quick survey of the standards efforts that are using XML for remote control of desktops (<a href="#DMTF">DMTF</a>) and document servers (<a href="#WebDAV">WebDAV</a>). <p>Finally, there are a number of interesting standards and standards-proposals that build on XML, including Synchronized Multimedia Integration Language (<a href="#SMIL">SMIL</a>), Mathematical Markup Language (<a href="#MathML">MathML</a>), Scalable Vector Graphics (<a href="#SVG">SVG</a>), and <a href="#DrawML">DrawML</a>. <p>The remainder of this section gives you a more detailed description of these initiatives. To help keep things straight, it's divided into: <ul> <li><a href="#REC">W3C Recommendations</a></li> <li><a href="#PR">W3C Proposed Recommendations</a></li> <li><a href="#WD">W3C Working Drafts</a></li> <li><a href="#NOTE">W3C "Notes"</a></li> <li><a href="#builders">Standards that Build on XML</a></li></ul><p>Skim the terms once, so you know what's here, and keep a copy of this document handy so you can refer to it whenever you see one of these terms in something you're reading. Pretty soon, you'll have them all committed to memory, and you'll be at least "conversant" with XML! <h3><a name="REC"></a>W3C Recommendations</h3>W3C "recommendations" are, in reality, the final form of specifications generated by the W3C. It's a "recommendation" because they are not imposing it on anyone, but it's not like the specification is open for further discussion and review. The case is closed. This is the spec you implement in order to conform to the standard. <blockquote> <h4><a name="SAX"></a>SAX<br> Simple API for XML</h4> <p>This API was actually a product of collaboration on the XML-DEV mailing list, rather than a product of the W3C. It's included here because it has the same "final" characteristics as a W3C recommendation.</p> <p>You can also think of this standard as the "serial access" protocol for XML. This is the fast-to-execute mechanism you would use to read and write XML data in a server, for example. This is also called an event-driven protocol, because the technique is to register your handler with a SAX parser, after which the parser invokes your callback methods whenever it sees a new XML tag (or encounters an error, or wants to tell you anything else).</p> <p> For more information on the SAX protocol, see <a href="../sax/index.html">Serial Access with the Simple API for XML</a>.</p> <h4><a name="DOM"></a>DOM<br> Document Object Model</h4> The Document Object Model protocol converts an XML document into a collection of objects in your program. You can then manipulate the object model in any way that makes sense. This mechanism is also known as the "random access" protocol, because you can visit any part of the data at any time. You can then modify the data, remove it, or insert new data. For more information on the DOM specification, see <a href="../dom/index.html">Manipulating Document Contents with the Document Object Model</a>. <h4><a name="DTD"></a>DTD<br> Document Type Definition</h4> <p>The DTD specification is actually part of the XML specification, rather than a separate entity. On the other hand, it is optional -- you can write an XML document without it. And there are a number of <a href="#schema">schema</a> proposals that offer more flexible alternatives. So it is treated here as though it were a separate specification.</p> <p>A DTD specifies the kinds of tags that can be included in your XML document, and the valid arrangements of those tags. You can use the DTD to make sure you don't create an invalid XML structure. You can also use it to make sure that the XML structure you are reading (or that got sent over the net) is indeed valid.</p> <p> Unfortunately, it is difficult to specify a DTD for a complex document in such a way that it prevents all invalid combinations and allows all the valid ones. So constructing a DTD is something of an art. The DTD can exist at the front of the document, as part of the <a href="../glossary.html#prolog">prolog</a>. It can also exist as a separate <a href="../glossary.html#entity">entity</a>, or it can be split between the document prolog and one or more additional entities.</p> <p>However, while the DTD mechanism was the first method defined for specifying valid document structure, it was not the last. Several newer schema specifications have been devised. You'll learn about those momentarily.</p> <p>For more information, see <a href="../sax/5a_dtd.html">Defining a Document Type</a>. </p></blockquote><blockquote> <h4><a name="RDF"></a>RDF <br> Resource Description Framework</h4> <p> RDF is a proposed standard for defining data about data. Used in conjunction with the XHTML specification, for example, or with HTML pages, RDF could be used to describe the content of the pages. For example, if your browser stored your ID information as <code>FIRSTNAME</code>, <code>LASTNAME</code>, and <code>EMAIL</code>, an RDF description could make it possible to transfer data to an application that wanted <code>NAME</code> and <code>EMAILADDRESS</code>. Just think! Some day you may not need to type your name and address at every web site you visit!</p> <p>For the latest information on RDF, see <a href="http://www.w3.org/TR/PR-rdf-syntax/"><code>http://www.w3.org/TR/PR-rdf-syntax/</code></a>. </p> <h4></h4> <h5></h5> <h4><a name="namespaces"></a>Namespaces</h4> <p>The namespace standard lets you write an XML document that uses two or more sets of XML tags in modular fashion. Suppose for example that you created an XML-based parts list that uses XML descriptions of parts supplied by other manufacturers (online!). The "price" data supplied by the subcomponents would be amounts you want to total up, while the "price" data for the structure as a whole would be something you want to display. The namespace specification defines mechanisms for qualifying the names so as to eliminate ambiguity. That lets you write programs that use information from other sources and do the right things with it.</p> <p>The latest information on namespaces can be found at <a href="http://www.w3.org/TR/REC-xml-names/"><code>http://www.w3.org/TR/REC-xml-names</code></a>.</p> <h5></h5></blockquote><blockquote> <h5></h5> <h5></h5> <h5></h5></blockquote><h3><a name="PR"></a>W3C Proposed Recommendations</h3><p>A W3C "proposed recommendation" is a not-quite-final-but-probably-really-close proposal for a W3C recommendation. It is still open for review, and may see some change if the harsh light of reality forces it. But a lot of thought has been given to the proposal by many gifted people, so it's a pretty good bet that a standard in this category will go forward without much change. </p><blockquote> <blockquote> <h4></h4> </blockquote></blockquote><blockquote> <h4><a name="RDFschema"></a>RDF Schema <br> </h4> <p>The RDF Schema proposal allows the specification of consistency rules and
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -