Чтобы ответить на ваш ближайший вопрос, чтобы получить значение температуры во внешнем документе, сделайте следующее:
<xsl:value-of select="temperature/@value"/>
Это потому, что value
является «атрибутом» элемента temperature
, поэтому вы используете префикс @
для обозначения атрибутов.
Однако у вас также будет проблема с получением элемента kjop
, потому что в тот момент, когда вы пытаетесь его получить, вы находитесь в контекстевашего внешнего документа, тогда как kjop
является элементом вашего исходного документа.Итак, вам нужно сохранить ссылку на элемент в исходном документе, чтобы вы могли вернуться к нему, когда начнете выбирать из внешнего документа.
Попробуйте этот фрагмент:
<xsl:for-each select="valuta/valutakurs[land='Canada']/overforsel">
<xsl:variable name="overforsel" select="." />
<xsl:for-each select="document('http://www.yr.no/sted/Canada/Ontario/Toronto/varsel.xml')/weatherdata/forecast/tabular/time">
<tr>
<td><xsl:value-of select="temperature/@value"/></td>
<td>1 NOK</td>
<td><xsl:value-of select="$overforsel/kjop"/> CAD</td>
</tr>
</xsl:for-each>
</xsl:for-each>