我想實現的是一種解決方案,即使用XSL中的現有映射來驗證是否支持多個項目。要測試的項目存儲在屬性中(由空格分隔)。XSL - 使用key()對項目列表檢查映射
<items>
<item name="item1" supported="true">
<item name="item2" supported="false">
<item name="item3" supported="true">
</items>
我們正在使用一個附加的XML文件來說明一些測試用例。
<testsuite name="suite1">
<testcases>
<testcase name="test1">
<required_item name="item1"/>
</testcase>
</testcases>
<testcases>
<testcase name="test2">
<required_item name="item1"/>
<required_item name="item2"/>
</testcase>
</testcases>
<testcases>
<testcase name="test3">
<required_item name="item1"/>
<required_item name="item3"/>
</testcase>
</testcases>
<testcases>
<testcase name="test4"></testcase>
</testcases>
</testsuite>
問:我們如何能夠實現以下僞代碼?
FOREACH testcase
IF "required_items" is EMPTY
THEN
print TEST_TO_RUN += testcase
ELSE
IF __ALL__ "required_items" are SUPPORTED
print TEST_TO_RUN += testcase
END IF
END IF
END FOREACH
生成的Makefile中的預期結果如下所示。
TEST_TO_RUN+= test1 test3 test4
** ** 1的要求是不太清楚 - ESP。關於「required_items」。如果只有*一些*項目被支持,該怎麼辦?請展開您的示例併發布每個案例的預期結果(如代碼)。 - ** 2。**單個屬性中的多個項目=錯誤的XML結構。你有任何控制權? - ** 3。**請說明是否使用XSLT 1.0或2.0。 –
是的,我可以控制它,因爲我們也擁有XSD。 :-)那麼你會推薦添加多個元素嗎? – Sebastian
「*你會推薦添加多個元素嗎?*」是的。否則,你必須標記。 –