Проблема со ссылками при преобразовании с XSLT - PullRequest
0 голосов
/ 28 июня 2011

Когда я использую XSLT для преобразования одной страницы XHTML в новую страницу XHTML, я не могу заставить работать теги A в меню. Есть ли способ получить правильный источник ссылок при преобразовании каким-либо образом? Точная помощь, а также советы по улучшению кода ниже. Thansk! :)

<xsl:template match="/">
<ul>
<xsl:for-each select="//*[@id='mbSubMenu']/ul/li">
<li style="margin: 0; padding: 3px 0; border-bottom: 1px solid #ffffff;">
<blockquote style="margin: 0 0 0 5px; padding: 0">
 <a class="vanstermeny_underniva" href="{link}"><xsl:value-of select="."/></a>
</blockquote>
  </li>
</xsl:for-each>
</ul>
</xsl:template>

Ответы [ 2 ]

0 голосов
/ 01 июля 2011

Вам нужно больше деталей, как указано в другом месте.Но ясно, что вы должны использовать push вместо pull, чтобы получить все ваши данные.Google 'xslt push' и читайте об этом.Вот краткий пример:

XML

<div>
<div id ="mbSubMenu">
  <ul>
    <li>
      <a href="#">Blah</a>
    </li>
  </ul>
</div>
  <div id="something">
    <a href="#">else</a>
  </div>
</div>

XSLT

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" indent="yes"/>

  <xsl:template match="/">   
    <html>
      <xsl:apply-templates select="//div[@id = 'mbSubMenu']" />
    </html> 
  </xsl:template>

  <xsl:template match="li">
    <p>
      <xsl:apply-templates/>
    </p>
  </xsl:template>

    <xsl:template match="a">
    <xsl:copy-of select="."/>
  </xsl:template>

</xsl:stylesheet>
0 голосов
/ 28 июня 2011
<a class="vanstermeny_underniva">
   <xsl:attribute name="href">
      <xsl:value-of select="."/>
   </xsl:attribute>
   <xsl:value-of select="."/>
</a>

Попробуйте это.

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