Сложные примеры использования шаблонов

Adding more power
Этот пример показывает возможности WatzNew. Предположим, что мы имеем следующую html страницу и хотим узнавать о появлении новых версий программы под названием ABC Html Colorizer.
<BODY>
<H1>ABCSoft. Our software:</H1>
<H2>ABC E-mail Checker</H2> <UL> <LI>Latest release date: 01-Apr-1999 <LI><A HREF="abc_checker.zip">Download v.1.15 now!</A> - 433 KB ZIP archive <LI><A HREF="abc_checker_help.zip">Help file in .HLP format</A> - 39 KB ZIP archive </UL>
<H2>ABC Html Colorizer</H2> <UL> <LI>Latest release date: 03-Apr-1999 <LI><A HREF="abc_htmlcolor.zip">Download v.1.30 now!</A> - 172 KB ZIP archive <LI><A HREF="abc_htmlcolor_help.zip">Help file in .HLP format</A> - 60 KB ZIP archive </UL>
...
</BODY> |
Нам необходим следующий шаблон для поиска:
| <H2>ABC Html Colorizer</H2>{*}Download v.{%}now!
|
Это значит:
- найти первое вхождение <H2>ABC Html Colorizer</H2> в html документ;
- пропустить все символы до подсроки Download v.;
- взять текст между ним и первым вхождением now! и передать как первый параметр (что соответствует полю %1 в шаблоне почтового сообщения).
|
Соответствующий шаблон почтового сообщения будет:
|
Current version of ABC Html Colorizer is %1 |
Если мы применим данное правило к нашему html документу, то получим сообщение "Current version of ABC Html Colorizer is 1.30". Adding more powerТеперь, что если мы хотим контролировать не только версию ПО, но и дату выпуска, и размер ZIP файла? Давайте изменим шаблон для поиска: <H2>ABC Html Colorizer</H2>{*} Latest release date:{%} Download v.{%}now! -{%}ZIP archive
|
Это значит:
- найти первое вхождение <H2>ABC Html Colorizer</H2> в html документ;
- пропустить все символы до подсроки Latest release date:;
- взять текст между ним и первым вхождением Download v. и передать как первый параметр (что соответствует полю %1 в шаблоне почтового сообщения);
- взять текст между Download v. и первым вхождением now! - и передать как второй параметр (что соответствует полю %2 в шаблоне почтового сообщения). Следует иметь в виду, что все html теги урезаются до найденной подстроки, если вы не включили опцию 'ю Preserve tags' в настройках канала;
- взять текст между now! - и первым вхождением ZIP archive и передать как третий параметр (что соответствует полю %3 в шаблоне почтового сообщения).
|
Замечание: деление шаблона на строки не влияет на его функционирование. WatzNew игнорирует все символы перевода строки. Таким образом, мы одновременно получим дату выпуска, версию и размер файла в полях %1, %2 и %3 соответственно. Теперь надо изменить шаблон письма: |
Current version of ABC Html Colorizer is %2 (%3), released on %1 |
Если мы применим данное правило к html документу, то получим письмо "Current version of ABC Html Colorizer is 1.30 (172 KB), released on 03-Apr-1999".
|