我正在研究soap等web服务的所有内容,发现一些教程中显示的一些xml很难理解,所以我决定从头开始学习,让事情变得有意义。我已经理解了xml,然后我看到了xpath、xslt、xpath、xquery、xlink、xpointer、xml schema、xsl-fo。在xml世界中存在着许多与x相关的东西。我研究了xslt,并没有找到任何理由来说明为什么要在小型或大型应用程序中使用它。它所做的大部分工作都可以通过css、javascript/jquery或服务器端来完成。xslt还在使用吗?或者DTD,Xpath,Xquery,Xlink,Xpointer,XSL-Fo,Xforms呢?
除非我错了,否则我知道xml模式是和soap一起使用的。
发布于 2011-04-01 09:13:00
就其目的而言,XSLT是一项伟大的技术,它专门用于将一个XML文档转换为另一个文档,或者有时转换为纯文本文件。如果您碰巧有数据,并且想用它来生成超文本标记语言、XSL-FO或其他东西,那么到目前为止XSLT是最好的选择。如果您要在应用程序之间传递XML文档并需要更改其格式,XSLT是完美的工具。
但是,如果您的应用程序还没有使用XML,那么您可能不需要它。作为一名开发人员,我建议您学习XSLT,因为当您确实需要进行XML转换时,它是您拥有的一个很棒的工具。在我的应用程序中,我们在一些地方使用它,在这些地方,我们有配置文件作为构建过程的一部分进行转换。除此之外,我已经很多年没有用过XSLT了。
XSLT曾经是服务器上非常常用的生成超文本标记语言的工具。传统的ASP后端尤其如此,这主要是因为传统的ASP很可怕,让您的业务层生成XML要好得多,然后可以通过XSLT将其转换为HTML语言,而不是编写ASP代码来生成HTML。
不过,现在大多数现代服务器端环境都提供了非常强大的工具来编写动态HTML,因此XSLT在此场景中不太常用。
至于将XSLT与CSS进行比较,我真的看不出有什么可比性。XSLT用于将一个XML文档转换为另一个文档,CSS为HTML (有时也包括XML)文档提供视觉样式信息。
在处理XML文档和挑选单独的信息片段时,XPath非常常用。它在XSLT中也被大量使用。
我从来没有见过我工作过的任何一家公司真正使用过XQuery或XPointer。
XML Schema通常用于指定XML文档的格式并对其进行验证。它在SOAP Web服务中大量使用,因为WSDL利用XSD来指定SOAP部件的格式。
XSL-FO通常用于生成PDF。如果你想生成PDF,这是一种方法。从技术上讲,它也可以用于其他事情,但这是我所知道的唯一的用例。
发布于 2011-04-01 16:18:23
我研究过xslt,并没有找到任何理由来解释为什么要在小型或大型应用程序中使用它。它所做的大部分工作都可以通过css、javascript/jquery或服务器端来完成。
首先,大多数使用XSLT的人实际上都在服务器端使用它。客户端XSLT从未真正流行起来--出于某些原因,请参阅我在XML Brague2011上的论文(上周)--主要原因是它从未在所有浏览器上都可用。我希望通过一个新产品Saxon-CE来改变这种情况,但我不想把这变成一个广告。
其次,XSLT的重点不在于它能做其他技术做不到的事情,而在于它能更有效地完成它所做的事情。如果需要将XML文档转换为其他XML文档或HTML,那么一旦掌握了学习曲线,XSLT就是迄今为止最有效的方法。诚然,随着jQuery的出现,用Javascript做这件事已经不像以前那么可怕了,但基于规则的声明式方法有很多好处,特别是当您必须处理小项目和大项目中始终存在的更改和变化时。
发布于 2011-04-02 08:26:51
我使用XML、XSLT和XQuery作为我选择的工具来构建网站。
XSLT做了CSS声称能够做的事情--将内容与布局分离。
假设你想要输出一个销售商品的HTML;
<div class="salesitem">
<div class="title">Saucepan</div>
<a href="images/sp456.jpg">
<img alt="Saucepan" src="images/sp456.jpg"/>
</a>
<div class="price">£19.99</div>
</div>要使用"x“语言输出上述内容,请首先定义要显示的数据。不要担心布局、外观或HTML;
<salesitem>
<title>Saucepan</title>
<image>sp456.jpg</image>
<price>19.99</price>
</salesitem>然后设计一个XSLT模板,将上述内容转换成HTML;
<xsl:template match="salesitem">
<div class="salesitem">
<div class="title"><xsl:value-of select="title"/></div>
<a href="images/{image}">
<img alt="{title}" src="images/{image}"/>
</a>
<div class="price">£<xsl:value-of select="price"/></div>
</div>
</xsl:template>使用XSLT处理程序将"salesitem“模板应用于"salesitem”XML,结果将是您想要的HTML。
我不能想象回到过去使用response.write ".."或echo ".."来输出单独的HTML标签。我喜欢"x“语言所赋予的分离的纯洁性。
https://stackoverflow.com/questions/5508158
复制相似问题