Новые книги

Фундаментальный учебник по основам объектно-ориентированного программирования и инженерии программ. В книге подробно излагаются основные понятия объектной технологии – классы, объекты, управление памятью, типизация, наследование, универсализация. Большое внимание уделяется проектированию по контракту и обработке исключений, как механизмам, обеспечивающим корректность и устойчивость программных систем.

В книге Бертрана Мейера рассматриваются основы объектно-ориентированного программирования. Изложение начинается с рассмотрения критериев качества программных систем и обоснования того, как объектная технология разработки может обеспечить требуемое качество. Основные понятия объектной технологии и соответствующая нотация появляются как результат тщательного анализа и обсуждений. Подробно рассматривается понятие класса - центральное понятие объектной технологии. Рассматривается абстрактный тип данных, лежащий в основе класса, совмещение классом роли типа данных и модуля и другие аспекты построения класса. Столь же подробно рассматриваются объекты и проблемы управления памятью. Большая часть книги уделена отношениям между классами – наследованию, универсализации и их роли в построении программных систем. Важную часть книги составляет введение понятия контракта, описание технологии проектирования по контракту, как механизма, обеспечивающего корректность создаваемых программ. Не обойдены вниманием и другие важные темы объектного программирования – скрытие информации, статическая типизация, динамическое связывание и обработка исключений. Глубина охвата рассматриваемых тем делает книгу Бертрана Мейера незаменимой для понимания основ объектного программирования.
Ведущеее международное пособие! Самое актуальное издание классического учебника ? Марк Джонстон и Грэг Маршалл продолжают традиции мастерства, заложенные Черчиллем, Фордом и Уокером. Классика, полностью адаптированная к современной практике управления продажами.

В новом издании вас ожидают:

[ul]актуальный набор практических инструментов по управлению отделом продаж;

примеры из современной практики управления продажами;

разбор вопросов лидерства, технологий, инноваций, этики и глобального бизнеса;

разные подходы к коммуникации в сфере продаж.[/ul]

Язык XML. JavaScript сценарий, обрабатывающий XML-документ

 

Приложение 2

JavaScript сценарий, обрабатывающий XML-документ, приведенный в приложении 1

<HTML>
<head>
<title></title>
<script language="javascript">
<!--
var xmldoc = new ActiveXObject("msxml");
var xmlsrc = "http://localhost/xml/journal.xml";
function viewTitle(elem){  // Отображение заголовка документа, определяемого элементом <title>
this.document.writeln('<center><table width="100%" border=0><tr><td width="100%" align="center" bgcolor="silver"><b><font color="black">'+elem.text+'</font></b></td></tr></table></center><br>');
}
function viewContactsList(elem){ // Отображение содержимого дочерних элементов <author-list>
this.document.writeln('<tr><td align="right" colspan="2" bgcolor="gray"><b><font color="white">Наши реквизиты</font></b></td></tr>');
this.document.writeln('<tr><td bgcolor="silver" colspan="2"><center><table width="80%" border=0>');
 if(elem.type==0){
  if(elem.children!=null){
    this.document.writeln('<tr><td colspan=2 width="100%"> </td></tr>');
     var cur_item=elem.children.item("address");
     if(cur_item!=null){
      this.document.writeln('<tr><td><font color="blue">Адрес</font></td><td align="right" ><b><font color="red">'+cur_item.text+'</font></b></td></tr>');
     }
     var cur_item=elem.children.item("tel",0);
     if(cur_item!=null){
      this.document.writeln('<tr><td><font color="blue">Телефон</font></td><td align="right" ><b><font color="red">'+cur_item.text+'</font></b></td></tr>');
     }
     var cur_item=elem.children.item("email");
     if(cur_item!=null){
      this.document.writeln('<tr><td><font color="blue">E-Mail</font></td><td align="right"><b><font color="red">'+cur_item.text+'</font></b></td></tr>');
     }
     var cur_item=elem.children.item("url");
     if(cur_item!=null){
      this.document.writeln('<tr><td><font color="blue">URL</font></td><td align="right"><b><font color="red">'+cur_item.text+'</font></b></td></tr>');
     }
    }
 }
this.document.writeln('<tr><td colspan=2 width="100%"> </td></tr>');
this.document.writeln('</table></center></td></tr>');
}
function viewAuthorsList(elem){	// Отображение содержимого дочерних элементов <author-list>
this.document.writeln('<tr><td align="right" colspan="2" bgcolor="gray"><b><font color="white">Наши авторы</font></b></td></tr>');
this.document.writeln('<tr><td bgcolor="silver" colspan="2"><center><table width="80%" border=0>');
 if(elem.type==0){
  if(elem.children!=null){      
   for(i=0;i<elem.children.length;i++){
    var cur_author = elem.children.item("author",i);
    this.document.writeln('<tr><td colspan=2 width="100%"> </td></tr>');
    if(cur_author.children!=null){
     var cur_item=cur_author.children.item("firstname");
     if(cur_item!=null){
      this.document.writeln('<tr><td><font color="blue">Имя</font></td><td align="right" ><b><font color="red">'+cur_item.text+'</font></b></td></tr>');
     }
     var cur_item=cur_author.children.item("lastname");
     if(cur_item!=null){
      this.document.writeln('<tr><td><font color="blue">Фамилия</font></td><td align="right" ><b><font color="red">'+cur_item.text+'</font></b></td></tr>');
     }
     var cur_item=cur_author.children.item("email");
     if(cur_item!=null){
      this.document.writeln('<tr><td><font color="blue">E-Mail</font></td><td align="right"><b><font color="red">'+cur_item.text+'</font></b></td></tr>');
     }
    }
   }
  }   
 }
this.document.writeln('</table></center></td></tr>');
}
function viewError(){
this.document.writeln('<center><hr>Error was detected');
}
function parse(root){
if(root==null) return;
 var i=0;
 var elem;                       
if(root.children!=null){	// Если вложенные элементы не были определены, то свойство children будет установленно в null
this.document.writeln('<center><table width="80%" border=0><tr><td>');
                               // Перебор дочерних элементов
 for(i=0;i<root.children.length;i++){
  elem=root.children.item(i);
  if(root.children.item(i).tagName=="TITLE"){
    viewTitle(elem);            // Разбор подэлементов <title>
  }
  if(elem.tagName=="CONTACTS"){
    viewContactsList(elem);     // Разбор подэлементов <contacts>
  }
  if(elem.tagName=="AUTHORS-LIST"){
    viewAuthorsList(elem);      // Разбор подэлементов <authors-list>
  }  
 }
this.document.writeln('</td></tr></table>');
  }   
}
function viewDocument(){
xmldoc.URL = xmlsrc;     // Загрузка XML документа
this.document.writeln('<body bgcolor="white">');
parse(xmldoc.root);      // Начало разбора документа
this.document.writeln('</body>');
}
// Генерирование страницы
viewDocument();
//-->
</script>
</head>

Назад | Содержание | Вперед