比较 XSL 中的动态驱动值

Posted

技术标签:

【中文标题】比较 XSL 中的动态驱动值【英文标题】:Compare a dynamically driven value in XSL 【发布时间】:2016-05-03 23:41:32 【问题描述】:

我正在使用 XSLt 转换表格和 XML 数据以显示在 UI 页面中,这是我的问题

<xsl:variable name="Work to do" select="DocumentElement/Working[(worktype='wash' or worktype='clean' worktype='sweep') and (attendance= 'Present' or attendance = 'permit')]"></xsl:variable>

 public string milestonebugstype()
    
        string ms_bugtype;
        string msbugs = CommonHelper.Getmilestonebug();
        string[] milestonebugs = msbugs.Split(',');
        List<string> milestone_bugs = new List<string>();
        foreach (string milestonebugtype in milestonebugs)
        
            milestone_bugs.Add("task_type=" + "'" + milestonebugtype + "'");
        
        ms_bugtype = string.Join(" or ", milestone_bugs.ToArray());
        return ms_bugtype;
    
  string milestone_bugs = milestonebugtype();
  outputXml += "<WorkType>"+milestone_bugs+"</WorkType>";

 <xsl:variable name="Works" select="documentelement/worktype"></xsl:variable>
 <xsl:variable name="Work to do" select="DocumentElement/Working[($works) and (attendance= 'Present' or attendance = 'permit')]">   </xsl:variable>

我想将 worktype='wash' 或 worktype='clean' worktype='sweep' 从我检索数据但不知道如何在 XSL 中执行的数据库中外部化。这里的工作类型取自表,我想通过 XML 动态加载“清洗”、“清洁”。请帮帮我

【问题讨论】:

请向我们展示 XML 输入的示例并指向您要使用的“动态”值的位置。见:minimal reproducible example 我已经更新了上面的代码,请看 【参考方案1】:

在一个旧的 c# 项目中,我使用 来传递参数 XslCompiledTransform.Transform。我将简单类型作为字符串传递

【讨论】:

以上是关于比较 XSL 中的动态驱动值的主要内容,如果未能解决你的问题,请参考以下文章

带有分页符和动态内容的 XSL-FO 动态表格宽度

XSL 动态 XPath 评估

XSL-FO 动态表列宽

XSL 从另一个文档评估动态 XPATH

使用Javascript比较(过滤)动态数组中的多个数组值

动态比较 MySQL 中的版本号