1. Preface
HTML is easy to learn and versatile. General PHP programs are embedded in HTML language. However, as the WEB becomes more and more widely used, the weaknesses of HTML are becoming more and more obvious. The emergence of XML makes up for these shortcomings. It provides a universal method that can handle all data on the Internet.
2. Analysis of limitations of HTML
1. HTML has poor scalability. Although HTML should be sufficient for general applications, it has obvious shortcomings when dealing with symbols such as mathematics and chemistry, and it cannot be expanded, which greatly limits its development.
2. It cannot be automatically corrected after the link is lost. Since the URL address of a Web page changes frequently, the information must be modified manually when changing the URL address. Otherwise, a "404 URL address not found" message will be encountered, which greatly increases the workload of maintaining the Web page.
3. Data search takes a long time. Since HTML is mainly used to control the display of web pages, the same data has different storage formats in different web pages, making it impossible to quickly find the required information when performing data searches.
4. HTML does not have enough support for double-byte or multi-national characters. For example, Chinese information pages may not be displayed on different platforms.
It is precisely because of these shortcomings that people have studied Web page production languages that can replace HTML. Among them, those that have been put into use include extensible markup language XML, cascading style sheets (CSS), and dynamic HTML (DHTML).
3. The composition of XML
Here is a brief list of several major XML technologies:
1. DTD (Document Type Declaration)
The main functions of DTD are to define the content model of XML; to limit the data range of XML tags; and to define the data type of attributes. But because it is not written in XML, its scalability is relatively poor; and it only provides a limited number of data types, so its role is limited.
2. XML Schema
XML Schema functions similarly to DTD. But the difference is that the Schema file describes the specific types of elements and attributes in the XML file that references it. In addition, since it is written in XML, Schema has the following advantages compared with DTD:
·The XML Schema content model is open and can be expanded at will, but DTD cannot parse the expanded content.
·DTD can only define the content type as a string, while XML Schema allows the content type to be defined as integer, floating point, Boolean or many other simple data types.
·XML Schema uses Namespaces to connect the most specific nodes of the document with the Schema. An XML file can have multiple corresponding Schemas, and an XML file can only have one DTD.
3. XLink
As a Web language, XML’s linking capabilities are very important. XML linking and addressing mechanisms include XLink, XPath and XPointer. XLink provides a powerful linking method that can establish one-way or multi-way complex connection relationships between documents, as well as a variety of linking functions such as annotation links, summary links, and extended link sets. XPath is used in XSLT and XPointer to support positioning relative to nodes and node sets in XML documents. XPointer provides positioning of the internal structure of the content of an XML document (such as a string or a selected paragraph) based on XPath. The linking capabilities of XML have been greatly enhanced compared to HTML.
4. CSS and XSL
A major feature of XML is the separation of content and format. That is to say, the XML document does not contain information on how to display/represent the document. CSS and XSL (XML Style Language) solve the problem of displaying XML documents.
CSS (Cascading Style Sheets) can also be used in HTML and XML. XSL completely uses XML syntax and is much more powerful than CSS.
5. DOM
The Document Object Model (DOM) is a platform- and language-independent program interface that provides a means to dynamically access and update the content, structure, and style of a document. The text can be processed further and the results of the processing are updated to the presentation page.
The goal of DOM is to define a standard programming interface for XML and HTML, which includes three parts: core, HTML and XML. The core part of the DOM establishes a set of underlying objects that can represent any structured document. HTML and XML provide high-level interfaces that serve as more convenient document views. The DOM specification consists of objects and methods. Programmers use them to make it easier to access and manipulate certain types of documents.
6. Namespaces
Namespaces are a collection of all names that appear in elements and attributes of an XML file, distinguished by URLs. In XML, users can define tags and elements themselves. Therefore, if multiple XML files are merged into one, conflicts are likely to occur. Namespaces solve this problem.
4. PHP’s support for XML
PHP provides powerful support for XML. It uses an XML "parser", and in order to support this parser, it provides 20 (PHP4) XML parsing functions. Below are some of the most commonly used PHP parsing functions.
1. xml_parse
boolean xml_parse(int parser, string data, int [isFinal]);
This function is used to parse file data in XML format. The parameter parser is the parsing code. The parameter data is the parsed data block (chunk). The parameter isFinal can be omitted. If set to true, the system will automatically send the last piece of data to the data parameter. Returns true if there are no errors.
2. xml_parser_create
int xml_parser_create(string [encoding]);
This function is used to initialize a new XML parser. The encoding parameter can be omitted and is the character set used by XML. The default value is ISO-8859-1. There are two other options: US-ASCII and UTF-8. On success, the parser code is returned for use by other functions, and on failure, a false value is returned.
3. xml_set_element_handler
boolean xml_set_element_handler(int parser, string startElementHandler, string endElementHandler);
This function configures the header of the element for use by the xml_parse() function. The parameter parser is the parsing code. The parameters startElementHandler and endElementHandler are the headers of the start and end of the element respectively. The startElementHandler must include the parsing code, name, and attributes, while the endElementHandler parameter includes the parsing code and name. Returns true if there are no errors.
4. xml_set_character_data_handler
boolean xml_set_character_data_handler(int parser, string handler);
This function configures the header of character data. The parameter parser is the parsing code. The parameter handler includes two elements: parsing code and data string. Returns true if there are no errors.
5. xml_get_error_code
int xml_get_error_code(int parser);
This function can obtain the error code during XML processing. The parameter parser is the parsing code. If the parser has an error, it returns a false value, otherwise it returns an error code (such as XML_ERROR_BINARY_ENTITY_REF .... etc.).
6. xml_error_string
String xml_error_string(int code);
This function can obtain the error code during XML processing. The parameter code is the parsing error code. If there is no error, the return value is a text description string of the code.
7. xml_get_current_line_number
int xml_get_current_line_number(int parser);
This function is used to obtain the line number currently being processed by XML parsing. The parameter parser is the parsing code. If the parser has an error, it returns a false value, if there is no error, it returns a line number.
8. xml_parser_free
boolean xml_parser_free(int parser);
This function is used to release the memory currently used by XML parsing. The parameter parser is the parsing code. Returns true if there are no errors, false otherwise.
5. Case analysis
The following is an example of using PHP5 to read an address book address.xml written in XML 1.0 format and display its contents. See relevant notes for details.
<ol class="dp-c"> <li class="alt"><span><span> </span></span></li> <li><span> </span></li> <li class="alt"> <span></span><span class="comment">// </span><span> </span> </li> <li><span> </span></li> <li class="alt"> <span> </span><span class="comment">//Part 1: Several PHP Helper functions </span><span> </span> </li> <li><span> </span></li> <li class="alt"> <span> </span><span class="comment">// </span><span> </span> </li> <li><span> </span></li> <li class="alt"> <span> </span><span class="comment">/************************************ </span> </li> <li><span> </span></li> <li class="alt"><span><span class="comment"> * Read XML from a file * </span> </span></li> <li><span> </span></li> <li class="alt"><span><span class="comment"> Content into string * </span> </span></li> <li><span> </span></li> <li class="alt"><span><span class="comment"> ************** *******************/</span><span> </span></span></li> <li><span> </span></li> <li class="alt"> <span> </span><span class="keyword">function</span><span> read_file(</span><span class="vars">$filename</span><span>) </span> </li> <li> <span> </span> </li> <li class="alt"><span> { </span></li> <li><span> </span></li> <li class="alt"> <span> </span><span class="comment">//Read File</span><span> </span> </li> <li><span> </span></li> <li class="alt"> <span> </span><span class="vars">$lines</span><span>=file(</span><span class="vars">$filename</span><span>); </span> </li> <li><span> </span></li> <li class="alt"> <span> </span><span class="comment">//The variable $contents is Variables to store file contents </span><span> </span> </li> <li><span> </span></li> <li class="alt"> <span> </span><span class="vars">$contents</span><span>= </span><span class="string">""</span><span>; </span> </li> <li><span> </span></li> <li class="alt"> <span> 🎜>(list(</span><p align="left"></p> <div style="display:none;"> <span id="url" itemprop="url">http://www.bkjia.com/PHPjc/486021.html</span><span id="indexUrl" itemprop="indexUrl">www.bkjia.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">http: //www.bkjia.com/PHPjc/486021.html</span><span id="genre" itemprop="genre">TechArticle</span><span id="description" itemprop="description">1. Small order HTML is simple, easy to learn and versatile. General PHP programs are embedded in HTML language. However, as the WEB becomes more and more widely used, the weaknesses of HTML are becoming more and more obvious. ...</span> </div> <div class="art_confoot"></div> </li> </ol>