用于数字xml的XSLT

用于数字xml的XSLT,xml,xslt,Xml,Xslt,我有一个需要转换为html的xml,它包含数字及其奇偶校验。我需要创建两列,一列用于偶数,另一列用于add,但我无法将其放在两列中 XML代码 <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="numbers.xsl"?> <Whole_Numbers> <Number> <V

我有一个需要转换为html的xml,它包含数字及其奇偶校验。我需要创建两列,一列用于偶数,另一列用于add,但我无法将其放在两列中

XML代码

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="numbers.xsl"?>
<Whole_Numbers>
     <Number>
          <Value>1</Value>
          <Parity>odd</Parity>
     </Number>
     <Number>
          <Value>2</Value>
          <Parity>even</Parity>
     </Number>
     <Number>
          <Value>3</Value>
          <Parity>odd</Parity>
     </Number>
     <Number>
          <Value>4</Value>
          <Parity>even</Parity>
     </Number>
</Whole_Numbers>

1.
古怪的
2.
即使
3.
古怪的
4.
即使
XSLT-

<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/">
  <html>
  <body>
  <h2>Whole Numbers</h2>
  <table border="1">
    <tr >
      <th>Odd Numbers between 1 and 100</th>
      <th>Even Numbers between 1 and 100</th>
    </tr>
    <xsl:for-each select="Whole_Numbers/Number">
    <tr>
     <xsl:if test="contains(Parity, 'odd')">
      <td><xsl:value-of select="Value"/></td>
     </xsl:if>
    </tr>
    </xsl:for-each>     
  </table>
  </body>
  </html>
</xsl:template>

整数
1到100之间的奇数
1到100之间的偶数

输出-
只有奇数列中的奇数,如果我包含另一个td标记,它就不起作用了

如果它们确实是奇偶交替的,那么你可以在奇数
数字
元素上对每一个进行处理,然后使用
以下同级::数字[1]
来获得紧跟其后的偶数:

<xsl:for-each select="Whole_Numbers/Number[Parity='odd']">
  <tr>
    <td><xsl:value-of select="Value"/></td>
    <td><xsl:value-of select="following-sibling::Number[1]/Value"/></td>
  </tr>
</xsl:for-each>

如果它们确实是奇偶交替的,那么您可以在奇数
数字
元素上对每一个元素进行计算,然后使用
下面的兄弟姐妹::数字[1]
得到紧跟其后的偶数:

<xsl:for-each select="Whole_Numbers/Number[Parity='odd']">
  <tr>
    <td><xsl:value-of select="Value"/></td>
    <td><xsl:value-of select="following-sibling::Number[1]/Value"/></td>
  </tr>
</xsl:for-each>