У меня есть шаблон, который показывает путевые точки из файла gpx. В настоящее время единственным способом добавления дочерних элементов в элемент является использование шаблона. Есть ли способ, которым я могу получить значение дочерних элементов без использования отдельного шаблона? Так что вместо того, чтобы делать:Как включить дочерние элементы непосредственно в шаблон xsl
<xsl:attribute name="href">
<xsl:apply-templates select="gpx:link" />
</xsl:attribute>
я мог бы сделать что-то вроде:
<xsl:attribute name="href">
<xsl:value-of select="[email protected]" />
</xsl:attribute>
Вот XML и XSL, которые я использую для этого.
<wpt lat="00.00000000" lon="00.00000000">
<ele>600</ele>
<time>2015-02-16T06:12:27Z</time>
<name><![CDATA[Photo]]></name>
<link href="2015-02-16_01-12-27.jpg">
<text>2015-02-16_01-12-27.jpg</text>
</link>
<sat>0</sat>
</wpt>
<xsl:template name="wpt-circle">
<xsl:for-each select="gpx:wpt">
<circle stroke="black" stroke-width="3" fill="red" r="6">
<xsl:call-template name="latlonc">
<xsl:with-param name="lon" select="@lon"/>
<xsl:with-param name="lat" select="@lat"/>
</xsl:call-template>
<xsl:attribute name="text">
<xsl:apply-templates select="gpx:name" />
</xsl:attribute>
<xsl:attribute name="href">
<xsl:apply-templates select="gpx:link" />
</xsl:attribute>
</circle>
</xsl:for-each>
</xsl:template>
<xsl:template match="gpx:name">
<xsl:value-of select="." />
</xsl:template>
<xsl:template match="gpx:link">
<xsl:value-of select="@href" />
</xsl:template>