Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Что еще можно сделать с XML + XSLT + XSL

Ответить
Настройки темы
Что еще можно сделать с XML + XSLT + XSL

Старожил


Сообщения: 236
Благодарности: 0

Профиль | Отправить PM | Цитировать


приступил к изучению, но вот только не как не пойму, как это все работает)

IE 6 какуето несоурядицу показывает, может надо какойто можуль устонавливать дополнительно?

не в плом, наваяйте простенький рабочий пример XSL XHTML чтобы работал в IE 6, чтонибудь типа hello world с красивастями показывающие возможности.

спасибо.

Отправлено: 07:42, 12-09-2004

 

Аватара для benya

Старожил


Сообщения: 302
Благодарности: 5

Профиль | Сайт | Отправить PM | Цитировать


На самом деле в ступор сервер можно вогнать чем угодно. Взять image-magick и сутками крутить по кругу фото 10 мегапикселей. Это и так ясно. Но мне ответили что никому кроме меня это не нужно из более 3000 клиентов. А может и просто не захотели возиться с модулями, так как там добрый десяток зависимостей модулей и столько ж пакетов. Досадно как.

Отправлено: 11:49, 03-12-2005 | #61



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


benya
ну...
вроде это не сложно устанавливать...

Цитата:
On Unix, run configure with the --enable-xslt --with-xslt-sablot options. The Sablotron library should be installed somewhere your compiler can find it.

Make sure you have the same libraries linked to the Sablotron library as those, which are linked with PHP. The configuration options: --with-expat-dir=DIR --with-iconv-dir=DIR are there to help you specify them. When asking for support, always mention these directives, and whether there are other versions of those libraries installed on your system somewhere. Naturally, provide all the version numbers.
сейчас есть хостеры которые все это готовы поставить... просто надо поискать...

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 12:00, 03-12-2005 | #62

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Vlad Drakula
Цитата:
2,0 есть в саксоне...
а можно более официальное название не дошло - что это?

Кстати вопрос - кто-нибудь использовал XML/XSL шаблоны под PHP? Что о них можно сказать? Чем парсится? Я имею в виду ситуацию, типа следующей (нагло содрано из книги ) :
Код: Выделить весь код
....
<!--- дальше идет блок повторяющихся данных, берущихся из базы --->
<xsl:for-each select="people/person">
       <tr>
            <td><xsl:value-of select="name/></td>
            <td><xsl:value-of select="email/></td>
       </tr>
</xsl:for-each>
....
вот, собственно, кто будет это парсить? (т.е. где вызывается запрос к базе и крутится, наполняясь этот шаблон столько раз, сколько нужно?

Еще два вопроса: насколько удобно использование таких шаблонов
- по скорости (особенно здорово было бы в сравнении с FastTemplate и php-templates).
- По удобству (для программиста) (по сравнению с шаблонами, используищие принцип парсинья блоков и переменных, вроде того, что тут (специально делаю пример, аналогичный предыдущему):
Код: Выделить весь код
  <!--- дальше идет блок повторяющихся данных, берущихся из базы --->
  <!-- BEGIN row_box -->
	<tr>
           <td>{name}</td>
           <td>{email}</td>
       </tr>
  <!-- END row_box -->
пока все, еще подумаю, еще спрошу

Отправлено: 12:33, 03-12-2005 | #63


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


mar
Цитата:
а можно более официальное название не дошло - что это?
Цитата:
Saxon
Цитата:
Кстати вопрос - кто-нибудь использовал XML/XSL шаблоны под PHP?
PHP код: Выделить весь код

function xml2html($XML$debug 0)

{
  
$XSL implode (''file('./xslt/top100.xslt'));

  
$arguments = array('/_xml' => $XML,'/_xsl' => $XSL);

  
// Allocate a new XSLT processor
  
$xh xslt_create();

  
// Process the document
  
$HTML xslt_process($xh'arg:/_xml''arg:/_xsl'NULL$arguments);
  if(
$debug)
  {
    
header('Content-type: application/xml');
    print 
$XML;
  }
  else
  {
    if (
$HTML)
    {
      echo 
str_replace('&''&'$HTML);
    }
    else
    {
      echo 
" Sorry, sample.xml could not be transformed by sample.xsl into";
      echo 
" the \$XML variable the reason is that " xslt_error($xh);
      echo 
" and the error code is " xslt_errno($xh);
    }
  }
  
xslt_free($xh);


Цитата:
Еще два вопроса: насколько удобно использование таких шаблонов
- по скорости (особенно здорово было бы в сравнении с FastTemplate и php-templates).
- По удобству (для программиста) (по сравнению с шаблонами, используищие принцип парсинья блоков и переменных, вроде того, что тут:
Код:
1) т.к. я очень хорошо изучил XSLT то для меня очень удобно
2) XSLT это стандарт W3C а FastTemplate и php-templates нет... по этому это более перспективный выбор особенно в крупных проектах... т.к. позволяет полностью разграничить функции функциональности и представления... програмист занимается только создаием XML документа а уже потом XSLT верстальщик "натягивает" на него представление.

скоро... (как обычно) я наверно напишу клас для работы с XSLT в качестве шаблонного движка.

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 12:47, 03-12-2005 | #64

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Влад
спасибо за пример, но я просила пропарсить повторяющийся блок данных
- вопрос про скорость: про скорость твоей работы я поняла . Хотелось бы услышать по поводу скорости работы получающейся программы в целом
- в упомянутых мной темплейтах используется вполне себе стандартный html (кстати, при этом, скорей всего, с таким же успехом в качестве файла шаблона можно использовать и xhtml и xml (туда же можно вставить признаки болков и переменные в фигурных скобках)

В общем, пока непонятно :[

Цитата:
скоро... (как обычно) я наверно напишу
да Вы, батенька, черному юмору научились

Отправлено: 14:34, 03-12-2005 | #65


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


mar
еще раз перечитал твой вопрос... но не уверен что я его понял...

у тебя есть данный от базы...
пихает их в XML
PHP код: Выделить весь код

while( $programData mysql_fetch_assoc($List) )

{
  
$XML .='<program>';
  foreach(
$programData as $name => $value)
    
$XML .='<'.$name.'><![CDATA['.$value.']]></'.$name.'>';
  
$XML .='</program>';


после чего вызываем преобразование:

PHP код: Выделить весь код

xml2html($XML); 


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

HTML код: Выделить весь код
<xsl:template match="program"> <li> <a href="./program.php?pid={Id/text()}"> <xsl:value-of select="ProgramName/text()"/> </a> </li> </xsl:template> <xsl:template match="program" mode="DescriptionSmall"> <fieldset> <legend> <xsl:value-of select="ProgramName/text()"/> </legend> <p/>(Êîë-âî ñêà÷èâàíèé: <xsl:value-of select="NAll/text()"/>, Îáíîâëåíî: <xsl:value-of select="Date/text()"/>, <xsl:if test="License/text()"> <xsl:value-of select="License/text()"/>, </xsl:if> <xsl:value-of select="Size/text()"/> <xsl:text> )</xsl:text> <p/> <p><xsl:value-of select="DescriptionSmall/text()" disable-output-escaping="yes"/></p> <p> <a href="./download.php?pid={Id/text()}"><img src="images/download.gif" alt="Ñêà÷àòü" width="17" height="23" hspace="10" border="0" align="right"/></a> <a href="./program.php?pid={Id/text()}">×èòàòü îïèñàíèå ïîëíîñòüþ</a> <xsl:if test="/page/head/moder = 1"> &nbsp;|&nbsp<a href="./edit.php?pid={Id/text()}">Ðåäàêòèðîâàòü <xsl:if test="ShowProgram = 0">(ñêðûòà)</xsl:if> </a> </xsl:if> </p> </fieldset> </xsl:template> <xsl:template match="program" mode="Search"> <fieldset> <legend> <xsl:value-of select="ProgramName/text()"/> </legend> <p/>(Êîë-âî ñêà÷èâàíèé: <xsl:value-of select="NAll/text()"/>, Îáíîâëåíî: <xsl:value-of select="Date/text()"/>, <xsl:if test="License/text()"> <xsl:value-of select="License/text()"/>, </xsl:if> <xsl:value-of select="Size/text()"/> <xsl:text> )</xsl:text> <p/> <p><xsl:value-of select="DescriptionSmall/text()"/></p> <p> <a href="./download.php?pid={Id/text()}"><img src="images/download.gif" alt="Ñêà÷àòü" width="17" height="23" hspace="10" border="0" align="right"/></a> <a href="./program.php?pid={Id/text()}">×èòàòü îïèñàíèå ïîëíîñòüþ</a> <xsl:if test="/page/head/moder = 1"> &nbsp;|&nbsp<a href="./edit.php?pid={Id/text()}">Ðåäàêòèðîâàòü<xsl:if test="ShowProgram = 0">(ñêðûòà)</xsl:if></a> </xsl:if> </p> <xsl:if test="SiteSearch/Article/node()"> <p><b>Ðåçóëüòàòû ïîèñêà ïðîãðàììû ïî ñàéòó:</b></p> <xsl:for-each select="SiteSearch/Article[node()]"> <BLOCKQUOTE><a href="{/page/head/SiteDomine}display.php?id={ID}"><xsl:value-of select="Title"/></a><p><xsl:value-of select="Content" disable-output-escaping="yes"/></p></BLOCKQUOTE> </xsl:for-each> <a class="head" href="{/page/head/SiteDomine}search.php?searchtext={ProgramNameEncode}">Ñìîòðåòü âñå ðåçóëüòàòû ïîèñêà ïðîãðàììû ïî ñàéòó -></a> </xsl:if> </fieldset> </xsl:template> <xsl:template match="program" mode="Description"> <h2 align="center"> <xsl:value-of select="ProgramName/text()"/> <xsl:if test="/page/head/moder = 1"> (<a href="./edit.php?pid={Id/text()}">Ðåäàêòèðîâàòü<xsl:if test="ShowProgram = 0"> (ñêðûòà)</xsl:if></a>)</xsl:if> </h2> <br/> <b>Îáíîâëåíà: <font color="#299024"><xsl:value-of select="Date/text()"/></font></b> (Äîáàâëåíà: <xsl:value-of select="RegDate/text()"/>)<br/> <b>Îïåðàöèîííàÿ ñèñòåìà: <font color="#299024"><xsl:value-of select="Os/text()"/></font></b><br/> <b>ßçûê èíòåðôåéñà: <font color="#299024"><xsl:value-of select="Lang/text()"/></font></b><br/> <b>Òèï ëèöåíçèè: <font color="#299024"><xsl:value-of select="License/text()"/></font></b><br/> Êîëè÷åñòâî ñêà÷åê çà ñåãîäíÿ: <b><xsl:value-of select="N/text()"/></b><br/> Êîëè÷åñòâî ñêà÷åê âñåãî: <b><xsl:value-of select="NAll/text()"/></b><br/><br/> <xsl:for-each select="img"> <br/> <center> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </center> <br/> </xsl:for-each> <ul class="download"> <li> <a class="head" href="./download.php?pid={Id/text()}"> <b>Ñêà÷àòü ( <xsl:value-of select="Size/text()"/> )</b> </a> </li> <xsl:if test="HomePage/text()"> <li> <a class="head" href="{HomePage/text()}"> <b> <xsl:choose> <xsl:when test="Author"><xsl:value-of select="Author/text()"/></xsl:when> <xsl:otherwise>Äîìàøíÿÿ ñòðàíèöà ïðîãðàììû</xsl:otherwise> </xsl:choose> </b> </a> </li> </xsl:if> <li> <xsl:choose> <xsl:when test="threadid/text() != 0"> <a class="head" href="{/page/head/ForumDomine/text()}showthread.php?t={threadid/text()}"><b>Îáñóäèòü íà ôîðóìå</b></a> </xsl:when> <xsl:otherwise> <a class="head" href="{/page/head/ForumDomine/text()}"><b>Îáñóäèòü íà ôîðóìå</b></a> </xsl:otherwise> </xsl:choose> </li> </ul> <br/> <xsl:value-of disable-output-escaping="yes" select="Description/text()"/> </xsl:template>

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 14:43, 03-12-2005 | #66


Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


а ты оффлайн справочник по теме имеешь какойнибудь?
может поделишься?

хватит спамить мне мыло с сообщениями о том что форум уже работает

-------
Основы HTML | Конференции


Отправлено: 14:49, 03-12-2005 | #67


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


E-mail
у меня есть онлайн справочник + большой опыт работы с XSLT

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 15:37, 03-12-2005 | #68


Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


Vlad Drakula
онлайн справочник - это интернет чтоли?

-------
Основы HTML | Конференции


Отправлено: 17:59, 03-12-2005 | #69

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


та, вот еще
Александр Календарев. Шаблонизация на XSLT. Приемы и примеры
Цитата:
Статья рассчитана на начинающих пользователей XSLT-шаблонизации, знающих хотя бы ее основы.
основы знаю плохо, но пошла читать

Отправлено: 19:44, 03-12-2005 | #70



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Что еще можно сделать с XML + XSLT + XSL

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Что можно сделать с ЖК монитором? STINGER85 Прочее железо 5 16-01-2009 23:52
Реабилитация XML/XSLT технологий Vlad Drakula Вебмастеру 8 30-03-2008 01:47
xsl проверка существования тега в xml FADE Вебмастеру 3 23-04-2007 11:29
XML + XSL + PHP => HTML, Как передать бинарный код рисунка ? Lexxx_HU Вебмастеру 5 02-03-2007 17:55
[решено] Как вывести XML аттрибуты через XSL hasherfrog Вебмастеру 1 08-11-2006 16:06




 
Переход