0
4

2 回答 2

1

请记住,XSLT 模板不匹配标签,它们匹配元素。a 元素的开始标记紧跟 img 元素的开始标记,但从 XSLT 的角度来看,您正在寻找的结构是一个具有 img 元素作为其唯一子元素的 a 元素。

您的第四条规则“图像和标签的属性”。不完整:您还没有说两个元素的属性必须满足什么条件。

您还没有明确说明您是否希望您的模板规则匹配 img 元素或 a 元素。

这是一个匹配 img 元素的规则,前提是包含的元素具有 href 属性:

match="a[@href]/img[not(preceding-sibling::node() or following-sibling::node())]"
于 2012-07-03T07:21:36.317 回答
0

match在您的模板属性中使用此 xpath :

//a[count(@*)>0 and img[count(@*)>0] and count(.//*)=1 and normalize-space(.)='']

这将选择a没有非重要文本内容、属性的所有元素以及具有属性的单个img元素。

于 2012-07-03T05:39:54.947 回答