執行可以說我有一個XSLT樣式表如下所示:秩序XSLT樣式表
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exslt="http://exslt.org/common"
exclude-result-prefixes="exslt"
version="1.0">
<xsl:output method="html" encoding="utf-8" indent="no" />
<xsl:variable name="foo" value="'foo'" />
<xsl:variable name="bar" value="'bar'" />
</xsl:stylesheet>
什麼是執行這裏的秩序?是否保證全局變量$ foo將在全局變量$ bar之前進行計算? (如果它依賴於處理引擎,則使用libxslt)。
謝謝帕維爾。我曾考慮過創建依賴鏈來保證執行順序。然而,由於以下原因,我們的使用案例不切實際: 1.根據'foo'可能會有很多'bar'。讓每個人都依賴'foo'是很繁瑣的。 2.這裏的'foo'和'bar'是由xslt擴展提供的元素/函數。期望擴展的用戶始終指定正確的依賴關係有點容易出錯。 – ajitomatix
爲什麼你需要首先保證任何特定的執行順序?無論如何,您都不應該在XSLT中使用任何帶有副作用的自定義函數,這是唯一可以觀察到差異的情況。如果您需要副作用,XSLT是一個錯誤的選擇。 –
我們需要它,以便我們可以讓用戶設置一些擴展默認設置,然後由擴展中提供的功能使用。是的,我們可以期望用戶必須將這些值作爲參數傳遞給每個函數調用,但這很快就會變得乏味。 – ajitomatix