gpt4 book ai didi

java - 单个 XSLT 文件能否解决这个问题 - 继续..?

转载 作者:行者123 更新时间:2023-12-02 08:07:15 24 4
gpt4 key购买 nike

这个问题与我的这篇文章相关 - Will a Single XSLT file solve this issue..or...?

下面是我的 XML 文件 -

<CVs>
<CV>
<Name>ABC</Name>
<Address></Address>
<Introduction></Introduction>
<CompSkills>Java, XSLT, XPATH, XML, Oracle, VB.NET</CompSkills>
<Experience>
<Profile></Profile>
<Duration></Duration>
<Info></Info>
</Experience>
<Experience>
<Profile></Profile>
<Duration></Duration>
<Info></Info>
</Experience>
<Experience>
<Profile></Profile>
<Duration></Duration>
<Info></Info>
</Experience>
<CV>
<CV>
<Name>XYZ</Name>
<Address></Address>
<Introduction></Introduction>
<CompSkills>Java, XSLT, XPATH, XML, JSP, HTML</CompSkills>
<Experience>
<Profile></Profile>
<Duration></Duration>
<Info></Info>
</Experience>
<Experience>
<Profile></Profile>
<Duration></Duration>
<Info></Info>
</Experience>
<Experience>
<Profile></Profile>
<Duration></Duration>
<Info></Info>
</Experience>

下面是我的 XSLT 文件 -(Dimitre 给出了这个答案,但现在是我的了;))

<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:param name="pName" select="'XYZ'"/>

<xsl:template match="node()|@*" name="identity">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>

<xsl:template match="CV">
<xsl:if test="$pName = Name or $pName='*'">
<xsl:call-template name="identity"/>
</xsl:if>
</xsl:template>

</xsl:stylesheet>

上面的 XSLT 将提取匹配的 <Name>这是从 Java 传递的。

现在我需要知道如何修改这个 XSLT,这样如果我将 Oracle 作为参数传递,那么那些拥有 Oracle <CompSkills> 的人会被列出。 Oracle 将成为 CompSkills 之一..

提前致谢 - 约翰

最佳答案

XPath 1.0,简单的方法:contains函数,例如:

<xsl:if test="contains(CompSkills, $pSkill)">

关于java - 单个 XSLT 文件能否解决这个问题 - 继续..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7962480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com