如何在XSLT中隐藏XML中的字段

时间:2014-01-13 21:06:50

标签: xml xslt

我希望在没有表Zdrowe的情况下显示xml中的所有内容。我怎么能隐藏这个。我是创造 XSLT,但Zdrowe的每个字段都在我的输出文件中,我不知道如何隐藏它。我无法从xml中删除Zdrowe,因为我必须在xml中使用它。

我的XML:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="wyswietl.xsl"?>
<Pacjenci>
  <Pacjent>
      <Dane>
        <Imię>Krzysztof</Imię>
        <Nazwisko>Żubr</Nazwisko>
        <DataUrodzenia>07-05-1991</DataUrodzenia>
        <Adres>Szczawiowa 6</Adres>
        <Miasto>Wrocław</Miasto>
        <Pesel>91050712897</Pesel>
        <ImięMatki>Joanna</ImięMatki>
        <ImięOjca>Bartosz</ImięOjca>
        <NazwiskoRodowe>Żubr</NazwiskoRodowe>
      </Dane>
    <Zeby>
        <Chore>
            <li>Górna 1</li>
            <li>Górna 5</li>
            <li>Górna 6</li>
            <li>Dolna 1</li>
            <li>Dolna 2</li>
            <li>Dolna 6</li>
            <li>Dolna 7</li>
            <li>Dolna 12</li>
        </Chore>    
        <Zdrowe>
            <lii>Górna 2</lii>
            <lii>Górna 3</lii>
            <lii>Górna 4</lii>
            <lii>Górna 7</lii>
            <lii>Górna 8</lii>
            <lii>Górna 9</lii>
            <lii>Górna 10</lii>
            <lii>Górna 11</lii>
            <lii>Górna 12</lii>
            <lii>Dolna 3</lii>
            <lii>Dolna 4</lii>
            <lii>Dolna 5</lii>
            <lii>Dolna 8</lii>
            <lii>Dolna 9</lii>
            <lii>Dolna 10</lii>
            <lii>Dolna 11</lii>
        </Zdrowe>
    </Zeby>
  </Pacjent>
</Pacjenci>

我的xslt文件:

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">

  <xsl:output method="html" indent="yes"
    doctype-public="-//W3C//DTD XHTML 1.1//EN"
    doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"/>

  <xsl:template match="Pacjenci">
    <html>
      <head> <title>Pacjenci gabinetu stomatologicznego</title> </head>
      <body>
         <xsl:apply-templates/>
      </body>
    </html>
  </xsl:template>

  <xsl:template match="Dane">
    <tr>
      <td>
        <h3>
          Pacjent: <xsl:value-of select="Imię"/><xsl:value-of select="Nazwisko"/>
        </h3>
      </td>
    </tr>
    <h3>Dane identyfikacyjne pacjenta:</h3>
    <tr><td>Imię: <xsl:value-of select="Imię"/></td></tr><br />
    <tr><td>Nazwisko: <xsl:value-of select="Nazwisko"/></td></tr><br />
    <tr><td>Adres: <xsl:value-of select="Adres"/></td></tr><br />
    <tr><td>Miasto: <xsl:value-of select="Miasto"/></td></tr><br />
      <tr><td>Pesel: <xsl:value-of select="Pesel"/></td></tr><br />
      <tr><td>Imię matki: <xsl:value-of select="ImięMatki"/></td></tr><br />
      <tr><td>Imię ojca: <xsl:value-of select="ImięOjca"/></td></tr><br />
      <tr><td>Nazwisko rodowe: <xsl:value-of select="NazwiskoRodowe"/></td></tr><br />
    <br />

  </xsl:template>

  <xsl:template match="Chore">
    <h3>Zęby chore:</h3>
    <table>
      <xsl:apply-templates/>
    </table>
  </xsl:template>

  <xsl:template match="li">
    <tr><td><xsl:value-of select="."/></td></tr>
  </xsl:template>
</xsl:stylesheet>

1 个答案:

答案 0 :(得分:2)

添加一个吞下该元素的模板(即匹配它,不执行任何操作):

<xsl:template match="Zdrowe"></xsl:template>