首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何避免saxon解析器/xalon解析器中节点/元素的空格b/w

如何避免saxon解析器/xalon解析器中节点/元素的空格b/w
EN

Stack Overflow用户
提问于 2012-09-24 11:20:10
回答 2查看 69关注 0票数 1

我有输入就像下面的片段,

输入片段:

代码语言:javascript
复制
    <div class="a">
      <table>
        <col width="4" />
        <col width="8" />
        <col width="5" />
        <tbody>
          <tr>
            <td>ABC</td>
            <td>DEF </td>
            <td>GHI</td>
          </tr>
        </tbody>
      </table>
    </div>
    <div class="x">

    <table>
        <col width="5" />
        <col width="8" />
        <col width="8" />
    <tbody>
          <tr>
            <td>ABC</td>
            <td>DEF </td>
            <td>GHI</td>
          </tr>
        </tbody>

我目前在tablediv class="a"标记中,我想检查下面的兄弟姐妹,即div,它的第一个孩子是table,还是什么都没有。我编写了以下XPath:./../following-sibling::div[1]/node()[1] ) = 'table'

我在altova XMLSpy中获得了预期的输出,但是在saxon解析器中,由于<div><table>之间有一些空间,所以saxon解析器没有给出确切的输出,而该空间被视为文本节点。

我如何避免标签之间的空间,或者有没有其他解决方案?

代码片段:

代码语言:javascript
复制
<xsl:choose>

<xsl:when local-name(./../following-sibling::div[1]/node()[1] ) = 'table' ">    
  loagic-1
</xsl:when>
<xsl:otherwise>
logic-2 
  </xsl:otherwise>

</xsl:choose>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-24 12:07:58

虽然伊恩的答案是正确的,一个更干净的解决方案是..。

代码语言:javascript
复制
<xsl:when test="../following-sibling::div[1]/*[1]/self::table">

此外,如果您不关心div及其表子表之间的任何中间元素,则可以简化为.

代码语言:javascript
复制
<xsl:when test="../following-sibling::div[1]/table">
票数 1
EN

Stack Overflow用户

发布于 2012-09-24 11:28:32

你需要用

代码语言:javascript
复制
<xsl:strip-space elements="*"/>

在样式表的顶层,告诉它在解析时忽略仅空格的文本节点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12563977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档