xsl выбирает текстовое значение следующих братьев и сестер - PullRequest
0 голосов
/ 21 декабря 2018

Как я могу получить только "Ваш друг" или только "Микки Маус" из этих узлов?

<span>
  <lb/>
  Your Friend
  <lb/>
  <name> Mickey Mouse </name>
</span>

Мой желаемый вывод из XSL будетэто:

<p> Your Friend </p>
<p> Mickey Mouse </p>

Я пробовал с:

<xsl:template match="/">
<xsl:for-each select="./lb">
    <p>
        <xsl:if test="./following-sibling::text()[1]">
            <xsl:value-of select="./following-sibling::*[text()][1]"/>
        </xsl:if>
        <xsl:if test="./following-sibling::*[name]//text()">
            -test-
        </xsl:if>
    </p>
</xsl:for-each>
</xsl:template>

, но я знаю, что я совершенно неправ, так как я никогда не получаю -test-

Ответы [ 2 ]

0 голосов
/ 31 декабря 2018

используйте код:

<xsl:strip-space elements="*"/>
<xsl:template match="text()">
    <p>
        <xsl:value-of select="normalize-space(.)"/>
    </p>
</xsl:template>
0 голосов
/ 21 декабря 2018

Я в основном догадываюсь здесь, но, кажется, вы хотите:

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