Новые книги

Что делает рекламу эффективной? Вопрос, который стоит и перед практиками, и перед теоретиками, и перед студентами, вынесен во главу угла седьмого издания прославленной «Рекламы» У. Уэллса, С. Мориарти и Дж. Бернетта.

Книга поможет разобраться в правилах планирования, создания и оценки рекламы в современных условиях. В ней рассматриваются все аспекты рекламного бизнеса, от объяснения роли рекламы в обществе до конкретных рекомендаций по ведению рекламных кампаний в различных отраслях, описания стратегий рекламы, анализа влияния рекламы на маркетинг, поведения потребителей, и многое другое. Вы познакомитесь с лучшими в мире рекламными кампаниями, узнаете об их целях и лежащих в их основе креативных идеях. Вы узнаете, как разрабатывались и реализовывались идеи, как принимались важные решения и с какими рисками сталкивались создатели лучших рекламных решений. Авторы изучили реальные документы, касающиеся планирования описанных в книге рекламных кампаний, разговаривали с людьми, занимавшимися их разработкой. Сделано это с одной целью: научить читателя тем принципам и практикам, что стоят за успешным продвижением.

Книга будет безусловно полезна студентам вузов, слушателям программ МВА, а равно и рекламистам-практикам. «Реклама: принципы и практика» – это книга, которую следует прочитать, чтобы узнать все об эффективной рекламе.

7-е издание.
Эта книга посвящена теории колорита в живописи. Но возможна ли вообще такая теория? Чувство цвета едва ли не самое субъективное из человеческих чувств. О чем здесь можно говорить и спорить?

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

Научная теория восприятия цвета существует. Она нужна. Но нужна ли и возможна ли теория колорита, теория живописи и вообще теория искусства — этой «субъективнейшей» области человеческой практики, теория проявлений редкого таланта?

Мне приходилось слышать возражения вроде следующего.

Мы понимаем, что теория машин и механизмов нужна. На основе этой теории можно построить хорошие машины. Но разве возможно на основе теории живописи написать хорошие картины, и в частности на основе теории колорита найти яркие цветовые решения? Это дело таланта. Теория искусства, по мысли подобных скептиков, — бессмысленная затея.

Ответим так. Представление о связи теории и практики у подобных скептиков наивно. Существуют теории языка и теории отдельных языковых форм — фонетика, морфология, синтаксис. Но никому не приходит в голову, что задача теории языка — создавать новые языки. Кстати сказать, — к стыду работников изофронта — существуют теория литературы, поэтика и теория музыки, которые также не создают эталонов для хороших повестей, поэм и симфоний и не ставят себе подобных нелепых задач.

Теория языка нужна для обучения языку, для того, чтобы охранять чистоту и помогать правильному и гибкому использованию его форм, для того чтобы легче усваивать структуру и оттенки чужих языков. Разве теория живописи, и в частности теория колорита, не может помочь решению аналогичных практических задач? Отрицание связи между наукой и художественной практикой противоречит традициям русского передового искусства. К. С. Станиславский, формулируя понятия сценического искусства, выражал сожаление, что психология не дала в руки актеру этих понятий. Он сознавал — в противоположность снобам от искусства — несовершенство своих попыток говорить о законах сцены и упрекал ученых в отсутствии нужной теории 1.

Так говорил еще Станиславский. Что же должны сказать мы, в наши дни?

Исключительное значение проблемы цвета для живописи всегда остро чувствовали передовые советские художники. Вопросы цвета занимали видное место в творческих дискуссиях 20-х и 30-х годов. Они не раз возникали и в послевоенные годы. Однако наибольшую остроту эти вопросы приобретают в наши дни.

xslt_process

Учебник РНР
Назад Вперёд

xslt_process

(PHP 4 >= 4.0.3)

xslt_process - выполняет XSLT-трансформацию.

Описание

mixed xslt_process (resource xh, string xml, string xsl [, string result [, array arguments [, array parameters]]])

xslt_process() это краеугольный камень нового расширения XSLT. Она даёт возможность выполнять XSLT-трансформацию с использованием почти всех типов источников ввода. Это делается с помощью буферов аргументов -- концепции, взятой из Sablotron XSLT-процессора (в настоящее время - единственного XSLT-процессора, который поддерживается данным расширением).

Самая простая трансформация функцией xslt_process() - это трансформация XML-файла XSLT-файлом с помещением результата в третий файл, содержащий новый XML (или HTML)-документ. Сделать это с помощью sablotron действительно довольно легко ...

Пример 1. Использование xslt_process() для трансформации XML-файла и
XSL-файла в новый XML-файл
<?php

// Разместить новый XSLT-процессор
$xh = xslt_create();

// Обработать документ
if (xslt_process($xh, 'sample.xml', 'sample.xsl', 'result.xml')) {
    print "SUCCESS, sample.xml was transformed by sample.xsl into result.xml";
    print ", result.xml has the following contents\n<br>\n";
    print "<pre>\n";
    readfile('result.xml');
    print "</pre>\n";
}
else {
    print "Sorry, sample.xml could not be transformed by sample.xsl into";
    print "  result.xml the reason is that " . xslt_error($xh) . " and the ";
    print "error code is " . xslt_errno($xh);
}

xslt_free($xh);

?>

Хотя эта функциональность великолепна, часто, особенно в окружении web, вам понадобится выводить результату напрямую. Следовательно, если вы опустите третий аргумент для функции xslt_process() (или предоставите NULL-значение этого аргумента), она автоматически возвратит значение XSLT-трансформации, вместо записи его в файл ...

Пример 2. Использование xslt_process() для трансформации XML-файла и XSL-файла в переменную, содержащую результирующие XML-данные
<?php

// Разместить новый XSLT-процессор
$xh = xslt_create();

// обработать документ, возвращая результат в переменной $result
$result = xslt_process($xh, 'sample.xml', 'sample.xsl');
if ($result) {
    print "SUCCESS, sample.xml was transformed by sample.xsl into the \$result";
    print " variable, the \$result variable has the following contents\n<br>\n";
    print "<pre>\n";
    print $result;
    print "</pre>\n";
}
else {
    print "Sorry, sample.xml could not be transformed by sample.xsl into";
    print "  the \$result variable the reason is that " . xslt_error($xh) . 
    print " and the error code is " . xslt_errno($xh);
}

xslt_free($xh);

?>

Это были два простейших случая XSLT-транфсормации, и я могу с уверенностью сказать - самые распространённые случаи, однако иногда вы получаете ваш XML и XSLT-код из внешних источников, таких как БД или сокет. В этих случаях у вас будут XML и/или XSLT-данные в переменной -- и в работающих приложениях перегрузка при дампе их в файл может оказаться значительной. Вместо файлов как аргументов XML и XSLT для xslt_process(), вы можете специфицировать "заглушки документов", которые затем замещаются значениями из массива аргументов (5-й параметр функции xslt_process()). Далее идёт пример процессинга XML и XSLT в результирующую переменную вообще без использования файлов.

Пример 3. Использование xslt_process() для трансформации переменной, содержащей XML-данные, и переменной, содержащей XSL-данные, в переменную, содержащую результирующие XML-данные
<?php
// $xml и $xsl содержат XML и XSL-данные

$arguments = array(
     '/_xml' => $xml,
     '/_xsl' => $xsl
);

// разместить новый XSLT-процессор
$xh = xslt_create();

// обработать документ
$result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments); 
if ($result) {
    print "SUCCESS, sample.xml was transformed by sample.xsl into the \$result";
    print " variable, the \$result variable has the following contents\n<br>\n";
    print "<pre>\n";
    print $result;
    print "</pre>\n";
}
else {
    print "Sorry, sample.xml could not be transformed by sample.xsl into";
    print "  the \$result variable the reason is that " . xslt_error($xh) . 
    print " and the error code is " . xslt_errno($xh);
}
xslt_free($xh);
?>

Наконец, последний аргумент функции xslt_process() это любые параметры, которые вы хотите передать в XSLT-документ. Можно получить доступ к этим параметрам внутри ваших XSL-файлов с помощью инструкции <xsl:param name="parameter_name">.


Назад Оглавление Вперёд
xslt_free Вверхxslt_set_base