假設我正在將任意XML格式的多選測驗轉換爲HTML。每個選項都將在結果文檔中以HTML <li>
標籤表示。對於每個選項,如果該選擇是正確的答案,我想要將correct
的HTML class
添加到<li>
。此外,如果該選擇是用戶選擇的選項,我想在<li>
中添加一類submitted
。因此,如果所提交的以及的選擇是正確的,那麼<li>
應具有的correct submitted
。是否有一種使用XSLT添加多個HTML類的優雅方式?
據我所知,空格分隔的屬性值不是XML數據模型的一部分,因此不能直接通過XSLT創建。然而,我覺得有一種更好的方法可以做到這一點,而不是爲每個可能的類組合使用一個條件(這在本例中是可以接受的,但在更復雜的情況下難以使用)。
如何以優雅的方式解決此問題?期望結果的
例子:
<p>Who trained Obi-Wan Kenobi?</p>
<ul>
<li>Mace Windu</li>
<li class="correct submitted">Qui-Gon Jinn</li>
<li>Ki-Adi-Mundi</li>
<li>Yaddle</li>
</ul>
實際上,我關於空白分隔的屬性值的觀點是,XML無法將它們識別爲不同的值 - 它都是一個長字符串(除非我忽略了XML的某個部分)。這就是我在開始使用類屬性時總是感覺有點髒的原因。也就是說,我意識到在我們的編碼器中,只需將空間中的類與空間中的類分開,而不是在各處添加一堆''子元素即可。 –
Jakob
2009-10-26 21:36:30
@Jakob:我在回覆結尾處添加了一些關於空格分隔的值列表的詳細信息,這些值構成了一個屬性值。 – NickFitz 2009-10-27 10:36:45