Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用XSL将xml值作为类添加到body标记中_Xml_Xslt - Fatal编程技术网

使用XSL将xml值作为类添加到body标记中

使用XSL将xml值作为类添加到body标记中,xml,xslt,Xml,Xslt,我对xsl非常生疏,所以我会尽可能地问这个问题,但我要做的是获取XML文件属性(在本例中为“pharmacy”)的值,并将其作为类传递给xsl文件中的body标记。我最终使用了jQuery,它可以工作,但我所问的是使用xsl是否可行 我的jQuery解决方案: <script> $(function() { var a = $('.cohort').text(); $('body').r

我对xsl非常生疏,所以我会尽可能地问这个问题,但我要做的是获取XML文件属性(在本例中为“pharmacy”)的值,并将其作为类传递给xsl文件中的body标记。我最终使用了jQuery,它可以工作,但我所问的是使用xsl是否可行

我的jQuery解决方案:

<script>                
          $(function() {
            var a =  $('.cohort').text();
          $('body').removeClass('no-js').addClass('je-enabled ' + a)                                        
             });              
</script>

$(函数(){
变量a=$('.court').text();
$('body').removeClass('no-js').addClass('je-enabled'+a)
});              
我的XSL:

<xsl:template match = "/">              
    <html> 
     <body class="no-js"> 
        <xsl:apply-templates /> 
     </body> 
    </html> 
</xsl:template>  

<xsl:template match="COURSE">
 <div class="cohort sr-only"><xsl:value-of select="@STUDY_AREA"/></div>
 .
 .
</xsl:template>  

.
.
我的XML

<COURSES>
  <COURSE id="1" STUDY_AREA="pharmacy">
  .
  .
  </COURSE>
</COURSES>

.
.

如果我没有添加完整的代码,您的帮助将不胜感激,因为它太大了。希望我提供的足够了

据我所知,您希望:

  • 阅读
    课程
    标签中的
    学习区
    属性的内容, 位于
    COURSES
    root标记(类名)中
  • 生成
    body
    标签,标签的
    class
    属性与您需要的属性相同 刚刚阅读,使用
    xsl:attribute
那么您的模板应该如下所示:

<xsl:template match="/">
  <html>
    <body>
      <xsl:attribute name="class" select="COURSES/COURSE/@STUDY_AREA"/>
      <xsl:apply-templates/>
    </body>
  </html>
</xsl:template>

请注意:

  • 此模板不会将任何类分配给
    主体
    标记 以静态的方式
  • 相反,它使用目标类名设置
    class
    属性

您以前没有问过这个问题吗?我不是问过你如何识别你想要复制价值的课程吗?嘿,Micheal,不,你没有,只是说没有足够的信息-我认为最好重试或改写这个问题-这仍然没有意义-我没有提供足够的信息吗?我曾尝试寻找一个解决方案,但我发现的任何东西都不推荐。这是一个简单的问题:如果你有多个课程(我肯定你有),你想将哪个课程的学习区域复制到正文中?最终结果将只显示1。我猜某个变量被传递了?i、 我走对了吗?如果你不知道,我怎么知道?天哪!是的,是的!为了回答你的问题——这到底有多简单——瓦尔迪欧·波(Valdi_Bo)拯救了我:——但我最终还是不得不这么做了