Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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
与css相比,xsl有什么需要?_Css_Xslt - Fatal编程技术网

与css相比,xsl有什么需要?

与css相比,xsl有什么需要?,css,xslt,Css,Xslt,嗯,我碰巧浏览了一些代码片段,但当同样的事情可以使用css来完成时,我无法理解xsl的必要性。 比如说 <?xml-stylesheet type = "text/css" href = "6a.css" ?> <ENG-COLLEGE> <XYZ> <USN>145456</USN> <NAME>ABC</NAME> <COLLEGE>TYUIT</COLL

嗯,我碰巧浏览了一些代码片段,但当同样的事情可以使用css来完成时,我无法理解xsl的必要性。 比如说

<?xml-stylesheet type = "text/css" href = "6a.css" ?>
<ENG-COLLEGE>
   <XYZ>
     <USN>145456</USN>
     <NAME>ABC</NAME>
     <COLLEGE>TYUIT</COLLEGE>
     <BRANCH>ISE</BRANCH>
     <YEAR>2003</YEAR>
     <EMAIL>abc@gmail.com</EMAIL>
   </XYZ>
<ENG-COLLEGE>
虽然使用xsl可以实现相同的样式,但xsl需要更多的代码行

<xsl:stylesheet version = "1.0"
         xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"
         xmlns = "">

 <xsl:template match = "ENG-COLLEGE">

   <html><head><title>Test XSL</title>
    </head><body bgcolor="lightgreen">
   <center><h2>INFORMATION </h2>
    <table border="1">

<tr><td>USN</td><td>NAME</td><td>COLLEGE</td><td>BRANCH</td><td>YEAR</td>    <td>EMAIL</td></tr>

     <xsl:for-each select ="VTU">
     <tr>
       <td> <xsl:value-of select = "USN" /></td>
    <td><xsl:value-of select = "NAME" /></td>
    <td><xsl:value-of select = "COLLEGE" /></td>
    <td> <xsl:value-of select = "BRANCH" /></td>
   <td><xsl:value-of select = "YEAR" /></td>
   <td><xsl:value-of select = "EMAIL" /></td>
      </tr>
      </xsl:for-each>

     </table>

      </center>
      </body></html>

     </xsl:template>
      </xsl:stylesheet>

测试XSL
信息
USNNAMECOLLEGEBRANCHYEAR电子邮件

如果我在这里遗漏了什么,我的意思是,当css可以使工作变得如此简单时,为什么会有人使用xsl进行样式设计。

css应用样式和定位。XSLT将一个XML文档转换为另一个XML文档。他们根本不是在做同样的工作

我碰巧遇到了一些 代码片段,无法理解 当同样的事情发生时对xsl的需求 可以使用css来完成。比如说

对于面向CSS的示例,正确的情况通常不正确。 如果输入XML包含许多
元素:

<ENG-COLLEGE>
   <XYZ>
     <USN>145456</USN>
     <NAME>ABC</NAME>
     <COLLEGE>TYUIT</COLLEGE>
     <BRANCH>ISE</BRANCH>
     <YEAR>2003</YEAR>
     <EMAIL>abc@gmail.com</EMAIL>
   </XYZ>
   <XYZ>
     <USN>145456</USN>
     <NAME>DEF</NAME>
     ...
   </XYZ>
   etc.
</ENG-COLLEGE>

145456
基础知识
蒂尤特
伊瑟
2003
abc@gmail.com
145456
DEF
...
等

您需要生成这些记录的表,按
名称
元素的内容排序,省略
年份
早于2000年的记录,其中
电子邮件
地址由“mailto”链接包围。。。在CSS中如何实现这一点?

当我在浏览器中打开myfile.xml时,会得到相同的视图。在哪种情况下我应该使用css,而在哪种情况下使用xsl?当您想应用样式和定位时,您可以使用css,当您想将一个XML文档转换为另一个XML文档时,您可以使用xsl。@Rahul:css不能被XML解析器解析。XSL is.Rahul,您可以看看您的示例。在第一个示例中,您使用的浏览器直接将CSS应用于XML文档。在第二个示例中,您使用XSL将XML文档转换为HTML文档。在我自己的开发中,我经常使用XSL将有关数据库的元数据信息转换为代码。我从数据库中提取一个结果集并将其转换为XML。然后,我对它执行XSL,将其转换为代码。。。我认为这不是一个恰当的问题。很明显,OP从发布的示例中知道什么是CSS和XSLT。所以这是一种主观的“对”问题。我认为这是一个足够真实的问题:如果OP认为CSS可以做XSLT所能做的一切,他就不会真正理解XSLT的用途。@LarsH:我不同意。如果OP的意图是理解一些他/她没有意识到的用例,那么这个问题就不会被称为“对”问题。为了证明这对其他人没有帮助,请运行一个关于
[xslt]
标记的搜索,您会发现列表顶部的一些问题混淆了结果。是的,但请注意,除了排序之外(不确定“mailto:”链接,因为它可以与Propitary CSS一起使用)其他的东西可以用CSS来完成。@Alej:我不知道CSS可以过滤文本节点的值。@Alejandro,你说的专有CSS到底是什么意思?我认为这是一种开源语言,对吗?@Rahul,你是说一种开放标准吗?(CSS本身没有“源代码”)是的,CSS是一种开放标准,但公司通常采用公共标准,并向其添加自己的专有扩展。
<ENG-COLLEGE>
   <XYZ>
     <USN>145456</USN>
     <NAME>ABC</NAME>
     <COLLEGE>TYUIT</COLLEGE>
     <BRANCH>ISE</BRANCH>
     <YEAR>2003</YEAR>
     <EMAIL>abc@gmail.com</EMAIL>
   </XYZ>
   <XYZ>
     <USN>145456</USN>
     <NAME>DEF</NAME>
     ...
   </XYZ>
   etc.
</ENG-COLLEGE>