Hello!
I have been poring over the following for ages now and just can't find out what is going wrong.
Thus, another set of XML-savvy eyes would be greatly appreciated!
This is a relevant snippet of the XML that I want to transform via XSLT:
I want to select the content of the <string> following <key>'s with "plainText" as content,Code:<key>synopses</key> <array> <dict> <key>plainText</key> <string>The text I'm trying to select.</string> <key>source</key> <string>Your Description</string> </dict> </array> ....
but only in <dict>'s where the string following key='source' is "Your description".
I've set the XSL up like this:
While I do get the content of the string I want with this, the string "Your Description" is also appended to it in my resulting XML, like so:Code:<!-- data is contained in an array: applies to synopses --> <xsl:when test="$dataname='synopses'"> <!-- only import own synopses --> <xsl:if test="following-sibling::array[1]/dict/key['source']/following-sibling::string[1]/text()='Your Description'"> <xsl:value-of select="following-sibling::array[1]/dict/key['plainText']/following-sibling::string[1]"/> </xsl:if> </xsl:when>
But I have NO idea how that "Your Description" is getting pulled in?Code:<synopsis>The text I'm trying to select. Your Description</synopsis>
It is as if the last string[1] is being ignored??
Thanks for any pointers here,
Nathalie


Reply With Quote

Bookmarks