我輸入文件,以獲取不同的值如何在XSLT
<?xml version="1.0" encoding="UTF-8"?> <TstData> <ENT_A_BLY Common_Key="3195 KG" NAME="COMPDATA_AC"/> <SOLUTIONS> <A_BLY Name="LPT nozzle cracked." Common_Key="489BB8CC-5978-4D45-B781-929703D1826A"> <SOLUTION> <ID>2060000000000000000001309</ID> <TITLE Common_Key="FD08B464-B115-433F-82A9-0B2BC5CC0A4E"> LPT(Low Pressure Turbine) Damage</TITLE> </SOLUTION> <SOLUTION> <ID>206000000000000000001310</ID> <TITLE Common_Key="FFDSFE64-8DF9-43RF-8DF9-0DFSD5CC0A4E"> LPT(Low Pressure Turbine) Damage</TITLE> </SOLUTION> <SOLUTION> <ID>2060000000000000000001316</ID> <TITLE Common_Key="ADUIEI42-B115-433F-82A9-0B2BC5CC0A4E">Temperature High due to LPT(Low Pressure Turbine) Damage</TITLE> </SOLUTION> </A_BLY> </SOLUTIONS> </TstData>
在XSLT,我想從2個解決方案只獲取一個標題文本。(同時作爲標題名是相同),以便輸出中不會顯示重複的數據。
我的XSLT ..(部分顯示)。
<xsl:element name="FMs"> <xsl:variable name="distinctFM" select="distinct-values(//SOLUTION/TITLE/@Common_Key)"/> <xsl:for-each select="$distinctFM"> <xsl:variable name="TITLENAME" select="."/> <xsl:variable name="TITLENAME1" select="//SOLUTIONS/A_BLY/SOLUTION/TITLE[@Common_Key=$TITLENAME]"/> <xsl:element name="FailureMode"> <xsl:attribute name="CommonKey"><xsl:value-of select="$TITLENAME"/></xsl:attribute> <xsl:attribute name="FMName"><xsl:value-of select="substring(normalize-space($TITLENAME1),1,200)"/></xsl:attribute> </xsl:element> </xsl:for-each> </xsl:element>
我期待這種格式輸出,
<FM CommonKey="FD08B464-B115-433F-82A9-0B2BC5CC0A4E" FMName="LPT(Low Pressure Turbine) Damage"/> <FM CommonKey="ADUIEI42-B115-433F-82A9-0B2BC5CC0A4E" FMName="Temperature High due to LPT(Low Pressure Turbine) Damage"/>
但是,目前雖然我調試,爲FMName,它在變TITLENAME1拋出錯誤。請幫我設計這個輸出。
感謝 拉姆
如果它拋出一個錯誤,如果你說錯誤是什麼,它會讓每個人的生活變得更容易。 – 2011-05-12 17:06:48
因爲您沒有給出錯誤消息而下調計數。 – 2011-05-12 17:13:27
尼布甲尼撒綜合徵 - 不只是解釋我的夢,告訴我我的夢是什麼*和*的解釋。 – LarsH 2011-05-12 20:39:54