0
我是XSLT和XML的新手。XSLT結合了兩個模板過濾器信息
我目前正在過濾來自XML文檔的一些信息,並且我想在同一個文檔上再應用一個模板。
我不知道如何結合這兩個模板。
如果有人能指導我。
這是我的XML文檔:
<?xml version="1.0" encoding="UTF-8"?>
<People>
<Person>
<num>0000022222</num>
<first-name>Mike</first-name>
<last-name>Jhonny</last-name>
<licenses>
<license>
<number>1762539</number>
</license>
<license>
<number>1762538</number>
</license>
</licenses>
<not-required>
<one>12345</one>
<two>54321</two>
</not-required>
</Person>
<Person>
<num>0000011111</num>
<first-name>John</first-name>
<last-name>Jhonny</last-name>
<licenses>
<license>
<number>1762539</number>
</license>
<license>
<number>1762538</number>
</license>
</licenses>
<not-required>
<one>12345</one>
<two>54321</two>
</not-required>
</Person>
</People>
我要過濾的<not-required></not-required>
標籤,我能夠做到這一點。
我也想過濾<num>
標籤的前導零。
我知道我可以通過應用此模板來做到這一點。
<xsl:template match="num">
<xsl:value-of select="number(.)"/>
</xsl:template>
,我使用目前的XSLT如下:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="not-required"/>
</xsl:stylesheet>
這是我如何得到輸出:
<?xml version="1.0" encoding="UTF-8"?>
<People>
<Person>
<number>0000022222</number>
<first-name>Mike</first-name>
<last-name>Jhonny</last-name>
<licenses>
<license>
<number>1762539</number>
</license>
<license>
<number>1762538</number>
</license>
</licenses>
</Person>
<Person>
<number>0000011111</number>
<first-name>John</first-name>
<last-name>Jhonny</last-name>
<licenses>
<license>
<number>1762539</number>
</license>
<license>
<number>1762538</number>
</license>
</licenses>
</Person>
</People>
這是我期待
<?xml version="1.0" encoding="UTF-8"?>
<People>
<Person>
<number>22222</number>
<first-name>Mike</first-name>
<last-name>Jhonny</last-name>
<licenses>
<license>
<number>1762539</number>
</license>
<license>
<number>1762538</number>
</license>
</licenses>
</Person>
<Person>
<number>11111</number>
<first-name>John</first-name>
<last-name>Jhonny</last-name>
<licenses>
<license>
<number>1762539</number>
</license>
<license>
<number>1762538</number>
</license>
</licenses>
</Person>
</People>
有人可以指導我如何co mbine模板來取得前導零。
出於某種原因,當我加入這個以前它是不工作。這很奇怪,所以我問了這個問題。 – Aniks 2014-10-30 16:46:22
您的版本沒有xsl:copy。 – 2014-10-30 16:49:47
很好,非常感謝你幫助我。 – Aniks 2014-10-30 18:25:52