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

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

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

Старожил


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

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


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

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

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

спасибо.

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

 

Аватара для vadimiron

Ветеран


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

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


А как это нужно применять в моём случае? Всё равно переменные нигде не принимаются
Тип объекта, а значит и его xsl, лежит в глобальной переменной

Я пока только до такого дошёл
HTML код: Выделить весь код
<xsl:choose> <xsl:when test="$gt=image"><xsl:apply-templates mode="image"/></xsl:when> <xsl:when test="$gt=audio"><xsl:apply-templates mode="audio"/></xsl:when> </xsl:choose>

-------
Fortes fortuna adiuvat


Отправлено: 13:16, 02-06-2006 | #161



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

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


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


Contributor


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

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


vadimiron
вот к примеру здесь: http://soft.oszone.net/
есть нода programm она одна и таже на всех страницах, и XSL файл один и тот же...
но веть отображаются по разнаму в зависимости от того какой тип страницы показывается...

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


Отправлено: 13:21, 02-06-2006 | #162


Аватара для vadimiron

Ветеран


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

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


Честно говоря, там я только XTML код вижу, но не XSL
Я понимаю как использовать mode, но я не понимаю только одного, как я могу выбирать mode в зависимости от переменной
xsl:apply-templates всё равно не разрешает mode как переменная

-------
Fortes fortuna adiuvat


Отправлено: 13:36, 02-06-2006 | #163


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


Contributor


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

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


vadimiron
Цитата:
Честно говоря, там я только XTML код вижу, но не XSL
логично... т.к. ты видишь лошь результат XSL преобразования...

Цитата:
Я понимаю как использовать mode, но я не понимаю только одного, как я могу выбирать mode в зависимости от переменной
xsl:apply-templates всё равно не разрешает mode как переменная
как на счет такого решения:

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

<xsl:choose>

    <
xsl:when test="*">
        <
xsl:apply-templates select="*" mode="*"/>
    </
xsl:when>
    <
xsl:when test="*">
        <
xsl:apply-templates select="*" mode="*"/>
    </
xsl:when>
    <
xsl:when test="*">
        <
xsl:apply-templates select="*" mode="*"/>
    </
xsl:when>
    <
xsl:when test="*">
        <
xsl:apply-templates select="*" mode="*"/>
    </
xsl:when>
    <
xsl:otherwise>
        <
xsl:apply-templates select="*" mode="*"/>
    </
xsl:otherwise>
</
xsl:choose

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


Отправлено: 13:52, 02-06-2006 | #164


Аватара для vadimiron

Ветеран


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

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


Ну да, в общем то я так и сделал (мой пост выше)

-------
Fortes fortuna adiuvat


Отправлено: 13:56, 02-06-2006 | #165


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


Contributor


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

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


vadimiron
Цитата:
Ну да, в общем то я так и сделал (мой пост выше)
чего то я прогладел...

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

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


Отправлено: 14:01, 02-06-2006 | #166


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


Contributor


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

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


к вопросу vadimiron о передаче параметров в шаблон, решил поделиться своими наработками...

когда в шаблон нужно передовать много информации ее наверное лучьше писывать просто отдельный "спец" блоком во входной XML тогда это позволит на много шире использовать ее в XPath запросах!

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

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


Отправлено: 23:18, 03-06-2006 | #167


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


Contributor


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

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


тут возникал вопрос о том как можно выдирать какиенибуть данные из XML, и нашол следуещее решение:

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

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xdt="http://www.w3.org/2005/xpath-datatypes">
<xsl:output method="text"/>
<xsl:template match="/">
    <xsl:for-each select="//node()[name() = 'country']">
        <xsl:value-of select="concat('$countryDirs[] = "', @name, '";')"/>        
    </xsl:for-each>
    <xsl:for-each select="//node()[name() = 'info']">
        <xsl:value-of select="concat('$infoDirs[] = "', ./../../node()/@name, '/', @name, '";')"/>        
    </xsl:for-each>
</xsl:template>
</xsl:stylesheet>

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

<?

function xml2html($f1$f2$debug 0)
{
  
$XML implode (''file($f1));
  
$XSL implode (''file($f2));

  
$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)
    {
      return 
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);
}

eval(
xml2html('./geo.xml''./geo1.xslt'));
?>
<pre>
<?
print_r
($countryDirs);
print_r($infoDirs);
?>
</pre>

вроде все очень просто и понятно...

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


Отправлено: 17:34, 12-06-2006 | #168


Пользователь


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

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


судя по информации на сайте php.net с php5 библиотека XSLT на основе анализатора sablotron не поставляется
поставляется некотоый аналог - ОО-мая библиотека XSL на основе libxslt . кто пользуется таковой или все на php4 сидят? приведи простенький примерчик кода, plz

-------
Suum cuique


Отправлено: 23:03, 03-08-2006 | #169


Аватара для benya

Старожил


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

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


3kLiN
А что есть большая разница? Эти библиотеки делают одно и тоже. Там только поменять небольшой кусочек в PHP где происходит трансформация.

Отправлено: 11:31, 04-08-2006 | #170



Компьютерный форум 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




 
Переход