Список форумов Шадринский форум -> Программирование -> PHP, PERL, HTML, CSS etc -> Parser
Начать новую тему   Ответить на тему   вывод темы на печать

Parser

Автор
Сообщение
Mikhajlo
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 05.12.2007
Сообщения: 31
Откуда: Ша... Шу... Ши...

Статус: Offline
СообщениеДобавлено: 2007.12.05 21:09.02
Ответить с цитатой
А с птичкой знакомы?

Parser
_________________
Моя твоя понимать, когда ты понятно писать!
***
STARGATE SG1
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2007.12.05 21:54.22
Ответить с цитатой
и чо?
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Mikhajlo
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 05.12.2007
Сообщения: 31
Откуда: Ша... Шу... Ши...

Статус: Offline
СообщениеДобавлено: 2007.12.05 22:03.50
Ответить с цитатой
Лано.... Проехали...
_________________
Моя твоя понимать, когда ты понятно писать!
***
STARGATE SG1
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Leon
Бот-тролль 85 лв


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 61661


Статус: Offline
СообщениеДобавлено: 2007.12.05 22:07.00
Ответить с цитатой

_________________
Скажи мне чей Крым, и я скажу кто ты.
Посмотреть профиль Отправить личное сообщение
Mikhajlo
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 05.12.2007
Сообщения: 31
Откуда: Ша... Шу... Ши...

Статус: Offline
СообщениеДобавлено: 2007.12.05 22:40.39
Ответить с цитатой
Будем смайлами обмениватись...
Али по теме дискутировать?

Цитата
Parser — это технология создания сайтов с помощью простого языка. Он немного сложнее HTML, но не требует особенного умения программировать. Parser начал создаваться в Студии Лебедева в 1997 году. Сегодня подавляющее большинство сайтов, создаваемых Студией Лебедева, делаются с его помощью.


Цитата
Язык специально спроектирован и оптимизирован для того, чтобы было удобно создавать хорошие сайты. Работа с формами, cookies, табличными файлами, базами данных и XML — часть языка, а модульность языка позволяет легко наращивать функциональность.


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


Цитата
Parser в известном смысле — макроязык, в нём нет оператора print; весь текст, набранный в исходном файле, суть большой оператор print. Конструкции Parser являются погруженными в текст.
Получается, что вы не пишете программу, которая выводит текст — наоборот, в имеющийся текст вы добавляете логику, ^if(условие){действие}, и организацию, блоки(методы), на которые вы разбиваете HTML-код:
@header[]
...
@footer[]
...
@navigation[]
...
@body[]
...

_________________
Моя твоя понимать, когда ты понятно писать!
***
STARGATE SG1


Последний раз редактировалось: Mikhajlo (2007.12.05 22:45.02), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Slider
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 13.11.2006
Сообщения: 6289
Откуда: Екатеринбург&Шадринск

Статус: Offline
СообщениеДобавлено: 2007.12.05 22:43.53
Ответить с цитатой
чуш
_________________
накапливаю джедайскую силу
http://booking.com/ http://bookingb2b.com/
http://www.aicgroup.biz http://www.gta-travel.com/en/home
Посмотреть профиль Отправить личное сообщение Посетить сайт автора ICQ Number
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2007.12.05 22:48.10
Ответить с цитатой
Mikhajlo писал(а):
по теме дискутировать?

где дискуссия?
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Mikhajlo
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 05.12.2007
Сообщения: 31
Откуда: Ша... Шу... Ши...

Статус: Offline
СообщениеДобавлено: 2007.12.05 22:56.10
Ответить с цитатой
andy ice писал(а):
и чо?

междометье, мне каца, не компетентНО...
Лано...
Тема дискуссии:
ЧТО ВЫ ДУМАЕТЕ О ТЕХНОЛОГИИ PARSER.
Цитата
PHP — это язык программирования, требующий соответствующей подготовки. На Parser могут работать далеко не профессиональные программисты. Parser именно тем и хорош, что позволяет простым смертным создавать и поддерживать сложные динамические сайты без больших затрат времени.


В таком варианте моё первое сообщение в теме более понятно?
_________________
Моя твоя понимать, когда ты понятно писать!
***
STARGATE SG1
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Slider
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 13.11.2006
Сообщения: 6289
Откуда: Екатеринбург&Шадринск

Статус: Offline
СообщениеДобавлено: 2007.12.05 23:10.48
Ответить с цитатой
Цитата
PHP — это язык программирования, требующий соответствующей подготовки

сам язык - простейший, в нем нет ничего сложного..... возможно у вас возникает проблема в составлении алгоритмов решения задач, ну дак тут уж вам никакие технологии непомогут - читайте книжки, эксперементируйте и т д и т п.
_________________
накапливаю джедайскую силу
http://booking.com/ http://bookingb2b.com/
http://www.aicgroup.biz http://www.gta-travel.com/en/home
Посмотреть профиль Отправить личное сообщение Посетить сайт автора ICQ Number
Mikhajlo
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 05.12.2007
Сообщения: 31
Откуда: Ша... Шу... Ши...

Статус: Offline
СообщениеДобавлено: 2007.12.05 23:21.58
Ответить с цитатой
книжки-то читаю,
а вот от темы уходите...
Может она ваще не нужна?
_________________
Моя твоя понимать, когда ты понятно писать!
***
STARGATE SG1
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2007.12.06 08:18.36
Ответить с цитатой
Mikhajlo писал(а):
междометье, мне каца, не компетентНО...
как междометие может быть не компетентно? по-моему оно вполне отвеило на товй вопрос и означает примерно - да, слышали, а почему вы спрашиваете?
Mikhajlo писал(а):
Может она ваще не нужна?
в том то и вопрос - зачем тема-то?
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
xapac
Писатель


Пол: Пол:Муж.
Зарегистрирован: 28.01.2006
Сообщения: 698


Статус: Offline
СообщениеДобавлено: 2007.12.06 17:19.54
Ответить с цитатой
а я феб странички писал не на пхп не на празеров а на lua
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора ICQ Number
Slider
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 13.11.2006
Сообщения: 6289
Откуда: Екатеринбург&Шадринск

Статус: Offline
СообщениеДобавлено: 2007.12.06 21:27.27
Ответить с цитатой
xapac
жжош )) если ты про курсовую прошлогоднюю - то видел, нече так )
_________________
накапливаю джедайскую силу
http://booking.com/ http://bookingb2b.com/
http://www.aicgroup.biz http://www.gta-travel.com/en/home
Посмотреть профиль Отправить личное сообщение Посетить сайт автора ICQ Number
Brain
Писатель


Пол: Пол:Муж.
Зарегистрирован: 01.12.2004
Сообщения: 357


Статус: Offline
СообщениеДобавлено: 2007.12.07 01:47.39
Ответить с цитатой
может пример какойнибудь напишите?
типа php vs parser
и кто кого забадает...

Добавлено спустя 3 часа 2 минуты 44 секунды:

Mikhajlo писал(а):
книжки-то читаю,
а вот от темы уходите...
Может она ваще не нужна?


нужна, развивай
Посмотреть профиль Отправить личное сообщение
Mikhajlo
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 05.12.2007
Сообщения: 31
Откуда: Ша... Шу... Ши...

Статус: Offline
СообщениеДобавлено: 2007.12.10 18:46.51
Ответить с цитатой
Brain писал(а):
и кто кого забадает...



как грится "Вернёмся к нашим баранам" то бишь к сути вопр.
PHP нельзя противопоставлять Парсеру.
У них направленность немного разная.
Итак.

§1. Содержимое
Вся папка с модулями занимает 2,06 МБ (2 162 688 байт)

§2. История
Parser — это технология создания сайтов с помощью простого языка. Он немного сложнее HTML, но не требует особенного умения программировать. Parser начал создаваться в Студии Лебедева в 1997 году. Сегодня подавляющее большинство сайтов, создаваемых Студией Лебедева, делаются с его помощью.

§3. Суть
Идея Parser довольно проста. В HTML-страницы внедряются специальные конструкции, обрабатываемые нашей программой перед тем, как страницы увидит пользователь. Программа сама доделывает за вас работу по окончательному формированию и оформлению сложного документа. Это похоже на собирание из конструктора, в котором есть готовые модули для всех обычных целей. Если же вы мыслите нестандартно, просто создайте свои модули, которые будут делать то, что необходимо именно вам. Ничего невозможного нет, при этом все делается просто и быстро.
Что дает вам Parser? Вы получаете в свое распоряжение переменные, циклы, условия и т.д., все то, чего так не хватает привычному HTML. Без использования Parser аналогичный по внешнему виду документ будет гораздо больше по объему, а некоторые задачи останутся неразрешенными. С Parser у вас пропадет необходимость повторять одни и те же инструкции по несколько раз, но появится возможность формирования динамических страниц в зависимости от действий пользователя, работать с базами данных и XML, внешними HTTP-серверами, в считанные минуты менять дизайн страниц. И все это без обычного в подобных случаях сложного программирования.
Ваши страницы будут формироваться из отдельных законченных объектов, а вы просто скажете Parser какие из них, сколько, куда и в какой последовательности поставить. Если нужно что-то поменять местами или добавить, вы просто указываете это - и все. Остальное будет сделано автоматически. При этом сам проект станет логичным и понятным за счет структуризации.

§4. Переменные
Переменные могут хранить данные следующих типов:
· строка (string);
· число (int/double);
· истина/ложь;
· хеш (ассоциативный массив);
· класс объектов;
· объект класса (в т.ч. пользовательского);
· код;
· выражение.

Для использования переменных не требуется их заранее объявлять.
В зависимости от того, что будет содержать переменная, для присвоения ей значения используются различные типы скобок:
$имя_переменной[строка]
переменной присваивается строковое значение (объект класса string) или произвольный объект некоторого класса
$имя_переменной(выражение)
переменной присваивается число или результат математического выражения
$имя_переменной{код}
переменной присваивается фрагмент кода, который будет выполнен при обращении к переменной
Для получения значения переменных используется обращение к имени переменной:
$имя_переменной - получение значения переменной

§5. Примеры

Код Результат

$string[2+2] 
$string                   2+2 
 
$number(2*2) 
$number                 4 


***

В качестве части имени может быть использовано…

…значение другой переменной:
$superman[value of superman variable] 
$part[man] 
$super$part 

Возвратит: value of superman variable

$name[picture] 
${name}.gif 

Возвратит строку picture.gif, а не значение поля gif объекта picture.

…результат работы кода:
$field.[b^eval(2+3)] 

Возвратит значение поля b5 объекта field.

***

Меню
Создание меню, которое ориентирует пользователя на сайте, не дает ему заблудиться - вот задача, с которой нам

хочется начать повествование о Parser. Почему именно это? Прежде всего потому, что большое количество тегов:

<a href="страница_сайта.html"> 


трудно контролировать. А если вам понадобится добавить еще один раздел? Придется в каждую страницу вносить изменения, а человеку свойственно делать ошибки. При этом отнюдь не исключено, что после такой «модернизации» ваш ресурс в ответ на запросы пользователей сообщит о том что «данная страница не найдена». Вот где проблема, которую с помощью Parser можно решить очень легко. Решение следующее. Мы создаем некую функцию на Parser, которая будет генерировать нужный нам фрагмент HTML-кода. В терминологии Parser функции называются методами. В тех местах, где этот код понадобится, будем просто давать указание «Вставить меню навигации» и сразу же будет создана страница, содержащая меню. Для этого сделаем несколько простых шагов:

1. Всю информацию о наших ссылках будем хранить в одном файле, что позволит впоследствии вносить необходимые изменения только в нем. В корневом каталоге будущего сайта создаем файл sections.cfg, в который помещаем следующую информацию:
Здесь используется так называемый формат tab-delimited. Столбцы разделяются знаком табуляции, а строки - переводом каретки. При копировании этой таблицы в текстовый редактор данное форматирование будет создано автоматически, но если вы будете создавать таблицу вручную, необходимо это учитывать. Для таблиц ВСЕГДА применяется формат tab-delimited.

2. В том же каталоге, где и sections.cfg, создаем файл auto.p
В нем мы будем хранить все те кирпичики, из которых впоследствии Parser соберет наш сайт. AUTO означает, что все эти кирпичики будут всегда доступны для Parser в нужный момент, а расширение ".p", как вы, наверное, догадались, это… правильно! Он самый!

3. В файл auto.p вставим следующий код:

@navigation[] 
$sections[^table::load[sections.cfg]] 
<table width="100%" border="1"> 
   <tr> 
   ^sections.menu{ 
      <td align="center"> 
          <a href="$sections.uri"><nobr>$sections.name</nobr></a> 
      </td> 
   } 
   </tr> 
</table>


Данные из этого файла и будут служить основой для нашего навигационного меню. Вот и все, подготовительные работы закончены. Теперь открываем код страницы, где все это должно появиться (например, index.html), и говорим: «Вставить меню навигации». На Parser это называется «вызов метода» и пишется так:

^navigation[] 


Осталось только открыть в браузере файл, в который мы вставили вызов метода и посмотреть на готовое меню навигации. Теперь в любом месте на любой странице мы можем написать заветное
^navigation[],
и Parser вставит туда наше меню. Страница будет сформирована «на лету». Что хотели, то и получили. Если у вас дела обстоят именно так, то поздравляем - вы вступили в мир динамических сайтов. Очень скоро вы также запросто будете использовать базы данных для формирования страниц и делать многое другое. Однако не будем радоваться раньше времени. Давайте разберемся, что же мы сделали, чтобы добиться такого результата. Взгляните на код в auto.p. Если кажется, что все непонятно, не надо бежать прочь. Уверяем, через несколько минут все встанет на свои места. Итак, посмотрим на первую строчку:

@navigation[] 


Она аналогична строке
^navigation[]
, которую мы вставили в текст страницы для создания меню. Различие только в первом символе: ^ и @. Однако логический смысл этого выражения совершенно иной - здесь мы определяем метод, который вызовем позже. Символ @ (собака) в первой колонке строки в Parser означает, что мы хотим описать некоторый блок, которым воспользуемся в дальнейшем. Следующее слово определяет имя нашего метода: navigation. Это только наше решение, как ее назвать. Вполне допустимы имена: а_ну_ка_вставь_меню_быстро. Но читаться такая программа будет хуже, впрочем, кому как понятнее, можете назвать и так.
Жизненно необходимо давать простые, понятные имена. Они должны точно соответствовать тому, что именуемый объект будет хранить и делать. Сохраните нервы и время себе и всем тем, кому придется разбираться в ваших текстах, отнеситесь, пожалуйста, к именам внимательно. Имена могут быть русские или латинские, главное соблюдать единообразие: или все по-русски, или по-английски.

Идем дальше.

$sections[^table::load[sections.cfg]]


Это ключевая строка нашего кода. Она достаточно большая, поэтому давайте разберем ее по частям.

Строка начинается символом $ (рубль) и следующим сразу за ним именем sections. Так в Parser обозначаются переменные. Это надо запомнить. Все просто: видим в тексте $var - имеем дело с переменной var. Переменная может содержать любые данные: числа, строки, таблицы, файлы, рисунки и даже часть кода. Присвоение переменной $parser_home_url значения www.parser3.ru на Parser выглядит так:
$parser_home_url[www.parser3.ru]
. После этого мы

можем обратиться к переменной по имени, т.е. написать $parser_home_url и получить значение www.parser3.ru.

Еще раз тоже самое:

$var[…] - присваиваем 
$var  - получаем 


Подробности в разделе «Переменные».
В нашем случае переменная $sections будет хранить таблицу из файла sections.cfg.
Любую таблицу Parser рассматривает как самостоятельный объект, с которым он умеет производить только вполне определенные действия, например, добавить или удалить из нее строку. Поскольку переменная может хранить любые данные, необходимо указать, что присвоенное нами переменной значение является именно таблицей.

Лирическое отступление.
Пример из жизни. Всю автомобильную технику можно грубо разделить на несколько классов: легковые автомашины, грузовики, трактора и гусеничная техника. Любой автомобиль является объектом одного из этих классов. Вы легко можете определить, к какому классу относится автомобиль, поскольку их всех объединяют общие характеристики, такие как вес, масса перевозимого груза и т.д. Любой автомобиль может совершать действия: двигаться, стоять или ломаться. Каждый из автомобилей обладает своими собственными свойствами. И самое главное, автомобиль не может появиться сам собой, его нужно создать. Когда конструктор придумывает новую модель автомобиля, он точно знает, автомобиль какого класса он создает, какими свойствами будет наделено его творение и что оно сможет делать. Также и в Parser: каждый объект относится к определенному классу, объект класса создается конструктором этого класса и наделен характеристиками (полями) и методами (действиями), общими для всех подобных объектов.

Итог
Любой объект в Parser принадлежит конкретному классу, характеризуется полями и методами именно этого класса. Чтобы он появился, его нужно создать. Делает это конструктор данного класса. Разберитесь с этой терминологией, это основа.

Отвлеклись? Продолжим. Переменной $sections мы присвоили вот что:

^table::load[sections.cfg]


Буквально это означает следующее: мы создали объект класса table при помощи конструктора load. Общее правило для создания объекта записывается так:

^имя_класса::конструктор[параметры_конструктора] 


Подробности в разделе «Передача параметров».
В качестве параметра конструктору мы передали имя файла с таблицей и путь к нему.
Теперь переменная $sections содержит таблицу с разделами нашего сайта. Parser считает ее объектом класса table и точно знает, какие действия с ней можно выполнить. Пока нам понадобится только один метод этого класса - menu, который последовательно перебирает все строки таблицы. Также нам потребуются значения из полей самой таблицы.
Синтаксис вызова методов объекта:

^объект.метод_класса[параметры] 


Получение значений полей объекта (мы ведь имеем дело с вполне определенной таблицей с заданными нами же полями):

$объект.имя_поля 


Знания, полученные выше, теперь позволяют без труда разобраться в последней части нашего кода:

<table width="100%" border="1"> 
   <tr> 
   ^sections.menu{ 
      <td align="center"> 
         <a href="$sections.uri"><nobr>$sections.name</nobr></a> 
      </td> 
   } 
   </tr> 
</table> 


Мы формируем HTML-таблицу, в каждый столбец которой помещаем значения, содержащиеся в полях нашей таблицы $sections: uri - адрес и name - имя. При помощи метода menu мы автоматически перебираем все строки таблицы. Таким образом, даже если у нас будет несколько десятков разделов, ни один из них не будет потерян или пропущен. Мы можем свободно добавлять разделы, удалять их и даже менять местами. Изменения вносятся только в файл sections.cfg. Логика работы не нарушится. Все просто и красиво.
Синтаксис работы с объектами:

$переменная[значение]  - задаем значение 
$переменная  - получаем значение 
$переменная [^имя_класса::конструктор[параметры]]  - создаем объекта класса имя_класса и присваиваем его переменной 
$переменная.имя_поля  - получаем поле самого объекта, хранящегося в переменной 
^переменная.метод[]  - вызываем действие (метод класса, к которому принадлежит объект, хранящийся в переменной)


***

Компановка страницы

Коды файла auto.p:

@komment[] (комментарий)
...
@meta_inf[] (метатеги)
...
@css[] (метатег каскадных стилевых страниц)
<link rel="stylesheet" href="/css/shadrinsk.css">

@script[] (метатег джавы, если есть JS файлы)
...
@cap[] (шапка страницы)
<table border="0" width="100%" cellpadding="2" height="160">
   <tr>
      <td width="20">&nbsp;</td>
      <td width="105"><img src="/images/shadrinsk1999.gif"></td>
      <td>
      <table border="0" cellspacing="0" cellpadding="0" width="100%">
      <tr><td>
      <h1 class="caption"><img src="/images/top.gif"></h1></td></tr>
      <tr><td><nobr><p class="info">Информационный и историко-краеведческий сайт г.Шадринска и 

Шадринского района</p></nobr></td></tr>
      </table>
      </td>
      </tr>
</table>

@mainmenu[] (главное меню)
...
@dopinfobox[] (какой-нибудь инф. блок)
...
@mainmenu2[] (дополнит. меню)
...
@studio[] (информация производителя)
$now[^date::now[]]
<p class="c2">© студия <a href="/rifei/" target="_self">«Моя Студия»</a>, $now.year г.</p>

@banners[] (например баннеры)
...
@vers[] (последнее обновление)
<table border="0" width="100%" cellpadding="3" cellspacing="3"><tr>
   <td><p class="c1"></p></td>
   <td><p class="c3">Последняя редакция:
   <br>$now.weekday, $now.day $now.month $now.year  $now.hour:$now.minute</p></td>
</tr></table>


ХТМЛ:

^komment[]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="Content-Language" content="ru">

^meta_inf[]
^css[]
^script[]

<title>ШАДРИНСК-ГОРОДОК - Главная страница</title>
</head>

<body>

^cap[]
^mainmenu[]

<table border="0" width="100%" cellpadding="2">
   <tr>
      <td valign="top">
любое информативное содержимое
      </td>
      <td width="145" valign="top" align="center">
^dopinfobox[]
      </td>
   </tr>
</table>
^mainmenu2[]
^studio[]
^banners[]
^vers[]


подробнее http://www.parser.ru/docs/
_________________
Моя твоя понимать, когда ты понятно писать!
***
STARGATE SG1



parser321_help.zip
 Описание:
CHM-справка

Download File
 Имя файла:  parser321_help.zip
 Размер файла:  415.28 KB
 Скачано:  265 раз(а)

Посмотреть профиль Отправить личное сообщение Посетить сайт автора
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2007.12.10 20:39.07
Ответить с цитатой
это всё понятно, кому интересно было - на сайте прочитали. у меня повторно вопрос - чего хочет автор темы?
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Slider
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 13.11.2006
Сообщения: 6289
Откуда: Екатеринбург&Шадринск

Статус: Offline
СообщениеДобавлено: 2007.12.10 22:15.10
Ответить с цитатой
да чувак тугой паходу, парсер ну парсер и ЧЁ ? если он нехочет их сравнивать тада какого хе** он примеры всякие приводит, и вообще - к чему они ?

Mikhajlo
ты что то хотел этим сказать или спросить или что ? что тебе вообще от нас нужно ?
_________________
накапливаю джедайскую силу
http://booking.com/ http://bookingb2b.com/
http://www.aicgroup.biz http://www.gta-travel.com/en/home
Посмотреть профиль Отправить личное сообщение Посетить сайт автора ICQ Number
Mikhajlo
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 05.12.2007
Сообщения: 31
Откуда: Ша... Шу... Ши...

Статус: Offline
СообщениеДобавлено: 2007.12.10 22:38.57
Ответить с цитатой
andy ice писал(а):
чего хочет автор темы?


Ну..., это..., ясна поляна без Starik Толстого не обходится,
высказать мнение по энтой технологии.
Интяресно знать использует ли кто-нибудь
в нашинской деревньке-то коровка её, а если нет - пошто? kuli

Добавлено спустя 4 минуты 4 секунды:

Slider писал(а):
Злой ты, Отморозко, безжалостный!


Добавлено спустя 12 минут 4 секунды:

Цитата
тугой


Эт ишо нужно посмотреть кто тугой, а кто не тугой.
И вообще какое значение имеется ввиду: крепкий, упорный, стойкий, твердо упругий, неподатливый, противопол. слабый, мягкий, вялый, гибкий, гнуткий.

Их нет смысла сравнивать...

Добавлено спустя 1 минуту 30 секунд:

Раз уж допеткать не есть можно, то удаляйте тему!
_________________
Моя твоя понимать, когда ты понятно писать!
***
STARGATE SG1
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2007.12.10 23:01.51
Ответить с цитатой
Mikhajlo писал(а):
высказать мнение по энтой технологии
ты не мнение высказал, а чуть ли не весь фак привел
Mikhajlo писал(а):
Интяресно знать использует ли кто-нибудь
кто-то использует. мало кто, но использует
Mikhajlo писал(а):
в нашинской деревньке-то
эта, для инету-то какая разница где сидит вебмастер? один известный чувак вообще где-то в чили сидит
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Mikhajlo
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 05.12.2007
Сообщения: 31
Откуда: Ша... Шу... Ши...

Статус: Offline
СообщениеДобавлено: 2007.12.10 23:28.20
Ответить с цитатой
andy ice писал(а):
ты не мнение высказал, а чуть ли не весь фак привел


не занимайтесь минимализмом, создание темы - уже мнение

andy ice писал(а):
мало кто, но использует


не фига ( сматерился) себе мало кто - более 200 человек
в России-матушке и на Украине, причём люди и компании
достаточно компетентные, сам знаком!

andy ice писал(а):
для инету-то какая разница где сидит вебмастер


а я не инет спра... ...шиваю, а тех кто делом занят и хотябы
немного пробует понять суть темы

а то получается как в теме "Perl vs PHP" демагогия одна - каждый о своём,
и лишь иногда проглядывает суть прений

записываешь в ламеры?

у каждого языка скриптования своя суть хоть Перл, хоть пхп, питон, ТиСиЭл, Раби

пхп ваще заимствовал часть функций перла и С, и сравнивать после этого, нет смысла
ни перл ни пхп ни парсер (кстати создан изолированно от пхп)
это эволюция программирования и новый язык будет хоть малость,
но лучше предыдущего

на этом, тему, может кому-то бессмысленную, можно закрыть
_________________
Моя твоя понимать, когда ты понятно писать!
***
STARGATE SG1
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2007.12.10 23:39.29
Ответить с цитатой
Mikhajlo писал(а):
более 200 человек
это чо - много? для Российского сегмента "аж 200 человек".
Mikhajlo писал(а):
а я не инет спра... ...шиваю
ты и не спрашивал. точнее спросил - слышали? ну слышали.
Mikhajlo писал(а):
а тех кто делом занят и хотябы
немного пробует понять суть темы
да ладно, мы так, примусы починяем
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Mikhajlo
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 05.12.2007
Сообщения: 31
Откуда: Ша... Шу... Ши...

Статус: Offline
СообщениеДобавлено: 2007.12.10 23:49.22
Ответить с цитатой
andy ice писал(а):
"аж 200 человек"

Это только в 1 компании
_________________
Моя твоя понимать, когда ты понятно писать!
***
STARGATE SG1
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2007.12.10 23:49.57
Ответить с цитатой
Mikhajlo
эта компания не считается
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Mikhajlo
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 05.12.2007
Сообщения: 31
Откуда: Ша... Шу... Ши...

Статус: Offline
СообщениеДобавлено: 2007.12.10 23:54.36
Ответить с цитатой
andy ice писал(а):
мы так, примусы починяем

тоже дело

Добавлено спустя 2 минуты 33 секунды:

andy ice писал(а):
эта компания не считается


Имеется ввиду студия Артемия Лебедева (Яндекс например)

Цитата
не мешает нам быть самой крупной дизайн-студией в России, иметь самое большое портфолио и совершенно не переживать о том, что в ближайшие десять-двадцать лет кто-то займет наше место

_________________
Моя твоя понимать, когда ты понятно писать!
***
STARGATE SG1
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2007.12.10 23:56.57
Ответить с цитатой
Mikhajlo писал(а):
andy ice писал(а):
эта компания не считается


Имеется ввиду студия Артемия Лебедева

мляя. я знаю кто имеется в виду, если они этот парсер придумали и на нем пишут, потому и не считаются. пипец у тебя с логикой.
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
VolF
подонок


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 3043
Откуда: Rammstein, GmbH

Статус: Offline
СообщениеДобавлено: 2007.12.11 00:07.04
Ответить с цитатой
Mikhajlo писал(а):
Это только в 1 компании

хех. думаю ей это все и оганичивается.

насчет парсера. его какие-нить редакторы поддерживают? или настроящие программисты пишут только в far'е?

имхо, parser ф топку! ибо есть достаточно много более интересных аналогов

Добавлено спустя 3 минуты 17 секунд:

я вот что-то сомневаюсь что в яндексе используется этот парсер
или он умеет XSLT ?
Посмотреть профиль Отправить личное сообщение Посетить сайт автора ICQ Number
Mikhajlo
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 05.12.2007
Сообщения: 31
Откуда: Ша... Шу... Ши...

Статус: Offline
СообщениеДобавлено: 2007.12.11 00:09.27
Ответить с цитатой
andy ice писал(а):
пипец у тебя с логикой


а нет смысла разглагольствовать все компании
ведь всё равно начинающие кодеры больше и больше
предпочитают знакомится с парсером а не
углубляться в пхп

и не надо кантовать к логике радного брата Кандрата.
_________________
Моя твоя понимать, когда ты понятно писать!
***
STARGATE SG1
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2007.12.11 00:11.59
Ответить с цитатой
VolF
ты же в курсе, что яндекс не использует парсер

Добавлено спустя 1 минуту 57 секунд:

хотя хз чо там сверху навернуто. хоть ssi
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Mikhajlo
Освоившийся


Пол: Пол:Муж.
Зарегистрирован: 05.12.2007
Сообщения: 31
Откуда: Ша... Шу... Ши...

Статус: Offline
СообщениеДобавлено: 2007.12.11 00:14.44
Ответить с цитатой
VolF писал(а):
я вот что-то сомневаюсь что в яндексе используется этот парсер или он умеет XSLT


Типичная проверка - ошибка 404
http://www.yandex.ru/auto.p

Секретный уровень
Вы попали на секретный уровень Яндекса.


auto.p - основной файл с кодами парсера

и XML и XSLT!


<?xml version="1.0" encoding="windows-1251" ?> 
<article> 
    <author id="1" /> 
    <title>Урок 6. Работаем с XML</title> 
    <body> 
        <para>Представьте, что вам позволено придумывать любые теги 
              с любыми атрибутами. То есть вы сами можете определять,   
              что означает тот или иной выдуманный вами тег или атрибут.</para> 
        <para>Такой код будет содержать данные, …</para> 
    </body> 
    <links> 
        <link href="http://www.parser.ru/docs/lang/xdocclass.htm">Класс xdoc</link> 
        <link href="http://www.parser.ru/docs/lang/xnodeclass.htm">Класс xnode</link> 
    </links> 
</article> 


…но не их форматирование. Подготовкой данных может заняться один человек, а форматированием другой. Им достаточно договориться об используемых тегах и можно приступать к работе… одновременно.

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

Однако прогресс не стоит на месте, и сейчас мы имеем не зависящие от средства скриптования стандарты XML и XSLT, позволяющие нам реализовать то, что мы только что представляли. А также стандарты DOM и XPath, открывающие для нас еще больше возможностей.
Parser полностью поддерживает все эти стандарты.

Сейчас откройте выбранную вами вчера в книжном магазине книгу, описывающую XML и XSLT. Используйте ее как справочник.

Посмотрим, как можно приведенную статью преобразовать из XML в HTML.
Запишем текст из начала статьи в файл article.xml
И создадим файл article.xsl, в котором определим выдуманные нами теги:

<?xml version="1.0" encoding="windows-1251" ?>  
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 

<xsl:template match="article"> 
    <html> 
        <head><title><xsl:value-of select="title" /></title></head> 
        <body><xsl:apply-templates select="body | links" /></body> 
    </html> 
</xsl:template> 

<xsl:template match="body"> 
    <xsl:apply-templates select="para" /> 
</xsl:template> 

<xsl:template match="links"> 
    Ссылки по теме: 
    <ul> 
        <xsl:for-each select="link"> 
            <li><xsl:apply-templates select="." /></li> 
        </xsl:for-each> 
    </ul> 
</xsl:template> 

<xsl:template match="para"> 
    <p><xsl:value-of select="." /></p> 
</xsl:template> 

<xsl:template match="link"> 
    <a href="{@href}"><xsl:value-of select="." /></a> 
</xsl:template> 

</xsl:stylesheet> 


Данные и шаблон преобразования готовы. Создаем article.html, в который заносим следующий код:

# входной xdoc документ
$sourceDoc[^xdoc::load[article.xml]]

# преобразование xdoc документа шаблоном article.xsl
$transformedDoc[^sourceDoc.transform[article.xsl]]

# выдача результата в HTML виде
^transformedDoc.string[
$.method[html]
]

Первой строкой мы загружаем XML-файл, получая в sourceDoc его DOM-представление.
Конструкция похожа на загрузку таблицы, помните ^table::load[…]? Только в этот раз мы загружаем не таблицу (получая объект класса table), а XML-документ (получаем объект класса xdoc).

Второй строкой мы преобразуем входной документ по шаблону article.xsl.
Из входного документа получаем выходной, применяя XSLT преобразование, описанное в шаблоне.

Последней строкой мы выдаем пользователю текст выходного документа в HTML формате (параметр method со значением html).
Здесь можно задать все параметры, допустимые для тега <xsl:output … />.
Рекомендуем также задать параметр "без отступов" (параметр indent со значением no: $.indent[no]), чтобы избежать известной проблемы с пустым местом перед </td>.

Обратившись теперь к этой странице, пользователь получит результат преобразования:

<html> 
<head><title>Урок 6. Работаем с XML</title></head> 
<body> 
<p>Представьте, что вам позволено придумывать любые теги 
с любыми атрибутами. То есть вы сами можете определять,   
что означает тот или иной выдуманный вами тег или атрибут. 
</p> 
<p>Такой код будет содержать данные, … 
</p> 
Ссылки по теме: 
<ul> 
<li><a href="http://www.parser.ru/docs/xdocclass.htm">Класс xdoc</a></li> 
<li><a href="http://www.parser.ru/docs/xnodeclass.htm">Класс xnode</a></li> 
</ul> 
</body> 
</html>


Как вы заметили, тег <author … /> никак не был определен, как следствие, информация об авторе статьи не появилась в выходном HTML. Со временем, когда вы решите где и как будете хранить и показывать данные об авторах, достаточно будет дополнить шаблон - исправлять данные статей не потребуется.

Внимание: если вы не хотите, чтобы пользователи вашего сервера имели доступ к .xml и .xsl файлам, храните эти файлы вне веб-пространства (^xdoc::create[/../directory_outside_of_web_space/article.xml]), или запретите к ним доступ средствами веб-сервера (пример запрета доступа к .p файлам здесь: «Установка Parser на веб-сервер Apache. CGI скрипт»).

Сам лично пробовал!
Вкусно!
_________________
Моя твоя понимать, когда ты понятно писать!
***
STARGATE SG1


Последний раз редактировалось: Mikhajlo (2007.12.11 00:23.23), всего редактировалось 2 раз(а)
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
VolF
подонок


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 3043
Откуда: Rammstein, GmbH

Статус: Offline
СообщениеДобавлено: 2007.12.11 00:20.25
Ответить с цитатой
andy ice
я вообще хз кто это использует..
ну ты же не знаешь, что у них используется в качестве XSLT-процессора
о, кстати, посмотрел его офф.сайт - по крайне мере в третьей версии он поддерживает XML, XSL, XPath и DOM.

Добавлено спустя 1 минуту 4 секунды:

Mikhajlo
что это было?
Посмотреть профиль Отправить личное сообщение Посетить сайт автора ICQ Number
Страница 1 из 2
Начать новую тему   Ответить на тему   вывод темы на печать
На страницу 1, 2  След.
Показать сообщения:   
Список форумов Шадринский форум -> Программирование -> PHP, PERL, HTML, CSS etc -> Parser

 
Перейти: 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы