Включение отчета о погоде на сайте с использованием XSLT - PullRequest
1 голос
/ 28 мая 2011

Я хочу добавить отчет о погоде на ftp: //ftp.knmi.nl/pub_weerberichten/basisverwachting.xml на мой сайт.

Конкретный элемент, который я хочу включить, находится по адресу:

report/data/location/block

где блок содержит:

<field_id>Verwachting</field_id>

Как мне сделать это с помощью простых XSL-преобразований?

Обновление:

У меня есть следующая XSL-трансформация, но она не дает результатов:

<xsl:variable name="weerknmi" select="document('ftp://ftp.knmi.nl/pub_weerberichten/basisverwachting.xml')/report/data/location"/>
<xsl:value-of select="$weerknmi/block[field_id = 'Verwachting']/field_content"/>

Ответы [ 2 ]

1 голос
/ 28 мая 2011

Используйте

report/data/location/block[field_id='Verwachting']/field_content

Вот полное и очень короткое XSLT-преобразование :

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>

 <xsl:variable name="vDoc" select=
 "document('ftp://ftp.knmi.nl/pub_weerberichten/basisverwachting.xml')"/>

 <xsl:template match="/">
  <xsl:apply-templates select="$vDoc" mode="doc"/>
 </xsl:template>  

 <xsl:template match="/" mode="doc">
     <xsl:value-of select=
      "report/data/location/block[field_id='Verwachting']/field_content"/>
 </xsl:template>
</xsl:stylesheet>

при применении к любому документу (не используется) преобразование динамически получает документ XML, расположенный по адресу ftp: //ftp.knmi.nl/pub_weerberichten/basisverwachting.xml, обрабатывает его, и получается желаемый результат :

Vrij veel завораживает во всем, что происходит после регенерации motregen. В Хет Зуиден Блифт Хэт Overwegend Дрог. De middagtemperatuur петля uiteen van een graad 14 в het Waddengebied общего 19 graden в het zuidoosten. Де зудвэстелийке ветер - это тот, кто в самом деле. Ан-де-Куст - это ветер ветров Крахтиг Хард, 6 баллов 7.

Komende nacht is er vrij veel bewolking встретился в Хет-Нордене-на-Среднем Могиле Ног-Лихте-Регене. Минимальный температурный режим в 11. Графики ветра: ветер, день и ночь 3. Аан де Куст - это ветер с ног до пят, 5.

Morgen overdag breekt op steeds meer plaatsen de zon door in the heri vrijwel overal droog. В среднем, 16 лет, в общей сложности, он составляет 23 градуса в год. У нас есть ветер, который вы не можете найти, из 4, 5, из 5, 5 из 7 Bft. Avonds neemt de wind af. (Брон: КНМИ)

1 голос
/ 28 мая 2011

Простое выражение XPath сделает это:

report/data/location/block[field_id = 'Verwachting']/field_content

Если вы хотите использовать это в XSLT, вы можете просто сделать:

<xsl:value-of select="document('ftp://ftp.knmi.nl/pub_weerberichten/basisverwachting.xml')/report/data/location/block[field_id = 'Verwachting']/field_content" />

У меня может быть немного неправильный синтаксис, я не часто использую document(), и я не могу легко проверить это в данный момент, но вы поняли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...