這是我的xml文檔。如何獲取xslt2.0中特定節點的下一個緊接的下一個兄弟節點?
<w:document xmlns:w="w">
<w:body>
<w:p>
<w:pPr><w:pStyle w:val="Heading1"/></w:pPr>
<w:r><w:t>Tables</w:t></w:r> <!-- Assume Current Node here -->
</w:p>
<w:tbl>
<w:tr>
<w:tc>
<w:p>
<w:r><w:t>row1col</w:t></w:r>
</w:p>
</w:tc>
<w:tc>
<w:p>
<w:r><w:t>row1co2</w:t></w:r>
</w:p>
</w:tc>
</w:tr>
<w:tr>
<w:tc>
<w:p>
<w:r><w:t>row2col1</w:t></w:r>
</w:p>
</w:tc>
<w:tc>
<w:p>
<w:r><w:t>row2col2</w:t></w:r>
</w:p>
</w:tc>
</w:tr>
</w:tbl>
<w:p>
<w:pPr><w:pStyle w:val="Normal"/></w:pPr>
<w:r><w:t>2nd table</w:t></w:r>
</w:p>
<w:tbl>
<w:tr>
<w:tc>
<w:p>
<w:r><w:t>row11col11</w:t></w:r>
</w:p>
</w:tc>
<w:tc>
<w:p>
<w:r><w:t>row11co12</w:t></w:r>
</w:p>
</w:tc>
</w:tr>
<w:tr>
<w:tc>
<w:p>
<w:r><w:t>row12col11</w:t></w:r>
</w:p>
</w:tc>
<w:tc>
<w:p>
<w:r><w:t>row12col12</w:t></w:r>
</w:p>
</w:tc>
</w:tr>
</w:tbl>
</w:body>
</w:document>
所以,我想將這個XML文件轉換爲給定的格式。
<Document>
<Heading1>
<title>Tables</title>
<table>
<paragraph>row1col1</paragraph>
<paragraph>row1col2</paragraph>
<paragraph>row2col1</paragraph>
<paragraph>row2col2</paragraph>
</table>
<paragraph>2nd Table</paragraph>
<table>
<paragraph>row11col11</paragraph>
<paragraph>row11col12</paragraph>
<paragraph>row12col11</paragraph>
<paragraph>row12col12</paragraph>
</table>
</Heading1>
</Document>
除了下面提到case.Assume我已經做了幾乎做了一切,現在當前節點是第一<w:p>
(在XML文檔中提到的)。所以,爲獲得表中的項目,我喜歡編碼
<xsl:choose>
<xsl:when test="following-sibling::w:tbl//w:p[w:r[w:t]]" >
<table>
<!--some code here -->
</table>
</xsl:when>
</xsl:choose>
但,而這樣做,輸出類似...
<table>
<paragraph>row1col1</paragraph>
<paragraph>row1col2</paragraph>
<paragraph>row2col1</paragraph>
<paragraph>row2col2</paragraph>
<paragraph>row11col11</paragraph>
<paragraph>row11col12</paragraph>
<paragraph>row12col11</paragraph>
<paragraph>row12col12</paragraph>
</table>
我想每個組在單獨的表node.How我做的每個表?請指引我走出這個問題...
您還想做其他事情。只需要爲每個w:tbl元素執行一次,並根據需要添加任何前面的元素。 – FailedDev
@FailedDev ::謝謝,我會盡力實現你的想法。如果你找到了方法,然後請讓我知道 – Saravanan