添加元素我有一些變量需要被比較,並且根據它們是否相等需要被添加到陣列中我的最大的問題是使用數組和在XSLT
一個。是一個很好的手段,這是一個很好的手段。
b。我如何將元素添加到數組中
另外我認爲需要很多ifs的權利。
<xsl:variable name="Monday">
<xsl:apply-templates select="./OpeningHours/Monday"/>
</xsl:variable>
<xsl:variable name="Tuesday">
<xsl:apply-templates select="OpeningHours/Tuesday"/>
</xsl:variable>
<xsl:variable name="Wednesday">
<xsl:apply-templates select="OpeningHours/Wednesday"/>
</xsl:variable>
<xsl:variable name="Thursday">
<xsl:apply-templates select="OpeningHours/Thursday"/>
</xsl:variable>
<xsl:variable name="Friday">
<xsl:apply-templates select="OpeningHours/Friday"/>
</xsl:variable>
<xsl:variable name="Saturday">
<xsl:apply-templates select="OpeningHours/Saturday"/>
</xsl:variable>
<xsl:variable name="Sunday">
<xsl:apply-templates select="OpeningHours/Sunday"/>
</xsl:variable>
模板應用於數據
的<xsl:template match="OpeningHours/*">
<xsl:value-of select="Open + Close"/>
</xsl:template>
樣品
<OpeningHours>
<Monday>
<Open>8.5</Open>
<Close>20</Close>
</Monday>
<Tuesday>
<Open>8.5</Open>
<Close>20</Close>
</Tuesday>
<Wednesday>
<Open>8.5</Open>
<Close>20</Close>
</Wednesday>
<Friday>
<Open>8.5</Open>
<Close>22</Close>
</Friday>
<Saturday>
<Open>7</Open>
<Close>14</Close>
</Saturday>
</OpeningHours>
我最終的結果應該是
週一至週三8:30-20:00
星期五8:30-22:00
星期六7:00-14:00
我認爲你需要解決三個問題:a)一個數組類似於一週中的幾天的配置,以正確的順序處理它們並提供輸出中所需的縮寫。這可以通過XSLT 2.0中的節點列表來處理。 b)您需要將相同的開放時間分組。 c)您需要格式化代表開放時間的時間字符串。 –
還有一點評論:你對輸入文件格式有任何影響嗎?如果是這樣的話,我會建議在一週中的每一天廢除特定的標記,並簡單地將這條信息移動到通用標記的屬性,例如''。這使得處理更容易。 –
@MarcusRickert從技術上講,我確實擁有對文件的控制權,但我認爲現在可能最好不要立即更改,因爲提案已經提交。 – Enzero