Я делаю демо-версию IF
Состояние в XSLT.
Я хочу напечатать a text
, когда id
соответствует node id
. Я прочитал документ здесь:Почему условие IF дает неожиданный результат в XSLT?
https://msdn.microsoft.com/en-us/library/ms256209(v=vs.110).aspx
Я использовал xsl:if
синтаксис. Но это не печатает значение тега <p>
.
Это ссылка на XSLTTransform for my problem.
И это мой XML-файл:
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications with
XML.</description>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-12-16</publish_date>
<description>A former architect battles corporate zombies,
an evil sorceress, and her own childhood to become queen of the
world.</description>
</book>
<book id="bk103">
<author>Corets, Eva</author>
<title>Maeve Ascendant</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-11-17</publish_date>
<description>After the collapse of a nanotechnology society
in England, the young survivors lay the foundation for a new
society.</description>
</book>
</catalog>
Я хочу показать jjj
, когда книга ИД ИД 'bk101'.
И это мой XSLT-код:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="book">
<xsl:if test="@id =bk101">
<p>jjj</p>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Но он не работает, как ожидалось.
Почему нет, если условие? можем ли мы применить, если условие? – user5711656
Конечно, вы можете применить if-условие. Но предикат короче. Вы можете перенести предикат на '', если хотите. Он будет выглядеть как ' '. Но в чем его смысл усложняет? –
zx485
jjj
Я использую, если в моем примере с тем же syntex, почему он не работает? – user5711656