|
A£®¸ÅÊöÐÔÎÊÌâ ¡¡¡¡ A.1 ʲôÊÇXML? ¡¡¡¡ XML È«³ÆÊÇ¡°¿ÉÀ©Õ¹±êʶÓïÑÔ¡°£¨Extensible Markup Language£©¡£Ö®ËùÒÔ³ÆÖ®Îª¿ÉÀ©Õ¹£¬ÊÇÒòΪËü²»ÏñHTML ÄÇÑùÖ»Óй̶¨µÄÐÎʽ¡£ËüÊDZ»ÓÃÀ´Ê¹SGML ÄÜÔÚÍòÎ¬ÍøÉÏÄÜÓ¦ÓÃ×ÔÈç¡£ ¡¡¡¡ XML²¢²»ÊÇÒ»¸ö¶ÀÁ¢µÄ£¬Ô¤¶¨ÒåµÄ±êʶÓïÑÔ¡£ËüÊÇÒ»ÖÖÔªÓïÑÔ¡£ËüÊÇÓÃÀ´ÃèÊöÆäËûÓïÑÔµÄÓïÑÔ¡£ËüÔÊÐíÄã×Ô¼ºÉè¼ÆÄãµÄ±êʶ¡£(HTML ÊÇÒ»ÖÖÔ¤¶¨ÒåµÄ±êʶÓïÑÔ¡£HTML Ö»ÊÇÔÚÒ»ÀàÌØ¶¨µÄÎļþÖж¨ÒåÁËÒ»ÖÖÃèÊöÐÅÏ¢µÄ·½·¨¡£¶øXML ÄÜÔÊÐíÄãÔÚ²»Í¬µÄÎļþÖж¨ÒåÄã×Ô¼ºÉè¼ÆµÄ±êʶÓïÑÔ¡££©ÕâÊÇÒòΪXML ÊÇÓÃSGML £¨¡°Í¨ÓñêʶÓïÑÔ±ê×¼¡±¹ú¼Ê±ê×¼µÄ±êʶԪÓïÑÔ£©ÊéдµÄ¡£¡¡ ¡¡¡¡ A.2 XMLµÄÄ¿µÄÊÇʲô£¿ ¡¡¡¡ XMLÊDZ»Éè¼ÆÓÃÀ´Ê¹SGML ÄÜÔÚÍòÎ¬ÍøÉÏÄÜ×ÔÈçÓ¦Óõģº·½±ãµØ¶¨ÒåÎļþÀàÐÍ£¬·½±ãµØÖÆ×÷ºÍ¹ÜÀíÓÃSGML¶¨ÒåµÄÎļþ£¬ÔÚÍøÉÏ·½±ãµØ´«ÊäºÍ¹²ÏíÕâЩÎļþ¡£¡¡ ¡¡¡¡ A.3 ʲôÊÇSGML£¿ ¡¡¡¡ SGMLµÄÈ«³ÆÊÇ¡°Standard Generalized Markup Language¡°£¨Í¨ÓñêʶÓïÑÔ±ê×¼£©¡£ËüÊǹú¼ÊÉ϶¨Òåµç×ÓÎļþ½á¹¹ºÍÄÚÈÝÃèÊöµÄ±ê×¼¡£ÔÚÍùÉÏÓÐÒÔÏÂÏà¹Ø×ÊÔ´£º ¡¡¡¡ SGML FAQ: http://www.infosys.utas.edu.au/info/sgmlfaq.txt ¡¡¡¡ SGML Ö÷Ò³: http://www.oasis-open.org/cover/sgml-xml.html¡¡ ¡¡¡¡ A.4 ʲôÊÇHTML£¿ ¡¡¡¡ HTMLµÄÈ«³ÆÊÇ¡°HyperText Markup Language ¡°£¨³¬Îı¾±êʶÓïÑÔ£©¡£ËüÊÇSGMLÔÚÍøÂçÉϵÄÒ»¸öÌØÊâÓ¦Óᣠ¡¡¡¡ A.5 XML£¬SGML£¬HTMLÊDz»ÊÇÒ»»ØÊ£¿ ¡¡¡¡ ²»¾¹È»¡£SGMLÊÇXMLºÍHTMLµÄĸÓïÑÔ¡£SGMLµÄ¸²¸ÇÃæºÜ¹ã¡£Ëü¼¸ºõÉæ¼°ÈËÃÇÉú»îµÄÿһ¸öÁìÓò¡£Ëü±»ÓÃÀ´ÃèÊö³ÉǧÉÏÍòÖÐÎļþ¡£HTMLÖ»ÊÇÆäÖÐÒ»ÖÖÎļþÀàÐÍ£¬ÊÇÒ»ÖÖÔÚÍøÉÏ×î³£ÓõÄÀàÐÍ¡£Ëü¶¨ÒåÁËÒ»ÖÖ¼òµ¥¶ø¹Ì¶¨ÇÒº¬±êʶµÄÎļþÀàÐÍ¡£ ¡¡¡¡ XMLÊÇSGMLµÄ¼ò»¯°æ¡£ÎªÁËʵÏÖ¸ü¼Ó·½±ãµØ±àдºÍÀí½âÓ¦ÓóÌÐò£¬¸ü¼Ó·½±ãµØÔÚÍøÂçÉÏ´«ÊäÐÅÏ¢£¬¸ü¼Ó·½±ãµØÊµÏÖ»¥²Ù×÷ÐÔ£¬XMLÉêÂÔÁËһЩSGMLÖи´ÔӺͲ»³£ÓõIJ¿·Ö¡£µ«XML»¹ÄܺÍSGMLÒ»Ñùͨ¹ý½âÎö¡£ ¡¡¡¡ A.6 SGML/XML ºÍC/ C++?ʲô²»Í¬£¿ ¡¡¡¡ CºÍC++ºÍFortran, Pascal, Basic, »òÊÇJavaÒ»Ñù¶¼ÊDZà³ÌÓïÑÔ¡£ÊÇÓÃÀ´Öƶ¨ÔËËãºÍ²Ù×÷µÄ¡£ ¡¡¡¡ ¶øSGMLºÍXML±êÊÇ˵Ã÷ÐÔµÄÓïÑÔ¡£ËüÃÇÊÇÓÃÀ´±íÏÖÐÅÏ¢µÄ¡£ËüÃÇʹµÃÐÅÏ¢Äܱ»³ÌÐòÕý³£µØ´æ´¢´«ÊäºÍ´¦Àí¡£¾ÍËüÃDZ¾Éí¶øÑÔ£¬²¢²»ÄܲúÉúʲô²Ù×÷¡£²Ù×÷ÒªÓÉÓ¦ÓóÌÐòÀ´ÊµÏÖ¡£¡¡ ¡¡¡¡ A.7 ÊÇÓÉ˸ºÔðXML£¿ ¡¡¡¡ XMLÊÇW3C(World Wide Web Consortium ÍòÎ¬ÍøÂçÁªÃË)µÄÒ»¸öÏîÄ¿¡£XML²»ÊÇÈκÎÒ»¼Ò¹«Ë¾µÄ˽ÓвƲú¡£¡¡ ¡¡¡¡ A.8 ΪʲôXMLÊÇÒ»ÏîÖØÒªµÄ¼¼Êõ£¿ ¡¡¡¡ ӦΪËü½â¾öÁËÁ½¸öÖÆÔ¼ÍøÂç·¢Õ¹µÄÎÊÌ⣺ ¡¡¡¡ 1.»ù´¡Êǵ¥Ò»¹Ì¶¨µÄÎļþÀàÐÍ¡££¨HTML£©£» ¡¡¡¡ 2.ÍêÕûµÄSGML¹ýÓÚ¸´ÔÓ¡£¡¡ ¡¡¡¡ A.9 Ϊʲô²»Ö»ÊÇÀ©Õ¹HTML£¿ ¡¡¡¡ ²»Í¬µÄ³§¼ÒÔÚ¿ª·¢HTMLʱ²úÉúÁËÐí¶àÓÐȤµ«È´²»¼æÈݵķ¢Ã÷¡£ÕâÒÑʹHTML²»¿°Öظº¡£ÒòΪÕâʹµÃÄãÖ»ÄÜÓÃÒ»ÖÖ·½·¨±íÏÖÄãµÄÐÅÏ¢¡£XMLÈ´ÔÊÐíÐíÐí¶à¶àµÄ¸öÈËÓë×éÖ¯À´´´ÔìËûÃÇ×Ô¼ºµÄ±êʶÓïÑÔ¡£Ó¦ÓÃÕâЩ±êʶÓïÑÔËûÃÇ¿ÉÒÔÔÚ×Ô¼ºµÄÁìÓòÄÚ×ÔÓɵؽ»»»ÐÅÏ¢¡£HTMLÔÚ±íÏÖÐÅÏ¢·½ÃæÊÇÓÐȱÏݵġ£µ±È»ÎÒÃDZØÐë³ÐÈÏËüÏÖÔÚÈÔÈ»°çÑÝ×ÅÖØÒªµÄ½ÇÉ«¡£µ«Ðí¶àеÄÓ¦ÓÃÁìÓòÐèÒª¸ü¼ÓÇ¿´óºÍÁé»îµÄ¹¤¾ß¡£¡¡ ¡¡¡¡ B.SGMLµÄʹÓ㨰üÀ¨HTMLµÄ¸÷ÖÖä¯ÀÀÆ÷£©¡¡ ¡¡¡¡ B.1 ΪʲôÎÒÃÇÒªÍÆ¼öXML¶ø²»Ö÷ÕÅHTML£¿ ¡¡¡¡ 1.ÎÒÃÇ¿ÉÒÔÓÃXMLÉè¼Æ×Ô¼ºµÄÎļþÀàÐÍ¡£ ¡¡¡¡ 2.ÐÅÏ¢µÄÄÚÈݽ«¸ü¼Ó·á¸»£¬¸ü¼Ó·½±ãʹÓá£ÔÚXMLÖг¬Îı¾Á´½ÓµÄÄÜÁ¦±ÈHTML¸üÇ¿¡£ ¡¡¡¡ 3. XMLÄÜʹµÃä¯ÀÀÆ÷µÄ±íÏÖÐÎʽ¸ü¼Ó·á¸»¡£ ¡¡¡¡ 4.´¦ÀíXMLÎļþ±È.´¦ÀíSGMLÎļþÀ´µÃ¼òµ¥¡£ÐÅÏ¢µÄ¿ª·ÅÐÔºÍÖØ¸´Ê¹ÓõÄÐÔÄܶ·½«Ìá¸ß¡£ ¡¡¡¡ 5.ºÏ·¨£¨Valid ²Î¼ûDÖÐValidÓë-formed£©µÄXMLÎļþÔÚSGMLÖÐÒ²ÊǺϷ¨µÄ¡£ ¡¡¡¡ B.2 ÎÒÊDz»ÊDZØÐëÓÉSGML»òÊÇHTMLתÏòXML£¿ ¡¡¡¡ ²»Êǵġ£ÏÖ´æµÄSGMLºÍHTMLµÄÓ¦ÓÃÈí¼þÈÔÄÜÕý³£´¦ÀíÏÖÓеÄÎļþ¡£¡¡ ¡¡¡¡ C. SGML ºÍHTMLµÄ±àд ¡¡¡¡ C.1 XMLÊÇ·ñÒÑÈ¡´úÁËHTML£¿ ¡¡¡¡ ûÓС£XML²¢Ã»ÓÐÈ¡´úHTML¡£ËüÖ»ÊǸøÁËÄãÒ»ÖÖеÄÑ¡Ôñ¡£HTML½«ÈÔÔÚÒ»¶Îʱ¼äÄڹ㷺µØ±»Ê¹Óá£HTMLµÄDTD£¨²Î¼ûCÖÐDTD£©½«¼ÈÓÐXML°æ±¾£¬ÓÖÓÐSGML°æ±¾¡£µ«XML°æ±¾¸ü¼Ó¼òµ¥¡£¡¡ ¡¡¡¡ C.2 XMLÎļþÊÇÔõÑùµÄ£¿ ¡¡¡¡ ËüµÄ»ù±¾½á¹¹ºÍSGMLºÍHTML²î²»¶à¡£XMLÎļþ¿ÉÒԷdz£¼òµ¥¡£Ëü¿ÉÒÔ²»ÐèÒªÎļþÀàÐÍ˵Ã÷£¬¶øÖ±½Ó¾ÍÊÇÄã×Ô¼ºÉè¼ÆµÄÄÚǶʽ±êʶ¡£ÈçÏÂÃæÒ»¶Î´úÂ룺 ¡¡¡¡ <?xml version="1.0" standalone="yes"?> ¡¡¡¡ <conversation> ¡¡¡¡ <greeting>Hello, world!</greeting> ¡¡¡¡ <response>Stop the planet, I want to get off!</response> ¡¡¡¡ </conversation> ¡¡¡¡ µ±È»ËüÒ²¿ÉÒÔ¸ü¼Ó¸´ÔÓЩ¡£ÈçDTDÉùÃ÷£¬ÄÚǶ×Ó¼¯£¬µÈµÈ£º ¡¡¡¡ <?xml version="1.0" standalone="no" encoding="UTF-8"?> ¡¡¡¡ <!DOCTYPE titlepage SYSTEM "http://www.frisket.org/dtds/typo.dtd" ¡¡¡¡ [<!ENTITY % active.links "INCLUDE">]> ¡¡¡¡ <titlepage> ¡¡¡¡ <white-space type="vertical" amount="36"/> ¡¡¡¡ <title font="Baskerville" size="24/30" alignment="centered">Hello, world!</title> ¡¡¡¡ <white-space type="vertical" amount="12"/> ¡¡¡¡ <!-- In some copies the following decoration is hand-colored, presumably by the author --> ¡¡¡¡ <image location="http://www.foo.bar/fleuron.eps" type="URL" alignment="centered"/> ¡¡¡¡ <white-space type="vertical" amount="24"/> ¡¡¡¡ <author font="Baskerville" size="18/22" style="italic">Vitam capias</author> ¡¡¡¡ </titlepage>¡¡ ¡¡¡¡ C.3 ÊDz»ÊÇHTMLÓÐÒ»¸öXML°æ±¾£¿ ¡¡¡¡ ÒѾÓкü¸¸öHTMLµÄXML°æ±¾£¬µ«¶¼Ö»ÊÇÔÚ×¼±¸½×¶Î£¬²¢Î´Íê³É¡£¡¡ ¡¡¡¡ C.4 ¼ÈȻ˵XMLÊÇSGMLµÄ×Ó¼¯£¬ÎÒÄܲ»ÄÜÓÃSGMLµÄ¹¤¾ßÖ±½Ó´¦ÀíXMLÎļþ£¿ ¡¡¡¡ ÊǵÄ.¶øÇҷdz£¼òµ¥¡£Ò»¸ö½á¹¹ÍêÕûµÄXMLÎļþºÍHTMLÎļþ·Ç³£ÏàÏñ¡£µ±È»Ò²ÓÐһЩСµÄ¶øÇÒÊÇÖØÒªµÄ²»Í¬¡£ÔÚʵ¼Ê²Ù×÷µ±ÖÐ×î´óµÄ²»Í¬¾ÍÊÇXMLÎļþ±ØÐëÒ¡×ñÊØÒ»¶¨µÄ·¨Ôò¡£HTMLµÄä¯ÀÀÆ÷¿ÉÒÔÔÊÐíһЩСµÄ´íÎó¡£¶øÈç¹ûÊÇXML¾ÍÐв»Í¨ÁË¡£ ¡¡¡¡ C.5 ʲôÊÇDTD£¿ÎÒÄÜÔÚÄĶùÕÒµ½£¿ ¡¡¡¡ DTDµÄÈ«³ÆÊÇ¡°Document Type Definition¡°£¨ÎļþÀàÐͶ¨Ò壩¡£¾ßÌåµØËµ£¬DTDÊÇÒ»¸ö»òÊÇһЩÓÃXMLÊéдµÄÎļþ¡£Ëü°üº¬Á˶ÔÒ»ÖÖÎļþµÄÕýʽ¶¨Òå¡£Ëü¶¨ÒåÁËÎļþÖеÄÔªËØÄÜÓÃʲôÃû×Ö£¬ÄÜ·ÅÔÚʲôλÖã¬Ó¦¸ÃÔõÑù×éºÏ¡£ÔÚÕâÀï¾ÙÒ»¸ö¼òµ¥µÄÀý×Ó¡£±ÈÈç˵ÄãÏëÒªÄãµÄÎļþ¿ÉÒÔÃèÊöÒ»×é<List>£¬ÆäÖÐÿ¸ö<List>ÓÉ¿ÉÒÔ°üº¬Èô¸É¸ö<Item>¡£ÄÇôÄãµÄDTDÖÐÓ¦¸ÃÓÐÒÔÏÂÓï¾ä£º<!ELEMENT List (Item)+> ¡¡¡¡ <!ELEMENT Item (#PCDATA)> ¡¡¡¡ ÕâÑùÒ»¸ö¿ò¼Ü¶¨ÒåÁËÒ»¸ö±í£¨list£©£¬Ëü¿ÉÒÔ°üº¬Èô¸É¸öÏî(items)¡£Ã¿Ò»¸öÏîÖ»ÄܰüÀ¨Îı¾µÄÄÚÈÝ¡£µ±´¦ÀíÆ÷´¦ÀíXMLÎļþʱ½«×Ô¶¯¼ì²éDTD£¬ÒÔ´ËÈ·¶¨ÎļþÖÐÔªËØ´ÓÄĶøÀ´£¬ÒÔ¼°ËüÃÇÖ®¼äÊÇʲô¹ØÏµ¡£ÉÏÃæµÄ¿ò¼ÜÔÊÐíÄãÉú³ÉÏÂÃæµÄÒ»¸ö±í£º ¡¡¡¡ <List><Item>Chocolate</Item><Item>Music</Item><Item>Surfing</Item></List> ¡¡¡¡ ¶øÕâÑùÒ»¸ö±íÔÚÆÁÄ»ÉÏÊÇÔõÑùÒ»¸ö±íÏó,È¡¾öÓÚÄãµÄÑùʽ±í(Stylesheet)¡£ÔÚHTMLÖÐÄãÒªÔÚÎļþÖÐÖ¸¶¨Ó¦ÊÇÔõÑùµÄÐÎʽ¡£Ê¹ÓÃDTD±íÃ÷ÄãÄܹ»È·¶¨Ò»ÀàÎÄÕµĽṹºÍ¸ñʽ¡£ ¡¡¡¡ ÒªÏëÕÒÒ»¸öDTD¿´¿´Âð£¿Êµ¼ÊÉÏ£¬¸÷¸öÁìÓòÀïµÄSGML DTDÓɳÉǧÉÏÍò¡£Äã¿ÉÒԲο´SGML µÄÍøÒ³¡£¡¡ ¡¡¡¡ C.6 ÎÒ×ÜÊÇÌý˵DTDµÄÌæ´úÕßSchema£¬Ëüµ½µ×ÊÇʲô£¿ ¡¡¡¡ ÓÐÐí¶àXMLµÄ¿ª·¢Õß²¢²»ÂúÒâXMLµÄ¹æ·¶¡£ÔÒòÓÐÁ½µã£º ¡¡¡¡ 1.¼ÈÈ»XMLÔÚ˵Ã÷½á¹¹ÐÅÏ¢ÊÇÓкܶàºÃ´¦£¬ÄÇôÓÃÀ´ÃèÊöÎļþÀàÐ͵ĽṹµÄÎļþ£¨Õâ¾ÍÊÇSchema£©ÎªÊ²Ã´²»ÊÇÒ²ÓÃXMLÊéдµÄÄØ£¿ÕâÑù×öµÄºÃ´¦²»¹âÊÇͳһ£¬¶øÇÒ±ãÓÚÓÃÕý¹æµÄÎļþ¹¤¾ß±à¼¹ÜÀíSchema¡£ ¡¡¡¡ 2.¹ýÈ¥µÄDTD¶ÔÊý¾ÝµÄÏÞÖÆ²»¹»¡£±ÈÈç˵ÄãÏëÒªÒ»¸öÔªËØÖ»È¡¸ºÖµ£¬»òÊDZØÐëÓÐÒ»¸öÖµ£¬DTDºÜÄÑ×öµ½¡£¡¡ ¡¡¡¡ C.7 ÎÒÄÜÓÃXML×÷ËãÊõÔËËãÂ𣿠¡¡¡¡ Ö»ÒªÄãµÄÎļþÀàÐÍÌṩËãÊõÀàÐÍ£¬ÖªÊ¶¿ÉÒԵġ£W3CÒѾÓÐÁËÒ»¸öMathML(Mathematical Markup LanguageÊýѧ±êʶÓïÑÔ)µÄ¼Æ»®¡£Çå²Î¿´W3C×îÐÂ(1999Äê7ÔÂ)·¢²¼µÄMathML¹æ·¶¡£ ¡¡¡¡ C.8 ÔÚXMLÖÐ,ÎÒÄÜʹÓÃJava, ActiveXÂð? ¡¡¡¡ ÕâÈ¡¾öÓÚä¯ÀÀÆ÷ÖÆÔìÕßÔËÓõŤ¾ß. XMLÊÇÓÃÀ´ÃèÊöÐÅÏ¢µÄ; ÃèÊöÐÔÓïÑÔºÍÓÃÀ´ÃèÊöÄÚǶº¯Êý¹¦ÄܵÄÓïÑÔµÄÄ¿µÄÊÇʹµÃÐÅÏ¢ÄÜÔÚ¿Í»§¶Ë±»²Ù×÷.. XML±¾ÉíÌṩÁËÒ»ÖÖ¶¨Òå±êʶµÄ·½·¨,¶øÕâЩ±êʶÊÇÃèÊöÐÔÓïÑÔËù±ØÐèµÄ. XMLÊÇÒ»¸öÖÐÁ¢µÄ±ê×¼.Ëû²»Ö§³Ö»òÊÇ·´¶ÔÈκÎÒ»ÖÖÃèÊöÐÔÓïÑÔ.ËùÒÔ˵ËüÊÇÒ»¸ö¿ª·ÅµÄÁìÓò. ÃèÊöÐÔÓïÑÔÊÇÔÚ¡±Extensible Style Language¡±XSL (¿ÉÀ©Õ¹ÀàÐÍÓïÑÔ).¼Æ»®ÖÐÌá³öµÄ. ¡¡¡¡ C.9 ÎÒÄÜÓÃJava±àд»òÊǹÜÀíXMLÎļþÂð? ¡¡¡¡ ¿ÉÒÔ.ÎÒÃÇ¿ÉÒÔÓÃÈκÎÒ»ÖÖ±à³ÌÓïÑÔ´ÓÈκÎÒ»ÖÖXML¸ñʽµÄÐÅÏ¢ÖÐÌáÈ¡Êý¾Ý. ¡¡¡¡ D.¸ß¼¶¿ª·¢ÕߺÍÓ¦ÓÃÕß(°üÀ¨ÍøÂç¹ÜÀíÔ±ºÍ·þÎñÆ÷²Ù×÷ÈËÔ±) ¡¡¡¡ D.1ÄĶù¿ÉÒÔÕÒµ½XMLµÄ¹æ·¶? ¡¡¡¡ Çë²Î¼û: http://www.w3.org/TR/REC-xml ¡¡¡¡ D.2 "DTDless" ,"valid",ºÍ"well-formed"ÕâЩÊõÓïÊÇʲôÒâ˼? ¡¡¡¡ ÔÚÍêÕûµÄSGMLÖÐ,ÎÒÃÇÓÃDTDÃèÊöÌØ¶¨ÎļþÖеĸ÷ÖÖ±êʶ.µ«DTDµÄÉú³ÉÊÇÒ»¼þ¼«Æä¸´ÔӵŤ×÷.ËùÒÔXML±»Éè¼Æ³É¿ÉÒÔȱʡDTD. DTDless±íʾÄú¿ÉÒÔ´´ÔìÒ»¸ö±êʶ¶ø²»ÐèÕýʽµÄ¶¨Òå.µ±È»ÕâÒ²Òª¸¶³ö´ú¼Û.Äú²»ÄÜÔÚÆäËûµÄÎļþÖжÔͬÑùµÄÐÎʽ²ÉÓÃ×Ô¶¯µÄ´¦Àí. DTDlessµÄÎļþÊÇÒÔÒ»ÖÖ·ÇÕýʽµÄ·½Ê½¶¨ÒåËüµÄ±êʶµÄ.±êʶÊÇÔÚÄĶù³öÏֵľÍÔÚÄĶù¶¨ÒåËü.µ«µ±Ò»¸ö±È·½ËµÊÇä¯ÀÀÆ÷µÄXMLÓ¦ÓóÌÐò´ò¿ªÁËÒ»¸öDTDlessµÄÎļþ,Ëü±ØÐëÒªÓа취À´Àí½âÎļþµÄ½á¹¹.µ«ËüÓÖûÓÐDTD,ËùÒÔ¹æÔòÉÏÓÐÁËһЩ¸Ä±ä. ¾ÙÒ»¸öÀý×Ó£º ¡¡¡¡ HTMLÖеÄ<img> ÊDZ»¶¨ÒåΪ¡±EMPTY¡±(¿Õ)µÄ.Ëü²¢²»ÐèÒª¡±end-tag¡±(½áβ±êÇ©). DTD µÄXMLÓ¦ÓóÌÐòÔÚ´ò¿ªÒ»¸öȱʡDTD. µÄÎļþ,¶Áµ½<img>ʱ²»ÖªµÀÊÇ·ñÐèÒªÒ»¸ö¡±end-tag¡±.ËùÒÔ¡±well-formed¡±(½á¹¹Á¼ºÃ)µÄ¶¨ÒåÒ²±äµÃÖØÒªÁË. ¡±well-formed¡±¿ÉÒÔʹµÃÒ»°ãÔªËØºÍ¡±EMPTY¡±ÔªËØÇø·Ö¿ªÀ´. ¡¡¡¡ D.2.1 ¡±well-formed¡±(½á¹¹Á¼ºÃµÄ)Îļþ ¡¡¡¡ 1.Èç¹ûÒ»¸öÎļþûÓÐDTD,Ëü±ØÐëÔÚ¿ªÍ·´¦ÓÐÒ»¸ö"Standalone Document Declaration"(¶ÀÁ¢ÎļþÉùÃ÷): ¡¡¡¡ <?xml version="1.0" standalone="no" encoding="UTF-8"?> ¡¡¡¡ <foo> ¡¡¡¡ . <bar> ...<blort/>...</bar> ¡¡¡¡ </foo> ¡¡¡¡ 2.³ýÁË¿ÕËØÒÔÍâ, ±ê¼Ç±ØÐëǰºóÆ¥Åä. ¡¡¡¡ 3.ËùÓеġ±attribute¡±Öµ¶¼ÒªÓÃÒýºÅÀ¨ÆðÀ´. ¡¡¡¡ 4. ¡±EMPTY¡±ÔªËصÄtagҪôÓá±/>¡±½áβ,ҪôҪ²¹³É¡±non-EMPTY¡±(·Ç¿Õ)µÄÔªËØ. ±ÈÈç˵: <BR>ҪôдΪ<BR/> »òÊÇ<BR></BR> ¡¡¡¡ 5.ÎļþÖбØÐë²»ÄܳöÏÖ¡±markup-start ¡°(±êʶ¿ªÊ¼·û), ±ÈÈ硱<¡±»òÊÇ¡°&¡±. ¡¡¡¡ 6.ÔªËØ±ØÐë×ñÊØSGMLµÄ¹æÔò,ÕýȷǶÌ×. ¡¡¡¡ D.2.2¡±Valid ¡°(ºÏ·¨µÄ)XML ¡¡¡¡ ºÏ·¨µÄXMLÊÇÖ¸ÓÐDTDµÄÎļþ.Ëü±ØÐëÊÇ¡±well-formed¡±µÄ. ¡¡¡¡ D.3 ÔÚDTDÖÐ,ÎÒʲôʱºòÓÃÊôÐÔ, ʲôʱºòÓÃÔªËØ? ¡¡¡¡ ÕⲢûÓÐΨһµÄ´ð°¸.×ÅÈ¡¾öÓÚÄúÉè¼ÆÎļþµÄ·ç¸ñ.ÒÔÏÂÊÇÁ½¸ö¼«¶ËµÄÀý×Ó,ËüÃǵŦÄÜÊÇÒ»ÑùµÄ: ¡¡¡¡ 1. <l n="184"><sp>Portia</sp><text>The quality of mercy is not strain¡¯d,</text></l> ¡¡¡¡ 2. <line speaker="Portia" text="The quality of mercy is not strain¡¯d">184</line> ¡¡¡¡ D.4 SGML ºÍXMLÖ®¼ä»¹ÓÐÊ²Ã´Çø±ð? ¡¡¡¡ Ö÷ÒªµÄÇø±ðÔÚÓÚDTDµÄÄÚÈÝ.ΪÁ˼ò»¯Óï·¨ºÍ±àдÈí¼þµÄ¹ý³Ì, XMLÖжÔSGML×öÁ˺ܴóËõ¼õ. ¡¡¡¡ D.5 ÏÖÔÚÓÐÄÄЩXMLµÄÈí¼þ¿ÉÒÔʹÓÃ? ¡¡¡¡ ÓÉÓÚ¸üÐÂËÙ¶ÈÌ«¿ì,ÎÒÃǽ¨ÒéÄú²Î¿´: http://www.oasis-open.org/cover/xml.html. ¡¡¡¡ D.6 ҪʹÓÃXML,ÎÒÊÇ·ñÒª¸Ä±ä·þÎñÆ÷µÄÈí¼þ? ¡¡¡¡ ÒªµÄ,µ«¸Ä¶¯²»´ó.ÄúÖ»Òª±à¼ÄúµÄmime-typesÎļþ,¼ÓÉÏÒÔÏÂÒ»¾ä: ¡¡¡¡ application/xml xml XML
¾µäÎÊ´ð
Ò».HTMLÒѾÕâÑùÁ÷ÐÐÁË£¬ÎªÊ²Ã´»¹Òª·¢Õ¹XML?
¼òµ¥µØ½²£¬HTML²»ÄÜÍê³É£¬ÎÒÃÇÏ£ÍûXMLËùÒªÍê³ÉµÄÈÎÎñ¡£ÔÒòºÜ¼òµ¥£¬XMLËùÒªÍê³ÉµÄÈÎÎñ£¬±ØÐëÓÉÔªÖñêÓïÑÔÀ´Íê³É£¬¶øHTMLÖ»ÊÇÒ»¸öʵÀýÖñêÓïÑÔ¡£ ÔÚXML·¢²¼Ö®Ç°£¬¹ú¼Ê»¥ÁªÍ
|