получить текст элемента с XSL-преобразованием - PullRequest
1 голос
/ 02 декабря 2011

Я хочу получить текст элемента с помощью xslt, но я не смог этого сделать. Скажите, пожалуйста, какая часть моего кода неверна? мой файл xslt:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
  <xsl:template match="zoo">
    <html>
      <title>
        <xsl:text>ZOO</xsl:text>
      </title>
      <head>
        <h1>Behausung im Zoo "Zoogarten"</h1>
      </head>
      <p>
         <xsl:apply-templates select="zootier" />
      </p>
    </html>
  </xsl:template>
  <xsl:template match="zootier">
    <xsl:for-each select="zoo/zootier" >
      <xsl:apply-templates select="name" />
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>

Является ли эта часть кода правильной для получения текста элемента?

это мой пример XML-файла:

<zoo   name="zoogarten">
  <zootier  id="tier1" flugfaeghig="false">
    <name>erna</name>
    <alter>2</alter>
    <schlachtgewicht>1500</schlachtgewicht>
  </zootier>
  <zootier id="tier2"  schimmel="false">
    <name>peter</name>
    <alter>4</alter>
    <tragezeit>11</tragezeit>
  </zootier>
  <zootier id="tier3" >
    <name>minka</name>
    <alter>3</alter>
    <tragezeit>2</tragezeit>
    <fellfarbe>hell</fellfarbe>
  </zootier>
   .....

1 Ответ

1 голос
/ 02 декабря 2011

много частей. zoo/zootier в zootier контексте, вероятно, не то, что вы хотите. Вам, вероятно, не нужно никаких for-each там. Помочь будет образец xml.

Кроме того, элемент title должен быть дочерним по отношению к head, но это не является вашей непосредственной проблемой.

РЕДАКТИРОВАТЬ: Одна из возможностей обработки zootier

  <xsl:template match="zootier">
    <xsl:value-of select="name/text()"/>
    <xsl:if test="count(following-sibling::zootier)">,</xsl:if>
  </xsl:template>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...