У меня есть некоторые XML-данные, которые я хочу преобразовать в HTML с помощью XSLT, и я в основном все понял правильно.Проблема с моим XML-вводом состоит в том, что он содержит встроенных операторов if / логических выражений , которые я не знаю, как обрабатывать.
<section>
<title>My Title</title>
<paragraph>
<phrase class="inline-if">if_xVariable || if_yVariable</phrase>
Show this text if if_xVariable or if_yVariable is true.
</paragraph>
<paragraph>
<phrase class="inline-if">if_xVariable && if_yVariable</phrase>
Show this text if if_xVariable and if_yVariable is true
</paragraph>
<paragraph>
Always show this text
</paragraph>
</section>
Я думалдобавления xslt-vairables с каждым именем переменной (например, if_xVariable) к true / false и каким-то образом проверять их.
Как вы собираетесь решить эту проблему?
Обновление Это то, что я пробовал
<xsl:template match="section/paragraph">
<xsl:variable name="inlineif" select="phrase[@class='inline-if']"/>
<xsl:if test="$inlineif">
<p>
<xsl:value-of select="."/>
</p>
</xsl:if>
</xsl:template>
Поскольку у меня не указан ни if_xVariable
, ни if_yVariable
, вывод, вероятно, должен быть примерно таким:
<p>
Always show this text
</p>
но вместо этого я получаю вывод из всех абзацев.