xslt, namespaces & etc (help)

Все, что вы хотели знать о программизме, но боялись спросить.
Ответить
Аватара пользователя
CdR
Графоман
Сообщения: 11245
Зарегистрирован: 11 окт 2004, 19:27
Откуда: Европа, центр, за углом направо.

xslt, namespaces & etc (help)

Сообщение CdR »

Что-то я туплю как плуг.
Поможите, люди добрыя, бо сами мы неместные.... :)
Например:
- есть xml отсюда : weather.yahoo.com
в нём есть строчка: '<yweather:astronomy sunrise="6:47 am" sunset="6:00 pm"/>'
Хочется соорудить xsl, который бы после transformation файлика выдал что-то типа "<b>Sunrise</b>@6:47"
Аватара пользователя
pastor
Завсегдатай
Сообщения: 418
Зарегистрирован: 21 июн 2006, 01:09
Откуда: UA (2:4623) > Vancouver

Re: xslt, namespaces & etc (help)

Сообщение pastor »

CdR писал(а):Что-то я туплю как плуг.
Поможите, люди добрыя, бо сами мы неместные.... :)
Например:
- есть xml отсюда : weather.yahoo.com
в нём есть строчка: '<yweather:astronomy sunrise="6:47 am" sunset="6:00 pm"/>'
Хочется соорудить xsl, который бы после transformation файлика выдал что-то типа "<b>Sunrise</b>@6:47"

Код: Выделить всё

<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" exclude-result-prefixes="yweather geo">
<xsl:output method="html" version="1.0"/>

<xsl:template match="/">
	<html>
		<head></head>
		<body>
		<xsl:apply-templates/>
		</body>
	</html>
</xsl:template>

<xsl:template match="/rss">
	<xsl:for-each select="channel/yweather:astronomy">
		<b>Sunrise</b>@<xsl:value-of select="@sunrise"/>
	</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
:)
Аватара пользователя
CdR
Графоман
Сообщения: 11245
Зарегистрирован: 11 окт 2004, 19:27
Откуда: Европа, центр, за углом направо.

Re: xslt, namespaces & etc (help)

Сообщение CdR »

pastor писал(а)::)
не. что-то не то.
Но капать отложим на завтра...
Аватара пользователя
pastor
Завсегдатай
Сообщения: 418
Зарегистрирован: 21 июн 2006, 01:09
Откуда: UA (2:4623) > Vancouver

Re: xslt, namespaces & etc (help)

Сообщение pastor »

CdR писал(а):
pastor писал(а)::)
не. что-то не то.
Но капать отложим на завтра...
Как это не то? Я взял xml по указанному адресу. В результате вышеприведенной трансформации вижу:

Код: Выделить всё

<html>
<head>
<META http-equiv="Content-Type" content="text/html">
</head>
<body><b>Sunrise</b>@6:47 am</body>
</html>
Разве это не то, что требовалось?

ЗЫ. На всякий случай: на форуме код размещается в ифрейме со скролл-барами, вся суть под катом :)
Аватара пользователя
CdR
Графоман
Сообщения: 11245
Зарегистрирован: 11 окт 2004, 19:27
Откуда: Европа, центр, за углом направо.

Re: xslt, namespaces & etc (help)

Сообщение CdR »

pastor писал(а):Разве это не то, что требовалось?
100% то. Более, того, я именно подобные вещи и пробовал.... Нейдьоть. :(
Похоже надо бы с трансформатором разобраться. :)
Я пользуюс perl XML::LibXSLT (interface for gnome libxslt). И, вот-с, как-то не складывается. :(
Аватара пользователя
pastor
Завсегдатай
Сообщения: 418
Зарегистрирован: 21 июн 2006, 01:09
Откуда: UA (2:4623) > Vancouver

Re: xslt, namespaces & etc (help)

Сообщение pastor »

CdR писал(а):Более, того, я именно подобные вещи и пробовал.... Нейдьоть. :(
А что значит "нейдоть"? :) ругается как-то?
Я писал xsltшку и тестил с msxml (трасформировал vbs-скриптом).
Аватара пользователя
CdR
Графоман
Сообщения: 11245
Зарегистрирован: 11 окт 2004, 19:27
Откуда: Европа, центр, за углом направо.

Re: xslt, namespaces & etc (help)

Сообщение CdR »

Мдя....
Утро вечера есть умней.
Действительно, все работает.

У меня вот такой фрагмент был:

Код: Выделить всё

<xsl:template match="//yweather:astronomy">
      <b>Sunrise</b>@<xsl:value-of select="@sunrise"/>
</xsl:template>
Всё-таки по-вечерам надо водку пить, а не xslt копать.
Ответить