簡體   English   中英

避免使用“ancestor ::”Xpath軸

[英]Avoiding using “ancestor::” Xpath axis

我正試圖找到一種方法來重新編譯這個轉換到我不必在我的Xpath中使用ancestor:: axis的地方:

<xsl:template match="p[ancestor::p]">
     <xsl:apply-templates select="node() except ppr" />
</xsl:template>

來源示例:

<root>
  <p>
     <p/>
     <section>
        <p/>
     </section>
     <ppr/>
     <content/>
     <p/>
     <picture/>
  </p>
</root>

期望的輸出:

<root>
  <p>
     <section>
     </section>
     <ppr/>
     <content/>
     <picture/>
  </p>
</root>

我不能使用顯式Xpath或定位來抓取這些<p>元素,因為它們的位置是隨機的,並且在原始源文檔中沒有模式。

我試圖不使用ancestor::的原因是因為我正在使用的XSLT處理器正在花費30-50秒來評估Xpath表達式。 我不希望這個問題是關於我正在使用哪個XSLT處理器或者我的設置的其他實現,而是關注手頭的問題:有沒有辦法在我的上面的轉換中不使用ancestor::

提前致謝。

結果如此簡單:

//p//p

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM