On 04.01.2018 18:47, Charles O'Connor coconnor(_at_)ariessys(_dot_)com wrote:
That is, all the stuff I want wrapped is wrapped, but it's also repeated. I
don't understand why
<xsl:apply-templates
select="./node()[not(string-name|collab|etal)]"></xsl:apply-templates>
(and the many variations of the same I've tried) does not exclude those
elements.
./node() selects all child nodes and your predicate then checks the
selected child node does not have string-name or collab or etal child
elements.
You rather want
select="node() except (string-name, collab, etal)"
How do I exclude them? A bonus would be to know how to preserve the punctuation and spaces
between the <string-name> (and <collab> and <etal>) elements.
Can you explain what is supposed to happen if a mixed-citation has those
elements mixed with other elements you don't want to wrap, e.g.
<mixed-citation>
<string-name>...</string-name>
<article-title>...</article-title>
<string-name>...</string-name>
</mixed-citation>
do you want to wrap both string-name elements into the same parent?
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--