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

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

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

Старожил


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

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


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

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

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

спасибо.

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

 

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


Contributor


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

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


E-mail
Цитата E-mail:
как беруться из базы?
PHP код: Выделить весь код

// берем из базы

$List mysql_query('SELECT *
                       FROM program
                            '
.$where2.'
                   ORDER BY Date DESC
                      LIMIT '
.$_REQUEST['start'].', 15;') or print mysql_error() ;

// пихаем в XML
$SoftNews='<news>';
while( 
$Item mysql_fetch_assoc($List) )
{
  
$Item['DateString']=date('j'strtotime($Item['Date'])).' '.$M[date('n'strtotime($Item['Date']))];
  
$SoftNews .='<program>';

  if(
$Item['Size'] < 1024)
    
$Item['Size'] = $Item['Size'].' ÊÁ';
  else
    
$Item['Size'] = round($Item['Size']/10241).' ÌÁ';

  foreach(
$Item as $name => $value)
    
$SoftNews .='<'.$name.'><![CDATA['.$value.']]></'.$name.'>';
  
$SoftNews .='</program>';
}

$SoftNews .='</news>'

Цитата E-mail:
можно поподробнее об xmlquery?
xmlquery пока вроде поддерживают только ORACLE и MSSQL

Цитата E-mail:
по поводу совт.осзон - а нельзя придать выводимому коду человекоподобный вид?
можно, в шаблоне для этого есть специальный параметр, какоторый ватоматически все сделает, но если вы почитаете о крос борзерности вы поймете почему выводится именно в такой форме.

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


Отправлено: 09:56, 19-02-2006 | #91



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

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


Аватара для benya

Старожил


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

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


Все это смахивает на какое-то шаманство Где собственно отделение логики от контента??? ))))
Чем дальше тем больше понимаешь что мы просто перетаскиваем часть кода из PHP или PERL в шаблонные правила XSLT. Дизайнеру там делать нечего )
А еще к слову что XSLT не сложнее HTML отвечу на собственный вопрос по поводу группировки по трем значениям (подсказали умные люди на форуме). Тоесть создание древовидного меню с уникальными значениями:
Входной XML
Код: Выделить весь код
<menu>
<item category="Рафтинг" country="Украина" namen="Днестр"/>
<item category="Рафтинг" country="Россия" namen="Карелия"/>
<item category="Рафтинг" country="Россия" namen="Байкал"/>
<item category="Треккинг" country="Украина" namen="Днестр"/>
<item category="Рафтинг" country="Россия" namen="Карелия"/>
<item category="Рафтинг" country="Россия" namen="Карелия"/>
<item category="Спелео" country="Россия" namen="Алтай"/>
<item category="Рафтинг" country="Украина" namen="Черемош"/>
</menu>
XSLT:
Код: Выделить весь код
<xsl:key name="category" match="item" use="@category"/>
<xsl:key name="country" match="item" use="concat(@category,'-',@country)"/>
<xsl:key name="name" match="item" use="concat(@category,'-',@country,'-',@namen)"/>
<xsl:template match="menu">
  <list><xsl:text>
</xsl:text>
    <xsl:apply-templates select="item[generate-id(.) = generate-id(key('category',@category))]"/>
  </list>
</xsl:template>
  
<xsl:template match="item">
  <category name="{@category}"><xsl:text>
</xsl:text>
  
    <xsl:for-each select="key('category',@category)">
      <xsl:variable name='country' select="key('country', concat(@category,'-',@country))"/>
      
      <xsl:if test="generate-id(.) = generate-id($country)">
        <country name="{@country}"><xsl:text>
</xsl:text>
          <xsl:apply-templates select='$country' mode='country'/>
        </country><xsl:text>
</xsl:text>
      </xsl:if>
    </xsl:for-each>
    
  </category><xsl:text>
</xsl:text>
</xsl:template>

<xsl:template match='item' mode='country'>
<xsl:variable name='name' select="key('name', concat(@category,'-',@country,'-',@namen))"/>
<xsl:if test="generate-id(.) = generate-id($name)">
<item name='{@namen}'/><xsl:text>
</xsl:text>
</xsl:if>
</xsl:template>
Выход:
Код: Выделить весь код
<category name="Рафтинг и сплавы">
 <country name="Украина">
   <item name="Днестр"></item>
   <item name="Черемош"></item>
   <item name="Тиса"></item>
   <item name="Черный Черемош"></item>
   <item name="Южный Буг"></item>
   <item name="Десна"></item>
   <item name="Рось"></item>
   <item name="Северский Донец"></item>
 </country>
 <country name="Россия">
   <item name="Карелия"></item>
   <item name="Байкал"></item>
   <item name="Алтай"></item>
   <item name="Кавказ"></item>
   <item name="Урал"></item>
 </country>
</category>
...
Глаза сломать тут можно точно. Но хочу вам сказать что лучше рыться в этом, чем в бесчисленных шаблонах разнообразных шаблонизаторов.

Отправлено: 17:40, 19-02-2006 | #92


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


Contributor


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

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


benya
суть в разделении ин6формации и то как она отображается!

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


Отправлено: 18:55, 19-02-2006 | #93


Аватара для vadimiron

Ветеран


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

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


Цитата:
и сразу посылаются на шаблонныйх движок, который сам разбивает их по дням, php никак не участвует в этом деле
я бы наверно по дням всё таки на пхп разделял, а вот именно ХТМЛ код, то есть именно отображение, уже делал через XSLT преоброзавания

-------
Fortes fortuna adiuvat


Отправлено: 19:21, 19-02-2006 | #94


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


Contributor


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

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


vadimiron
еще раз...
я не однократно тыпаюсь показать что при использовании XSL граница между кодом и шаблоном смещается!
и раскладка становится такой:
PHP + SQL: собирают данные которые нужно отобразить
XSL: уже отображает данные так как нужно!


Цитата:
я бы наверно по дням всё таки на пхп разделял, а вот именно ХТМЛ код, то есть именно отображение, уже делал через XSLT преоброзавания
как не странно но на PHP это делать на много сложнее чем на XSL!!!

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


Отправлено: 19:36, 19-02-2006 | #95


Аватара для vadimiron

Ветеран


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

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


Не, я не говорю, что это как то сложно или непонятно, просто каждый сам для себя эту самую границу устанавливает

-------
Fortes fortuna adiuvat


Отправлено: 20:49, 19-02-2006 | #96

mar mar вне форума

Аватара для mar

just mar


Moderator


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

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


а я бы вообще все разбиение постаралась сместить в SQL
Цитата:
просто каждый сам для себя эту самую границу устанавливает
это точно.

Vlad Drakula
опиши, пожалуйста, этапы обработки ну вот хоть этого запроса. Что мы имеем между SELECT и инткрфейсом, который видим? (это я между прочим к лишним (или необходимым?) этапам, числу вовлеченных в процесс трансляторов и скорости .

Отправлено: 00:31, 20-02-2006 | #97


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

Ветеран


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

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


Vlad Drakula я уважаю кроссинги во всех проявлениях, но на первом месте всегда всеже предлагаю держать человеческий фактор

benya еще не придумали ничего сложнее html

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


Отправлено: 04:03, 21-02-2006 | #98


Аватара для benya

Старожил


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

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


E-mail,
На счет последнего сообщения - как раз наоборот.
Код: Выделить весь код
еще не придумали ничего сложнее html
Чушь! Потому что никто не придерживается стандартов. Нет чего-то, что бы все контролировать. Есть только рекомендации... Все делают как хочется и как нравится

Отправлено: 12:52, 21-02-2006 | #99


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


Contributor


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

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


mar

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

// запрашиваем список программ

$List mysql_query('SELECT *
                       FROM program
                            '
.$where2.'
                   ORDER BY Date DESC
                      LIMIT '
.$_REQUEST['start'].', 15;') or print mysql_error() ;

// выводим список программ
$SoftNews='<news>';
while( 
$Item mysql_fetch_assoc($List) )
{
  
$Item['DateString']=date('j'strtotime($Item['Date'])).' '.$M[date('n'strtotime($Item['Date']))];
  
$SoftNews .='<program>';

  if(
$Item['Size'] < 1024)
    
$Item['Size'] = $Item['Size'].' КБ';
  else
    
$Item['Size'] = round($Item['Size']/10241).' МБ';

  foreach(
$Item as $name => $value)
    
$SoftNews .='<'.$name.'><![CDATA['.$value.']]></'.$name.'>';
  
$SoftNews .='</program>';
}

$SoftNews .='</news>';

...

xml2html($XML0); 

вот и весь кусок кода который за это отвечет.

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


Отправлено: 21:48, 21-02-2006 | #100



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




 
Переход