Saya mencoba menerapkan pernyataan if -else di XSLT tetapi kode saya tidak diuraikan. Adakah yang punya ide?
<xsl:variable name="CreatedDate" select="@createDate"/>
<xsl:variable name="IDAppendedDate" select="2012-01-01" />
<b>date: <xsl:value-of select="$CreatedDate"/></b>
<xsl:if test="$CreatedDate > $IDAppendedDate">
<h2> mooooooooooooo </h2>
</xsl:if>
<xsl:else>
<h2> dooooooooooooo </h2>
</xsl:else>
xml
xslt
if-statement
Funky
sumber
sumber
Jawaban:
Anda harus menerapkannya kembali menggunakan
<xsl:choose>
tag:sumber
Jika pernyataan digunakan untuk memeriksa satu syarat dengan cepat. Ketika Anda memiliki beberapa opsi, gunakan
<xsl:choose>
seperti yang diilustrasikan di bawah ini:Anda juga dapat menggunakan beberapa
<xsl:when>
tag untuk mengekspresikanIf .. Else If
atauSwitch
pola seperti yang diilustrasikan di bawah ini:Contoh sebelumnya akan setara dengan pseudocode di bawah ini:
sumber
if else
kondisinya hanyalah contoh atau Agak pseudocode. Yah, saya mempertimbangkan keprihatinan Anda dan saya sudah mengeditnya ..Jika saya dapat menawarkan beberapa saran (dua tahun kemudian tetapi semoga bermanfaat bagi pembaca di masa mendatang) :
h2
.ooooooooooooo
teks umum .if/then/else
konstruk XPath 2.0 baru jika menggunakan XSLT 2.0.Solusi XSLT 1.0 (juga berfungsi dengan XSLT 2.0)
Solusi XSLT 2.0
sumber
Pendekatan yang paling lurus ke depan adalah melakukan uji-coba kedua tetapi dengan kondisi terbalik. Teknik ini lebih pendek, lebih mudah pada mata, dan lebih mudah untuk mendapatkan yang benar dari pada blok pilihan-kapan-jika tidak:
Berikut adalah contoh nyata dari teknik yang digunakan dalam style-sheet untuk situs web pemerintah: http://w1.weather.gov/xml/current_obs/latest_ob.xsl
sumber
if
tes kedua cocok dengan yang pertama membuat modifikasi berikutnya lebih rentan terhadap kesalahan.<xsl:choose>
akan jauh lebih mudah, artinya jauh lebih jelas.Berasal dari posting blog ini . Kita bisa meraihnya dengan menggunakan kode di bawah ini
Jadi inilah yang saya lakukan
Keluaran saya
sumber