我正在嘗試使用XSLT來顯示我作爲XML(想法爲QWebView生成體面的HTML)所得到的一些結果。在XSLT中的屬性值中插入標籤
我是XSLT的初學者,我無法想象如何獲得以下結果。 (這是一個例子)
輸入
<object name="object_name">
<property1 diff="modified">value1</property1>
<property2>value2</property2>
</object>
輸出
<p>object_name</p>
<ul>
<li>
property1 = <span style="color : #ff00000 ; font-weight : bold ;">value1</span>
</li>
<li>
property2 = value2
</li>
</ul>
所以我想添加一個 「跨度」 標籤,每當我遇到一個 「差異」 屬性(和適應風格屬性值)
現在,我正在做這樣的事情:
<xsl:template match="object">
<p>
<xsl:value-of select="@object_name"/>
</p>
<ul>
<xsl:apply-templates />
</ul>
</xsl:template>
<xsl:template match="object/*">
<li>
<xsl:sequence select="local-name(.)"/> = <xsl:value-of select="."/>
</li>
</xsl:template>
而且我得到了我想要除「跨度」標籤是什麼......我無法找到如何使它工作... 這裏是我嘗試寫的那種代碼片段和插頭在那裏,但沒有成功:
<xsl:template match="*[@diff = 'modified']">
<span style="color : #ff0000 ; font-weight : bold ;">iDontKnowWhatToWrite</span>
</xsl:template>
預先感謝任何忠告或重定向
編輯:添加精度:感謝您與對象/ *匹配的屬性值匹配的想法,但我希望找到一個單獨的匹配解決方案,因爲我將使用它匹配其他標籤...
我不知道我是否非常清楚......實際上,這個XSLT將使用類似於我所展示的標籤來處理XML,但會有幾個標籤具有不同的輸出,就像,但現在我正在處理第一類,但我希望保持整個文檔的這個「差異」屬性行爲(任何時候遇到,我想將以下內容嵌入到「span」標記中)
爲什麼不你在'span'元素的內部放置了'? –