Дата  Запланированые курсы
24.11 Linux-MP. Модульная программа «Архитектура и администрирование Linux»
24.11 Linux-LE. Основы архитектуры и администрирования Linux
26.11 Поисковая оптимизация (SEO)
26.11 Средства растровой графики. Adobe Photoshop
26.11 Управление проектами (MS Project)
27.11 DEV-J30. Программирование на платформе Java. Разработка многоуровневых приложений (Группа II)
27.11 DEV-J30. Программирование на платформе Java. Разработка многоуровневых приложений (Группа I)
28.11 CORTEX-M-MP. Введение в технологии разработки систем управления на базе МК с RISC ядром ARM Cortex-M
28.11 CORTEX-M-INTRO. Введение в современную микроконтроллерную технику
03.12 Трёхмерное моделирование. 3ds Max
03.12 Компьютерное проектирование в системе AutoCAD (базовый курс)
03.12 DEV-C21. Объектно-ориентированное программирование. Углубленное изучение. Язык С++
07.12 DEV-PY200. Объектно-ориентированное программирование на языке Python
10.12 Основы создания веб-сайтов. Adobe Dreamweaver
10.12 Поисковая оптимизация (SEO) для профессионалов
10.12 Средства векторной графики. Adobe Illustrator
12.12 Инструменты бизнес-анализа Microsoft Excel: PowerPivot, PowerView
12.12 CORTEX-M-RISC. RISC-архитектура ARM Cortex-M в микроконтроллерах
17.12 MOC-20762. Разработка баз данных SQL
17.12 Работа в MS Excel. Расширенные возможности
17.12 Компьютерное проектирование в системе AutoCAD (профессиональный курс)
17.12 Adobe After Effects. Создание анимации и эффектов
09.01 DEV-C22. Стандарт С++11, С++14, С++17 для прикладного программирования
14.01 DEV-OCPJP. Подготовка к сдаче сертификационных экзаменов серии Oracle Certified Professional Java Programmer
14.01 DEV-OCPJP. Подготовка к сдаче сертификационных экзаменов серии Oracle Certified Professional Java Programmer
16.01 CORTEX-M-STM32F. Семейство МК компании ST Microelectronics STM32Fxxx с вычислительным ядром ARM Cortex M3
19.01 Linux-LF. Расширенное администрирование ОС Linux
04.02 DEV-QT10. Прикладное программирование на С++ с использованием Qt. Базовый уровень
11.02 DEV-J60. Технологии разработки корпоративных приложений на платформе Java Enterprise Edition (Java EE)
11.02 DEV-J60. Технологии разработки корпоративных приложений на платформе Java Enterprise Edition (Java EE)
13.02 CORTEX-M-RTOS. Разработка управляющих программ для МК систем управления с использованием многозадачных ОС реального времени
11.03 Введение в тестирование программного обеспечения
11.03 Введение в тестирование программного обеспечения
11.03 Введение в тестирование программного обеспечения
20.03 NET-DLINKSW-LAB. Технологии коммутации современных сетей Ethernet. Лабораторный практикум
Открыт набор на осенний семестр в Академию информатики для школьников Открыт набор на осенний семестр на программы второго высшего образования
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

2 Страницы12>
Экспортирование расписания с сайта
Тур Антон
#1 Оставлено : 9 декабря 2006 г. 0:02:29(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 26.09.2006(UTC)
Сообщений: 104
Баллов: 312

Не так давно открыл для себя удобную программу - календарик Mozilla Sunbird. Здорово помогает планировать время. Естественно, в свой календарь я каждую неделю вручную ввожу список занятий на ФПС.
И вдруг меня осенило: почему бы не добавить на сайт возможность экспортирования расписания в формате ics (который использует Mozilla Sunbird)? Благо, в программе предусмотрена возможность подключать "удалённые" календари из сети.
По-моему, получилось бы довольно мило.
Естественно, я отдаю себе отчёт в том, что заниматься этим никто не будет, да и пользователей Sunbird'а наберутся единицы. Но, согласитесь, концепт интересный.
Такую задачку можно было бы подкинуть изучающим PHP или ASP. [:D]
Если кому интересно, ссылки по теме:
www.mozilla.org/projects/calendar/sunbird/ - Страничка Sunbird на mozilla.org.
www.prism.gatech....7v/iCalendarFormat.html - Краткое описание формата ICS.
www.ietf.org/rfc/rfc2445.txt - полное описание спецификации iCalendar.
en.wikipedia.org/wiki/ICalendar - хорошая статья в Википедии.

Помимо Mozilla Sunbird формат ICS понимают 30 Boxes, AiAi, Active Desktop Calendar, Apple's iCal application, Darwin Calendar Server, Contactizer and iPod, Chandler, Drupal with its event module, eventSherpa, FirstClass, Google Calendar, Jalios JCMS, KOrganizer, Kronolith, Lotus Notes, Lovento, почивший Mozilla Calendar, Lightning (примочка к Mozilla Thunderbird), Mulberry, Plum Canary Chirp, Novell Evolution, Nuvvo, Rainlendar, ScheduleWorld, Simple Groupware, TimeTrade's enterprise scheduling server, Upcoming.org, WebCalendar, Windows Calendar, Ximian Evolution, Zimbra Collaboration Suite, Microsoft Outlook.
Реклама
Dimitry.Ketov
#2 Оставлено : 9 декабря 2006 г. 18:51:22(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 01.12.2002(UTC)
Сообщений: 3,382
Баллов: 10,146
Откуда: Russia Санкт-Петербург

xCal она понимает?
Тур Антон
#3 Оставлено : 9 декабря 2006 г. 23:50:02(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 26.09.2006(UTC)
Сообщений: 104
Баллов: 312

На сайте производителя об этом, к сожалению, не говорится. В Википедии сказано, что xCal - это XML-compliant representation of the iCalendar standard. И действительно, если посмотреть примеры форматов xCal и iCalendar на www.i....html, можно заметить, что структуры их очень схожи.
Кроме того, удалось узнать, что Mozilla Calendar is not able to subscribe to xCal (calsch archive) data. SunBird - это продолжение Mozilla Calendar, поэтому, решив, что поддержка xCal, возможно, появилась, я попытался подключить к своему календарю файл www.i...l.xcs. Mozilla SunBird и так не была особо расторопной, а тут вообще ушла в глубокие раздумья, но в итоге всё же выдала сообщение об ошибке.
Так что с большой долей уверенности можно говорить о том, что SunBird не понимает xCal. Может быть, проблему можно решить при использовании какого-нибудь плагина, но о существовании оного мне не известно.
А вообще при подключении удалённого календаря предлагается выбрать либо iCalendar, либо CalDAV.
Dimitry.Ketov
#4 Оставлено : 10 декабря 2006 г. 21:05:51(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 01.12.2002(UTC)
Сообщений: 3,382
Баллов: 10,146
Откуда: Russia Санкт-Петербург

Антон, если вы освоите XSLT (www.w3schools.com/xsl/default.asp) [что в современном мире для программиста будет только плюсом], то на основе XML расписания сможете получить iCal, который можно будет публиковать на avalon.ru
Тур Антон
#5 Оставлено : 13 декабря 2006 г. 4:09:35(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 26.09.2006(UTC)
Сообщений: 104
Баллов: 312

Дмитрий Владимирович, спасибо за совет. Наверно, попытаюсь ознакомиться с новой технологией во время зимних праздников. Так что, боюсь, воспользоваться календариком удастся не очень скоро. [:)]
Хотел посмотреть в Озоне книжки по XSLT. На русском языке их не так много, они довольно старые и... они закончились. А у оригинальных англоязычных изданий цены кусаются.
Dimitry.Ketov
#6 Оставлено : 13 декабря 2006 г. 16:55:47(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 01.12.2002(UTC)
Сообщений: 3,382
Баллов: 10,146
Откуда: Russia Санкт-Петербург

<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote"><i>Originally posted by Тур Антон</i>
<br />Дмитрий Владимирович, спасибо за совет. Наверно, попытаюсь ознакомиться с новой технологией во время зимних праздников. Так что, боюсь, воспользоваться календариком удастся не очень скоро. [:)]
Хотел посмотреть в Озоне книжки по XSLT. На русском языке их не так много, они довольно старые и... они закончились. А у оригинальных англоязычных изданий цены кусаются.
<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">
Советую начать отсюда www.books.ru/shop/books/11178 не смотря на "старость", хехе.
Все отсальное найдете в интернете [:)] на www.w3schools.com/xsl/default.asp
Lucky
#7 Оставлено : 13 декабря 2006 г. 18:27:54(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 27.09.2003(UTC)
Сообщений: 219
Баллов: 657

Этой книги www.books.ru/shop/books/11178 уже давно нет в продаже ... Дмитрий, может знаете ссылку на электронный вариант этой книги? Гугол и электронные библиотеки не помогли.
Тур Антон
#8 Оставлено : 13 декабря 2006 г. 19:52:02(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 26.09.2006(UTC)
Сообщений: 104
Баллов: 312

На исходниках.ру продают DVD-диски, набитые компьютерной литературой. www.shop.ishodniki.ru/shop.php?to=dvd1#3 1 диск - 400 рублей, 4 диска - 600.
С одной стороны, предложение, вроде бы, интересное, поскольку цена четырёх дисков, на которых записаны сотни книг, сопоставима со стоимостью одной толстой книжки.
С другой же стороны, неизвестно в каком там всё это качестве, да и перспектива читать книгу с монитора не особо радует.
Хотя... если уж кто-то книжку отсканировал и даже записал на диск, можно предположить, что где-нибудь в Интернете она должна была всплыть. Надо лучше искать. [:)]
К тому же на www.unixreview.co...989/ur0312l/ur0312l.htm сказано, что на английском уже есть второе издание. Так что, может быть, скоро оно доберётся и до нас.
Dimitry.Ketov
#9 Оставлено : 13 декабря 2006 г. 20:43:36(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 01.12.2002(UTC)
Сообщений: 3,382
Баллов: 10,146
Откуда: Russia Санкт-Петербург

Тому, кто возьмется писать конвертер - задарю эту книжку [;)]
Lucky
#10 Оставлено : 13 декабря 2006 г. 21:01:42(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 27.09.2003(UTC)
Сообщений: 219
Баллов: 657

Дмитрий, а зачем он вам нужен?
ICS это даже не XML = это мертвый язык
Dimitry.Ketov
#11 Оставлено : 13 декабря 2006 г. 21:32:41(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 01.12.2002(UTC)
Сообщений: 3,382
Баллов: 10,146
Откуда: Russia Санкт-Петербург

<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote"><i>Originally posted by Lucky</i>
<br />Дмитрий, а зачем он вам нужен?
ICS это даже не XML = это мертвый язык
<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">

Он Антону нужен, и нам не помешает.
А на счет мертвости - дык альтернативы-то нет...
Lucky
#12 Оставлено : 14 декабря 2006 г. 14:56:42(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 27.09.2003(UTC)
Сообщений: 219
Баллов: 657

Чем дальше в лес тем больше дров ...
Дмитрий, а зачем конвертор? Ведь можно создавать файлы с определенным форматом, а те кто захочет может использовать их.

Антон, есть ли файл который вам удалось открыть sunbird'ом? Пытаюсь открыть пример отсуда www.innerjoin.org...import-export-xCal.html но открывается только календарь
Dimitry.Ketov
#13 Оставлено : 14 декабря 2006 г. 16:07:40(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 01.12.2002(UTC)
Сообщений: 3,382
Баллов: 10,146
Откуда: Russia Санкт-Петербург

<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote"><i>Originally posted by Lucky</i>
<br />Чем дальше в лес тем больше дров ...
Дмитрий, а зачем конвертор? Ведь можно создавать файлы с определенным форматом, а те кто захочет может использовать их.
<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">
Можно создавать файлы с определенным форматом..... например конвертером из внутреннего представления расписания из XML в ICS.
Дело в том что внутренння начинка сайта сделана на DB-&gt;XML/XSLT-&gt;HTML, нужно всего-лишь DB-&gt;XML/XSLT-&gt;ICS.
Lucky
#14 Оставлено : 14 декабря 2006 г. 16:43:59(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 27.09.2003(UTC)
Сообщений: 219
Баллов: 657

вот такой xml
Код:
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;iCalendar&gt;
    &lt;vcalendar&gt;
        &lt;prodid&gt;-//Mozilla.org/NONSGML Mozilla Calendar V 1.0 //EN&lt;/prodid&gt;
        &lt;version&gt;2.0&lt;/version&gt;
        &lt;vevent&gt;
            &lt;uid&gt;200201012-8560@somewhere.net&lt;/uid&gt;
            &lt;summary&gt;some test&lt;/summary&gt;
            &lt;dtstamp&gt;20060629T220000Z&lt;/dtstamp&gt;
            &lt;dtstart value="DATE"&gt;20061214&lt;/dtstart&gt;
            &lt;description&gt;some test description&lt;/description&gt;
            &lt;url&gt;http://www.somewhere.net/sometestpage.html&lt;/url&gt;
        &lt;/vevent&gt;
    &lt;/vcalendar&gt;
&lt;/iCalendar&gt;

преобразую при помощи
Код:
&lt;?xml version='1.0'?&gt;
&lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
&lt;xsl:output method="text" /&gt;
&lt;xsl:template match="iCalendar"&gt;
    &lt;xsl:text&gt;BEGIN:VCALENDAR
&lt;/xsl:text&gt;

    &lt;xsl:text&gt;VERSION:&lt;/xsl:text&gt;&lt;xsl:value-of select="vcalendar/version" /&gt;
    &lt;xsl:text&gt;PRODID:&lt;/xsl:text&gt;&lt;xsl:value-of select="vcalendar/prodid" /&gt;
    
    &lt;xsl:apply-templates select="vcalendar/vevent" /&gt;
    
    &lt;xsl:text&gt;END:VCALENDAR&lt;/xsl:text&gt;
&lt;/xsl:template&gt;

&lt;xsl:template match="vevent"&gt;
    &lt;xsl:text&gt;BEGIN:VEVENT&lt;/xsl:text&gt;
    &lt;xsl:text&gt;UID:&lt;/xsl:text&gt;&lt;xsl:value-of select="uid" /&gt;
    &lt;xsl:text&gt;DTSTART;VALUE=DATE:&lt;/xsl:text&gt;&lt;xsl:value-of select="dtstart" /&gt;
    &lt;xsl:text&gt;DTSTAMP;VALUE=DATE:&lt;/xsl:text&gt;&lt;xsl:value-of select="dtstamp" /&gt;
    &lt;xsl:text&gt;URL:&lt;/xsl:text&gt;&lt;xsl:value-of select="url" /&gt;
    &lt;xsl:text&gt;SUMMARY:&lt;/xsl:text&gt;&lt;xsl:value-of select="summary" /&gt;
    &lt;xsl:text&gt;DESCRIPTION:&lt;/xsl:text&gt;&lt;xsl:value-of select="description" /&gt;
    &lt;xsl:text&gt;END:VEVENT&lt;/xsl:text&gt;
&lt;/xsl:template&gt;

&lt;/xsl:stylesheet&gt;


т.е. получаю
Код:

BEGIN:VCALENDAR#155
VERSION:2.0PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V 1.0 //ENBEGIN:VEVENTUID:200201012-8560@somewhere.netDTSTART;VALUE=DATE:20061214DTSTAMP;
VALUE=DATE:20060629T220000ZURL:http://www.somewhere.net/sometestpage.htmlSUMMARY:some testDESCRIPTION:some test descriptionEND:VEVENTEND:VCALENDAR

Обратите внимание, как делается перенос строки(сделано один раз) - закрывающий элемент xsl:text переносится на другую строку(как сделать это лучше пока не понимаю)
Не могу понять как такой формат глотает sunbird - естественно подставляю нормальный файл <b>1.ics</b>
Код:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//innerjoin.org//NONSGML Innerjoin Events Publisher V1.0//EN
BEGIN:VEVENT
UID:200201012-8560@innerjoin.org
DTSTART;VALUE=DATE:20061214
DTSTAMP;VALUE=DATE:20060630
URL:
http://www.somewhere.net/sometestpage.html
SUMMARY:
some test summary
DESCRIPTION:
some test description
END:VEVENT
END:VCALENDER

Dimitry.Ketov
#15 Оставлено : 14 декабря 2006 г. 17:21:35(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 01.12.2002(UTC)
Сообщений: 3,382
Баллов: 10,146
Откуда: Russia Санкт-Петербург

Удобнее объявить сущность nl
Код:

&lt;!DOCTYPE xsl:stylesheet [&lt;!ENTITY nl "#xd;#xa;"&gt;]&gt;

и использовать для форматирования.
Lucky
#16 Оставлено : 14 декабря 2006 г. 18:30:30(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 27.09.2003(UTC)
Сообщений: 219
Баллов: 657

мысль про DOCTYPE пришла мне сразу, но результата нет
Код:
&lt;xsl:text&gt;BEGIN:VCALENDAR&lt;/xsl:text&gt;&nl;
получаем
BEGIN:VCALENDAR#xd;#xa;
Lucky
#17 Оставлено : 14 декабря 2006 г. 18:50:46(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 27.09.2003(UTC)
Сообщений: 219
Баллов: 657

Дмитрий, может стоит в форуме завести раздел посвященный XML?
Lucky
#18 Оставлено : 14 декабря 2006 г. 22:07:25(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 27.09.2003(UTC)
Сообщений: 219
Баллов: 657

А вот объясните почему!!! надо писать & #xa0;(пробел убрать)
Код:
&lt;xsl:text&gt;BEGIN:VCALENDAR&lt;/xsl:text&gt;& #xa0;
и это будет работать?

Потому что это сущность, а не пробельный симывол [;)]
Lucky
#19 Оставлено : 15 декабря 2006 г. 13:37:10(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 27.09.2003(UTC)
Сообщений: 219
Баллов: 657

<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote"><i>Originally posted by Lucky</i>
<br />Потому что это сущность, а не пробельный симывол [;)]
<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote"> класно [:D]
Неа. Это не сущность, а просто код символа.
Если написать & #xd;& #xa; , то ничего не произойдет - не будет переноса. Скорее всего причина в том, что обозначает этот символ(& #xa0; неразрывный пробел), т.е. он как бы стягивает к себе текст слева и перевод строки справа.
Dimitry.Ketov
#20 Оставлено : 15 декабря 2006 г. 15:14:24(UTC)
Ранг: Активный Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 01.12.2002(UTC)
Сообщений: 3,382
Баллов: 10,146
Откуда: Russia Санкт-Петербург

[:)]

Спешу огорчить, но это сущности, именованая или две символьных.
Хоть по значению это и перевод строки - xml парсер будет использовать ее литеральное значение, в отличие от пробелов и переводов строк, которые парсером будут восприняты как спецвльные симыолы - разделители.
Хоть поверте, хоть проверте.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.