With the help of absolute path and relative path my question is how i will get into testing element then i have to select import element from there.
实际上,没有必要指定一个完整的路径testing
并检查它是否有一个import
孩子。
XSLT 处理模型(内置模板)与您的模板和适当的模板匹配模式相结合,为您进行导航。
如果没有与特定节点匹配的显式模板,则选择执行内置模板。应用内置模板的累积结果是遍历文档树,只输出文本节点。
可以指定模板以仅针对应该以不同的特定方式处理的节点覆盖内置模板。当内置模板为节点的子节点应用模板并且存在与该节点匹配的显式(用户提供的)模板时,选择该显式模板用于该节点的执行/处理。
这个简短的 XSLT 1.0 转换:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<maindocument>
<xsl:apply-templates/>
</maindocument>
</xsl:template>
<xsl:template match="import/downloading">
<import>
<doctype><xsl:value-of select="substring-before(., ' ')"/></doctype>
<docint><xsl:value-of select="substring-after(., ' ')"/></docint>
</import>
</xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>
当应用于提供的 XMLdocument 时:
<maindocument>
<first>
<testing>random text</testing>
<checking>random test</checking>
</first>
<testing>
<testing>sample</testing>
<checking>welcome</checking>
<import>
<downloading>valuable text</downloading>
</import>
</testing>
</maindocument>
产生想要的正确结果:
<maindocument>
<import>
<doctype>valuable</doctype>
<docint>text</docint>
</import>
</maindocument>