<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=PHP%2FXML%2FXML_Transformation</id>
		<title>PHP/XML/XML Transformation - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=PHP%2FXML%2FXML_Transformation"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/XML/XML_Transformation&amp;action=history"/>
		<updated>2026-04-04T19:47:55Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=PHP/XML/XML_Transformation&amp;diff=1590&amp;oldid=prev</id>
		<title> в 10:37, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/XML/XML_Transformation&amp;diff=1590&amp;oldid=prev"/>
				<updated>2010-05-26T10:37:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 10:37, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=PHP/XML/XML_Transformation&amp;diff=1591&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/XML/XML_Transformation&amp;diff=1591&amp;oldid=prev"/>
				<updated>2010-05-26T07:08:23Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Generating Tables from XML==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;contact id=&amp;quot;43956&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;personal&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;&lt;br /&gt;
               &amp;lt;first&amp;gt;J&amp;lt;/first&amp;gt;&lt;br /&gt;
               &amp;lt;middle&amp;gt;J&amp;lt;/middle&amp;gt;&lt;br /&gt;
               &amp;lt;last&amp;gt;J&amp;lt;/last&amp;gt;&lt;br /&gt;
          &amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;Manager&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;employer&amp;gt;National&amp;lt;/employer&amp;gt;&lt;br /&gt;
          &amp;lt;dob&amp;gt;1971-12-22&amp;lt;/dob&amp;gt;&lt;br /&gt;
     &amp;lt;/personal&amp;gt;&lt;br /&gt;
&amp;lt;/contact&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Parsing With Expat and PHP&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
     $cdata = &amp;quot;&amp;quot;;&lt;br /&gt;
     $cur_elem = &amp;quot;&amp;quot;;&lt;br /&gt;
     $first_name = &amp;quot;&amp;quot;;&lt;br /&gt;
     $middle_name = &amp;quot;&amp;quot;;&lt;br /&gt;
     $last_name = &amp;quot;&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
     $hdr_row   = &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;%s&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
     $data_row  = &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td &amp;gt;%s&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%s&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
     $empty_row = &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
     function start_elem ($parser, $name, $attrs) {&lt;br /&gt;
          global $cur_elem;&lt;br /&gt;
          $cur_elem = $name;&lt;br /&gt;
          if ($name == &amp;quot;contact&amp;quot;)&lt;br /&gt;
               print (&amp;quot;&amp;lt;table cellspacing=0&amp;gt;\n&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     function end_elem ($parser, $name) {&lt;br /&gt;
          global $cdata, $cur_elem, $hdr_row, $data_row, $empty_row,&lt;br /&gt;
                 $first_name, $last_name, $middle_name;&lt;br /&gt;
          $cdata = trim ($cdata);&lt;br /&gt;
          switch ($name)&lt;br /&gt;
          {&lt;br /&gt;
               case (&amp;quot;contact&amp;quot;):&lt;br /&gt;
                    print (&amp;quot;&amp;lt;/table&amp;gt;\n&amp;quot;); break;&lt;br /&gt;
               case (&amp;quot;personal&amp;quot;):&lt;br /&gt;
               case (&amp;quot;address&amp;quot;):&lt;br /&gt;
               case (&amp;quot;tel&amp;quot;):&lt;br /&gt;
                    print ($empty_row); break;&lt;br /&gt;
               case (&amp;quot;name&amp;quot;):&lt;br /&gt;
                    print (sprintf ($hdr_row,&lt;br /&gt;
                           &amp;quot;$last_name, $first_name $middle_name&amp;quot;));&lt;br /&gt;
                    $first_name = $last_name = $middle_name = &amp;quot;&amp;quot;; break;&lt;br /&gt;
               case (&amp;quot;title&amp;quot;):&lt;br /&gt;
                    print (sprintf ($data_row, &amp;quot;Title&amp;quot;, $cdata)); break;&lt;br /&gt;
               case (&amp;quot;employer&amp;quot;):&lt;br /&gt;
                    print (sprintf ($data_row, &amp;quot;Company&amp;quot;, $cdata)); break;&lt;br /&gt;
               case (&amp;quot;dob&amp;quot;): print (sprintf ($data_row, &amp;quot;Birthdate&amp;quot;, $cdata));&lt;br /&gt;
                    break;&lt;br /&gt;
          }&lt;br /&gt;
          $cdata = &amp;quot;&amp;quot;;&lt;br /&gt;
     }&lt;br /&gt;
     function cdata ($parser, $data) {&lt;br /&gt;
          global $cdata, $cur_elem, $last_name, $first_name, $middle_name;&lt;br /&gt;
          $data = trim ($data);&lt;br /&gt;
          switch ($cur_elem)&lt;br /&gt;
          {&lt;br /&gt;
               case (&amp;quot;first&amp;quot;):&lt;br /&gt;
                    $first_name .= $data; break;&lt;br /&gt;
               case (&amp;quot;middle&amp;quot;):&lt;br /&gt;
                    $middle_name .= $data; break;&lt;br /&gt;
               case (&amp;quot;last&amp;quot;):&lt;br /&gt;
                    $last_name .= $data; break;&lt;br /&gt;
               default:&lt;br /&gt;
                    $cdata .= $data;&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
     $file = &amp;quot;contact.xml&amp;quot;;&lt;br /&gt;
     $parser = xml_parser_create ();&lt;br /&gt;
     xml_parser_set_option ($parser, XML_OPTION_CASE_FOLDING, false);&lt;br /&gt;
     xml_set_element_handler ($parser, &amp;quot;start_elem&amp;quot;, &amp;quot;end_elem&amp;quot;);&lt;br /&gt;
     xml_set_character_data_handler ($parser, &amp;quot;cdata&amp;quot;);&lt;br /&gt;
     $fp = fopen ($file, &amp;quot;r&amp;quot;);&lt;br /&gt;
     if (!$fp){&lt;br /&gt;
          die (&amp;quot;Couldn&amp;quot;t open $file for reading&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     while ($xml_input = fread ($fp, 2048)) {&lt;br /&gt;
          $ok = xml_parse ($parser, $xml_input, feof ($fp));&lt;br /&gt;
          if (!$ok){&lt;br /&gt;
               die (sprintf (&amp;quot;Error in $file: &amp;quot;%s&amp;quot; at line %d&amp;quot;,&lt;br /&gt;
                             xml_error_string (xml_get_error_code ($parser)),&lt;br /&gt;
                             xml_get_current_line_number ($parser)));&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
     xml_parser_free ($parser);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Transforming XML into Basic HTML==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Parsing With Expat and PHP&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
     $cdata = &amp;quot;&amp;quot;;&lt;br /&gt;
     function start_elem ($parser, $name, $attrs) {&lt;br /&gt;
          switch ($name) {&lt;br /&gt;
               case (&amp;quot;personal&amp;quot;):&lt;br /&gt;
                    print (&amp;quot;&amp;lt;p&amp;gt;&amp;quot;); break;&lt;br /&gt;
               case (&amp;quot;name&amp;quot;):&lt;br /&gt;
                    print (&amp;quot;&amp;lt;b&amp;gt;&amp;lt;big&amp;gt;&amp;quot;); break;&lt;br /&gt;
               case (&amp;quot;address&amp;quot;):&lt;br /&gt;
                    print (&amp;quot;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Address&amp;lt;/b&amp;gt;\n&amp;quot;); break;&lt;br /&gt;
               case (&amp;quot;tel&amp;quot;):&lt;br /&gt;
                    print (&amp;quot;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Telephone&amp;lt;/b&amp;gt;\n&amp;quot;); break;&lt;br /&gt;
               case (&amp;quot;contact&amp;quot;):&lt;br /&gt;
               case (&amp;quot;name&amp;quot;):&lt;br /&gt;
               case (&amp;quot;first&amp;quot;):&lt;br /&gt;
               case (&amp;quot;middle&amp;quot;):&lt;br /&gt;
               case (&amp;quot;last&amp;quot;):&lt;br /&gt;
               case (&amp;quot;title&amp;quot;):&lt;br /&gt;
               case (&amp;quot;employer&amp;quot;):&lt;br /&gt;
               case (&amp;quot;dob&amp;quot;):&lt;br /&gt;
                    break;&lt;br /&gt;
               default:&lt;br /&gt;
                    print (&amp;quot;&amp;lt;b&amp;gt;Warning: Unknown tag &amp;quot;$name&amp;quot;&amp;quot;); break;&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
     function end_elem ($parser, $name) {&lt;br /&gt;
          global $cdata;&lt;br /&gt;
          $cdata = trim ($cdata);&lt;br /&gt;
          switch ($name)&lt;br /&gt;
          {&lt;br /&gt;
               case (&amp;quot;personal&amp;quot;):&lt;br /&gt;
                    print (&amp;quot;&amp;lt;/p&amp;gt;\n\n&amp;quot;); break;&lt;br /&gt;
               case (&amp;quot;name&amp;quot;):&lt;br /&gt;
                    print (&amp;quot;&amp;lt;/big&amp;gt;&amp;lt;/b&amp;gt;\n&amp;quot;); break;&lt;br /&gt;
               case (&amp;quot;first&amp;quot;):&lt;br /&gt;
                    print ($cdata . &amp;quot; &amp;quot;); $cdata = &amp;quot;&amp;quot;; break;&lt;br /&gt;
               case (&amp;quot;middle&amp;quot;):&lt;br /&gt;
                    print ($cdata . &amp;quot; &amp;quot;); $cdata = &amp;quot;&amp;quot;; break;&lt;br /&gt;
               case (&amp;quot;last&amp;quot;):&lt;br /&gt;
                    print (&amp;quot;$cdata&amp;quot;); $cdata = &amp;quot;&amp;quot;; break;&lt;br /&gt;
               case (&amp;quot;title&amp;quot;):&lt;br /&gt;
                    print (&amp;quot;&amp;lt;br /&amp;gt;Title: $cdata\n&amp;quot;); $cdata = &amp;quot;&amp;quot;; break;&lt;br /&gt;
               case (&amp;quot;employer&amp;quot;):&lt;br /&gt;
                    print (&amp;quot;&amp;lt;br /&amp;gt;Company: $cdata\n&amp;quot;); $cdata = &amp;quot;&amp;quot;; break;&lt;br /&gt;
               case (&amp;quot;dob&amp;quot;):&lt;br /&gt;
                    print (&amp;quot;&amp;lt;br /&amp;gt;Birthdate: $cdata\n&amp;quot;); $cdata = &amp;quot;&amp;quot;; break;&lt;br /&gt;
               default:&lt;br /&gt;
                    print (&amp;quot;Warning: Unknown element &amp;quot;$name&amp;quot;&amp;quot;); break;&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
     function cdata ($parser, $data) {&lt;br /&gt;
          global $cdata;&lt;br /&gt;
          $cdata .= $data;&lt;br /&gt;
     }&lt;br /&gt;
     $file = &amp;quot;contact.xml&amp;quot;;&lt;br /&gt;
     $parser = xml_parser_create ();&lt;br /&gt;
     xml_parser_set_option ($parser, XML_OPTION_CASE_FOLDING, false);&lt;br /&gt;
     xml_set_element_handler ($parser, &amp;quot;start_elem&amp;quot;, &amp;quot;end_elem&amp;quot;);&lt;br /&gt;
     xml_set_character_data_handler ($parser, &amp;quot;cdata&amp;quot;);&lt;br /&gt;
     $fp = fopen ($file, &amp;quot;r&amp;quot;);&lt;br /&gt;
     if (!$fp){&lt;br /&gt;
          die (&amp;quot;Couldn&amp;quot;t open $file for reading&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     while ($xml_input = fread ($fp, 2048)) {&lt;br /&gt;
          $ok = xml_parse ($parser, $xml_input, feof ($fp));&lt;br /&gt;
          if (!$ok)&lt;br /&gt;
               die (sprintf (&amp;quot;Error in $file: &amp;quot;%s&amp;quot; at line %d&amp;quot;,&lt;br /&gt;
                             xml_error_string (xml_get_error_code ($parser)),&lt;br /&gt;
                             xml_get_current_line_number ($parser)));&lt;br /&gt;
     }&lt;br /&gt;
     xml_parser_free ($parser);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
&amp;lt;contact id=&amp;quot;43956&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;personal&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;&lt;br /&gt;
               &amp;lt;first&amp;gt;J&amp;lt;/first&amp;gt;&lt;br /&gt;
               &amp;lt;middle&amp;gt;J&amp;lt;/middle&amp;gt;&lt;br /&gt;
               &amp;lt;last&amp;gt;J&amp;lt;/last&amp;gt;&lt;br /&gt;
          &amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;Manager&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;employer&amp;gt;National Company&amp;lt;/employer&amp;gt;&lt;br /&gt;
          &amp;lt;dob&amp;gt;1951-02-02&amp;lt;/dob&amp;gt;&lt;br /&gt;
     &amp;lt;/personal&amp;gt;&lt;br /&gt;
&amp;lt;/contact&amp;gt;&lt;br /&gt;
*/&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>