<?
include_once '../../sys/inc/start.php';
include_once '../../sys/inc/compress.php';
include_once '../../sys/inc/sess.php';
include_once '../../sys/inc/home.php';
include_once '../../sys/inc/settings.php';
include_once '../../sys/inc/db_connect.php';
include_once '../../sys/inc/ipua.php';
include_once '../../sys/inc/fnc.php';
include_once '../../sys/inc/user.php';
$set['title']='Учебник XML';
include_once '../../sys/inc/thead.php';
title();
err();
//aut();
?>
<h3 align=center>Приложение 2</h3>
<h4>JavaScript сценарий, обрабатывающий XML-документ, приведенный в приложении 1</h4>
<pre>
&lt;phpL&gt;
&lt;head&gt;
&lt;title&gt;&lt;/title&gt;
&lt;script language="javascript"&gt;
&lt;!--
var xmldoc = new ActiveXObject("msxml");
var xmlsrc = "http://localhost/xml/journal.xml";
function viewTitle(elem){  // Отображение заголовка документа, определяемого элементом &lt;title&gt;
this.document.writeln('&lt;center&gt;&lt;table width="100%" border=0&gt;&lt;tr&gt;&lt;td width="100%" align="center" bgcolor="silver"&gt;&lt;b&gt;&lt;font color="black"&gt;'+elem.text+'&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/center&gt;&lt;br&gt;');
}
function viewContactsList(elem){ // Отображение содержимого дочерних элементов &lt;author-list&gt;
this.document.writeln('&lt;tr&gt;&lt;td align="right" colspan="2" bgcolor="gray"&gt;&lt;b&gt;&lt;font color="white"&gt;Наши реквизиты&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;');
this.document.writeln('&lt;tr&gt;&lt;td bgcolor="silver" colspan="2"&gt;&lt;center&gt;&lt;table width="80%" border=0&gt;');
 if(elem.type==0){
  if(elem.children!=null){
    this.document.writeln('&lt;tr&gt;&lt;td colspan=2 width="100%"&gt;&nbsp;&lt;/td&gt;&lt;/tr&gt;');
     var cur_item=elem.children.item("address");
     if(cur_item!=null){
      this.document.writeln('&lt;tr&gt;&lt;td&gt;&lt;font color="blue"&gt;Адрес&lt;/font&gt;&lt;/td&gt;&lt;td align="right" &gt;&lt;b&gt;&lt;font color="red"&gt;'+cur_item.text+'&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;');
     }
     var cur_item=elem.children.item("tel",0);
     if(cur_item!=null){
      this.document.writeln('&lt;tr&gt;&lt;td&gt;&lt;font color="blue"&gt;Телефон&lt;/font&gt;&lt;/td&gt;&lt;td align="right" &gt;&lt;b&gt;&lt;font color="red"&gt;'+cur_item.text+'&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;');
     }
     var cur_item=elem.children.item("email");
     if(cur_item!=null){
      this.document.writeln('&lt;tr&gt;&lt;td&gt;&lt;font color="blue"&gt;E-Mail&lt;/font&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;b&gt;&lt;font color="red"&gt;'+cur_item.text+'&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;');
     }
     var cur_item=elem.children.item("url");
     if(cur_item!=null){
      this.document.writeln('&lt;tr&gt;&lt;td&gt;&lt;font color="blue"&gt;URL&lt;/font&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;b&gt;&lt;font color="red"&gt;'+cur_item.text+'&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;');
     }
    }
 }
this.document.writeln('&lt;tr&gt;&lt;td colspan=2 width="100%"&gt;&nbsp;&lt;/td&gt;&lt;/tr&gt;');
this.document.writeln('&lt;/table&gt;&lt;/center&gt;&lt;/td&gt;&lt;/tr&gt;');
}
function viewAuthorsList(elem){	// Отображение содержимого дочерних элементов &lt;author-list&gt;
this.document.writeln('&lt;tr&gt;&lt;td align="right" colspan="2" bgcolor="gray"&gt;&lt;b&gt;&lt;font color="white"&gt;Наши авторы&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;');
this.document.writeln('&lt;tr&gt;&lt;td bgcolor="silver" colspan="2"&gt;&lt;center&gt;&lt;table width="80%" border=0&gt;');
 if(elem.type==0){
  if(elem.children!=null){      
   for(i=0;i&lt;elem.children.length;i++){
    var cur_author = elem.children.item("author",i);
    this.document.writeln('&lt;tr&gt;&lt;td colspan=2 width="100%"&gt;&nbsp;&lt;/td&gt;&lt;/tr&gt;');
    if(cur_author.children!=null){
     var cur_item=cur_author.children.item("firstname");
     if(cur_item!=null){
      this.document.writeln('&lt;tr&gt;&lt;td&gt;&lt;font color="blue"&gt;Имя&lt;/font&gt;&lt;/td&gt;&lt;td align="right" &gt;&lt;b&gt;&lt;font color="red"&gt;'+cur_item.text+'&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;');
     }
     var cur_item=cur_author.children.item("lastname");
     if(cur_item!=null){
      this.document.writeln('&lt;tr&gt;&lt;td&gt;&lt;font color="blue"&gt;Фамилия&lt;/font&gt;&lt;/td&gt;&lt;td align="right" &gt;&lt;b&gt;&lt;font color="red"&gt;'+cur_item.text+'&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;');
     }
     var cur_item=cur_author.children.item("email");
     if(cur_item!=null){
      this.document.writeln('&lt;tr&gt;&lt;td&gt;&lt;font color="blue"&gt;E-Mail&lt;/font&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;b&gt;&lt;font color="red"&gt;'+cur_item.text+'&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;');
     }
    }
   }
  }   
 }
this.document.writeln('&lt;/table&gt;&lt;/center&gt;&lt;/td&gt;&lt;/tr&gt;');
}
function viewError(){
this.document.writeln('&lt;center&gt;&lt;hr&gt;Error was detected');
}
function parse(root){
if(root==null) return;
 var i=0;
 var elem;                       
if(root.children!=null){	// Если вложенные элементы не были определены, то свойство children будет установленно в null
this.document.writeln('&lt;center&gt;&lt;table width="80%" border=0&gt;&lt;tr&gt;&lt;td&gt;');
                               // Перебор дочерних элементов
 for(i=0;i&lt;root.children.length;i++){
  elem=root.children.item(i);
  if(root.children.item(i).tagName=="TITLE"){
    viewTitle(elem);            // Разбор подэлементов &lt;title&gt;
  }
  if(elem.tagName=="CONTACTS"){
    viewContactsList(elem);     // Разбор подэлементов &lt;contacts&gt;
  }
  if(elem.tagName=="AUTHORS-LIST"){
    viewAuthorsList(elem);      // Разбор подэлементов &lt;authors-list&gt;
  }  
 }
this.document.writeln('&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;');
  }   
}
function viewDocument(){
xmldoc.URL = xmlsrc;     // Загрузка XML документа
this.document.writeln('&lt;body bgcolor="white"&gt;');
parse(xmldoc.root);      // Начало разбора документа
this.document.writeln('&lt;/body&gt;');
}
// Генерирование страницы
viewDocument();
//--&gt;
&lt;/script&gt;
&lt;/head&gt;
</pre>
<p><center><p>
<font size=-1>
<a href="APP1.php">Назад</a> | <a href="index.php">Содержание</a> | <a href="APP3.php">Вперед</a></font></center></p>
</body></html>
<?
include_once '../../sys/inc/tfoot.php';
?>