假设我正在将任意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