首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

学习 XSLT:XML文档转换的关键

一个 元素可能表示 HTML 表格、一件家具或其他东西 - 浏览器不知道如何显示它!因此,XSL 描述了 XML 元素应如何显示。...它是如何工作的在转换过程中,XSLT 使用 XPath 定义应与一个或多个预定义模板匹配的源文档的部分。当找到匹配时,XSLT 将源文档的匹配部分转换为结果文档。...在下一章中,您将学习如何使用 xsl:for-each> 元素循环遍历 XML 元素,并显示所有记录。...XSLT xsl:choose> 元素xsl:choose> 元素与 xsl:when> 和 xsl:otherwise> 结合使用,用于表达多个条件测试。...通过向 XML 文件添加 XSL 样式表并让浏览器执行转换来实现这一点。即使这种方法运行良好,但并不总是希望在 XML 文件中包含样式表引用(例如,在非 XSLT 感知的浏览器中无法工作)。

21310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用XSLT重新发现早期Web开发的乐趣

    随着Web开发者开始质疑其工作的复杂性,了解开发者曾经如何使用XSL转换是有价值的。...但他们的演讲让我想起了过去数据转换的灵活之处。 随着时间的推移,较大的XSLT转换变得难以处理,这项技术逐渐被更易于使用的格式所取代。JQuery和CSS现在被认为是识别元素和样式的更简单方法。...然而,随着人们开始质疑以DOM为中心的方法是否增加了额外的复杂性,了解大约十年前人们如何使用转换是有价值的。 XSLT的一个优点是它仍然内置于浏览器中,因此使用起来实际上是免费的。...我们将使用xsltest上的简单转换器来展示一些转换代码在我们的cities.xml文件上的工作情况: 因此,正如你所看到的,结果输出是由放置在XSL中的HTML创建的(XSL是执行转换的语言的术语)。...如果我直接在Chrome中打开cities.xml,我会看到如下内容,这或多或少是预期的: 为了让它使用我们的XSLT,我们只需添加一行代码来告诉它关于位于同一文件夹中的文件: <?

    6110

    XML 相关漏洞风险研究

    上面介绍的这些实体统称为一般实体(General Entities),与之相对应的是参数实体(Parameter Entities)。...与基于DTD(文档类型定义)的验证相比,XML Schema 提供了更丰富的数据类型支持、更强的约束定义能力以及命名空间的支持。...Edition) XSL Transformations (XSLT) Version 3.0 XInclude with XSLT Java API for XML Processing (JAXP...lol8;&lol8;&lol8;&lol8;&lol8;&lol8;"> ]> &lol9; 上述 XML 文件在解析 根节点时不断解析前述定义的实体,最终可以让根节点包含...即使在浏览器这么安全的软件中也依然忽视了这些 XML 的攻击面,另外提一嘴,Chrome 中使用的还只是 XSLT 1.0 的标准,我们前面看到 XSLT 已经出到了 3.0,其中增加了许多内置函数,有心人如果捡到了新的漏洞别忘了也给我分享一下

    38610

    从一个范例看XML的应用

    由于数据库和数据访问并不是本文的重点,所以我只简单地描述一下步骤。在本地SQL Server或者直接在App_Data下新建一个数据库,起名叫SiteDB,然后建一个表Book,字段的设定如下: ?...在本文的例子中,我们接收的是一个XML字符串,那么如何对它进行验证呢?我们可以使用XML模式(XML Schema)来对它进行验证,XML模式文件的后缀名为xsd。...xsl:for-each> xsl:template> xsl:stylesheet> 与XML模式类似,解释XSLT...我们要做的第一步,就是让Web页面实现ICallbackEventHandler接口,它的实现如下: private string userInput; void ICallbackEventHandler.RaiseCallbackEvent...通过这篇文章,可以看到XML的广泛应用,但是也发现了实现这样一个简单的功能却需要做如此繁杂的工作。所以,我个人觉得如果想要一些更巧妙的设计、更优良的性能,那么可以采用这样的方式。

    3K40

    数据传输技术之XML概览

    XML让电力工程师描述他们的电路图,让作曲家写乐谱,而不会互相干扰。对于浏览器开发商来说,都不需要对特定的领域提供特殊的支持,也不需要提供复杂的插件。这一点现在已经实现了。...一般来说,XML与数据库可协同工作得很好。 准确地说,我们可在第23章“设计新的XML应用”中看到这种情况。 无论在何种情况下,都是编辑器或其他程序创建了XML文档。...用户不必完全成为一个时髦的图形设计者,但是应该了解如何将一个页面与另一个页面链接起来,了解如何在文档中包括图像,如何使文本变成粗体等等。...XSL文档本身就是结构完整的XML文档。 XSL文档包括一系列的适用于特定的XML元素样式的规则。XSL处理程序读取XML文档并将其读入的内容与样式单中的模式相比较。...但是,良知让我告诉读者,我还没有全讨论到。事实上,我所叙述的大部分是XML的前景而不是当前的现实。XML让软件产业中的许多人激动不已,许多程序员正在奋发工作,以便将梦想变为现实。

    17310

    XML快速入门学习笔记

    XML与HTML的差异对比? XML 被设计用来设置结构化,传输和存储数据,其焦点是数据的内容。 HTML 被设计用来显示数据,其焦点是数据的外观。...--female--> 属性难以阅读和维护,请尽量使用元素来描述数据,而仅仅使用属性来提供与数据无关的信息。...(2) 默认的命名空间在为元素定义默认的命名空间可以让我省去在所有子元素中使用前缀工作,语法如xmlns="namespaceURI" WeiyiGeek.默认的命名空间 (3) XSLT与命名空间...名称空间) xmlns="http://www.w3.org/2001/XMLSchema" #targetNamespace 起目标名称空间名称 (值是任意的切不能重复) #注意名称空间的名字语法容易让人混淆...定义元素的方法定义属性 --> defalt 初始默认值 fixed 不能修改和覆盖的固定属性值 name 属性的名称 ref 对前一个属性定义的引用 type 该属性的XSD类型或者简单类型 use 如何使用属性

    6.8K30

    XML快速入门学习笔记

    XML与HTML的差异对比? XML 被设计用来设置结构化,传输和存储数据,其焦点是数据的内容。 HTML 被设计用来显示数据,其焦点是数据的外观。...--female--> 属性难以阅读和维护,请尽量使用元素来描述数据,而仅仅使用属性来提供与数据无关的信息。...(2) 默认的命名空间在为元素定义默认的命名空间可以让我省去在所有子元素中使用前缀工作,语法如xmlns="namespaceURI" ?...名称空间) xmlns="http://www.w3.org/2001/XMLSchema" #targetNamespace 起目标名称空间名称 (值是任意的切不能重复) #注意名称空间的名字语法容易让人混淆...定义元素的方法定义属性 --> defalt 初始默认值 fixed 不能修改和覆盖的固定属性值 name 属性的名称 ref 对前一个属性定义的引用 type 该属性的XSD类型或者简单类型 use 如何使用属性

    8.9K20

    XML 简介及用法详解

    XML 是一种用于存储和传输数据的与软件和硬件无关的工具。什么是XML?XML代表eXtensible Markup Language(可扩展标记语言)。XML是一种与HTML非常相似的标记语言。...XML是可扩展的大多数XML应用程序即使添加(或删除)新数据也能正常工作。想象一个应用程序,设计用于显示note.xml的原始版本( )。...XML分离数据与演示XML通常用于将数据与演示分离。XML不包含有关如何显示的任何信息。相同的XML数据可以在许多不同的演示情境中使用。因此,使用XML,数据和演示之间存在完全的分离。...用户或XML应用程序将不知道如何处理这些差异。使用前缀解决名称冲突在XML中,可以通过使用名称前缀轻松避免名称冲突。...>xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">xsl:template match="

    54700

    深入解剖SDTM-Define.XML

    于是小编就去CDISC官网下载了SDTM与Adam的最新的define V2.1的示例及define2-1.xsl,并对SDTM的define.xml进行了研究。...CDISC官方提供了define.xml,并同时也提供了define2-1.xsl,define2-1.xsl作为stylesheets是一个必不可少的文件。...本文介绍define.xml参数一切均是基于官方提供的define2-1.xsl(此文件不做任何更改)。 小编正文 小编将官方提供的define.xml打算分为七部分进行拆分讲解。...结束语 关于SDTM-Define.XML的基础知识及参数说明今天就介绍到这里,不难发现,如果我们不借助其他工具其实也能通过XML的语法来写Define,但是这个工作量是巨大的。...那么如何能够高效快捷的生成Define.XML呢,或者只用在原有的SDTM Spec文件的基础上改一改,运行一下程序自动生成Define呢,理论上是可以的,实践上问题不大。

    4.8K106
    领券