XSLT <xsl:when> 元素
<xsl:when> 元素是在 XSLT(Extensible Stylesheet Language Transformations)中用于定义条件分支的一部分。它通常与 <xsl:choose> 和 <xsl:otherwise> 元素一起使用,用于在模板匹配过程中执行不同的转换规则,具体取决于输入 XML 中的条件。下面是一个简单的示例,展示了 <xsl:choose>、<xsl:when> 和 <xsl:otherwise> 的用法:<!-- 输入 XML --><root> <value>42</value></root><!-- XSLT 转换 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"...
XSLT <xsl:variable> 元素
<xsl:variable> 元素用于在 XSLT 样式表中声明变量。这样可以存储中间结果、重复使用某个值,或者提高样式表的可读性和可维护性。以下是 <xsl:variable> 的基本用法:<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <!-- 声明一个变量 --> <xsl:variable name="myVariable" select="'Hello, World!'"/> <!-- 使用变量 --> <xsl:template match="/"> <output> <message> <xsl:value-of select=&quo...
XSLT <xsl:stylesheet> 和 <xsl:transform> 元素
在XSLT(可扩展样式表语言转换)中,<xsl:stylesheet> 和 <xsl:transform> 元素都用于定义样式表的根元素,但它们是等效的,可以互相替代使用。这两者的作用是定义如何将一个 XML 文档转换为另一个 XML 文档或其他格式,例如 HTML。以下是这两个元素的基本用法:1. <xsl:stylesheet> 元素:<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <!-- 样式表的内容在这里定义 --></xsl:stylesheet>2. <xsl:transform> 元素:<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <!...
XSLT <xsl:text> 元素
<xsl:text> 元素用于在XSLT样式表中定义文本内容,它可以包含在模板中,但不会被直接输出到结果文档。这是有用的,因为XSLT处理器会忽略模板中的空白,但 <xsl:text> 元素可以用于显式地定义文本内容,包括空白字符。以下是 <xsl:text> 元素的基本结构:<xsl:text>文本内容</xsl:text>其中,文本内容 是您想要包含的文本。这个文本可以包含任何字符,包括空格、换行符等。以下是一个简单的示例,演示如何在XSLT样式表中使用 <xsl:text> 元素:<xsl:template match="/"> <output> <!-- 显式定义文本内容 --> <xsl:text>Hello, </xsl:text> <!-- 输出元素值 --> <xsl:value-of select="name"/> <!-- 更多文本 -...
XSLT <xsl:processing-instruction> 元素
<xsl:processing-instruction> 元素用于在XSLT样式表中创建或匹配处理指令节点。处理指令节点是XML文档中的一种节点类型,它以 <? 开始,以 ?> 结束,并包含一个或多个指令。以下是 <xsl:processing-instruction> 元素的基本结构:<xsl:processing-instruction name="指令名称"> <!-- 这里是处理指令的内容 --></xsl:processing-instruction>其中,name 属性用于指定处理指令的名称,而元素的内容可以包含处理指令的具体内容。以下是一个简单的示例,演示如何在XSLT样式表中使用 <xsl:processing-instruction> 元素:<xsl:template match="/"> <output> <!-- 创建一个处理指令 --> <xsl:processing-instruc...
XSLT <xsl:preserve-space> 和 <xsl:strip-space> 元素
<xsl:preserve-space> 和 <xsl:strip-space> 元素用于控制XSLT转换过程中空白字符的处理方式。它们允许您指定哪些元素的空白字符应该被保留,哪些应该被删除。1. <xsl:preserve-space> 元素: <xsl:preserve-space> 元素用于指定应保留空白的元素。这意味着在这些元素内的空白字符将被保留在输出文档中。 <xsl:preserve-space elements="元素名称"/> 其中,elements 属性用于指定应该保留空白字符的元素名称。您可以列举多个元素名称,用空格或逗号分隔。 示例: <xsl:preserve-space elements="text para"/> 在这个例子中,text 和 para 元素内的空白字符将被保留。2. <xsl:strip-space> 元素: <xsl:strip-space> 元素用于指定应删除空白的元素。这意...
XSLT <xsl:param> 元素
<xsl:param> 元素用于在XSLT样式表中定义参数,这些参数可以在样式表中的不同位置进行引用。通过在样式表的顶层定义参数,您可以更灵活地控制转换的行为,使其可以适应不同的输入或需求。以下是 <xsl:param> 元素的基本结构:<xsl:param name="参数名称" select="默认值或XPath表达式"/> name 属性是必需的,用于指定参数的名称。 select 属性是可选的,用于指定参数的默认值或初始值,可以是一个静态值或XPath表达式。以下是一个简单的示例,演示如何在XSLT样式表中使用 <xsl:param> 元素:<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <!-- 定义参数 --> <xsl:param name="inputValue" select...
XSLT <xsl:output> 元素
<xsl:output> 元素用于指定XSLT样式表的输出方法和属性。通过使用 <xsl:output>,您可以控制XSLT转换的输出格式、编码、缩进等方面的属性。以下是 <xsl:output> 元素的基本结构:<xsl:output method="输出方法" version="输出版本" encoding="字符编码" indent="缩进" media-type="媒体类型" doctype-system="文档类型系统标识" doctype-public="文档类型公共标识"/>以下是一些常用的 <xsl:output> 属性: method: 指定输出方法,通常为 "xml"、"html" 或 "text"。 version: 指定输出的XML版本。 encoding: 指定输出文档的字符编码。 inde...
XSLT <xsl:otherwise> 元素
<xsl:otherwise> 元素是 XSLT 中 <xsl:choose> 元素的一部分,用于指定 <xsl:choose> 中所有条件都不满足时的默认处理逻辑。以下是 <xsl:choose> 和 <xsl:otherwise> 元素的基本结构:<xsl:choose> <xsl:when test="某个条件"> <!-- 当某个条件满足时的处理逻辑 --> </xsl:when> <xsl:when test="另一个条件"> <!-- 当另一个条件满足时的处理逻辑 --> </xsl:when> <xsl:otherwise> <!-- 所有条件都不满足时的默认处理逻辑 --> </xsl:otherwise></xsl:choose>在上述结构中,如果前面的 <xsl:when> 元素中的任何条件不满足...
XSLT <xsl:number> 元素
<xsl:number> 元素用于生成序列号,通常用于为输出文档中的元素自动生成数字标签。它可以帮助在XSLT转换中生成类似于编号或页码的序列号。以下是 <xsl:number> 元素的基本结构:<xsl:number level="单元级别" count="匹配元素" from="选择起始点" value="初始值" format="格式化字符串"/>其中,level 属性用于指定生成序列号的级别(单元级别、多元级别、任意级别),count 属性用于指定要计数的匹配元素,from 属性用于指定选择起始点,value 属性用于设置初始值,format 属性用于指定格式化字符串。以下是一个简单的示例,演示如何使用 <xsl:number> 元素:<xsl:template match="item"> <li> <xsl:number/> <xsl:value...
XSLT <xsl:message> 元素
<xsl:message> 元素用于在XSLT转换过程中输出消息。这对于调试和输出状态信息非常有用。 <xsl:message> 元素允许将消息发送到控制台或记录到输出结果中。以下是 <xsl:message> 元素的基本结构:<xsl:message> <!-- 这里是要输出的消息内容 --></xsl:message>在这里,您可以包含要输出的文本消息或XPath表达式,它将在XSLT转换期间评估。以下是一个简单的示例,演示如何使用 <xsl:message> 元素:<xsl:template match="/"> <xsl:message>Starting XSLT transformation...</xsl:message> <!-- 其他模板规则和转换逻辑 --></xsl:template>在这个例子中,当XSLT转换从根节点开始时,会输出 "Starting XSLT transformati...
XSLT <xsl:key> 元素
<xsl:key> 元素用于定义一个键(或索引),以便在XSLT样式表中能够快速检索和匹配XML文档中的节点。这是一种优化技术,特别适用于大型XML文档。以下是 <xsl:key> 元素的基本结构:<xsl:key name="键的名称" match="匹配模式" use="键的值表达式"/> name 属性用于指定键的名称。 match 属性用于指定要为键创建索引的节点的匹配模式。 use 属性用于指定从匹配的节点中提取键值的XPath表达式。以下是一个简单的示例,演示如何使用 <xsl:key> 元素:<!-- 定义键 --><xsl:key name="book-by-author" match="book" use="author"/><!-- 使用键进行匹配 --><xsl:template match="authors"> <xsl:...
XSLT <xsl:include> 元素
<xsl:include> 元素用于将另一个样式表的内容直接包含在当前样式表中,以便在当前样式表中使用其模板、函数或其他定义。与 <xsl:import> 不同,<xsl:include> 不仅仅是引入外部样式表的内容,而是将其内容合并到当前样式表中。以下是 <xsl:include> 元素的基本结构:<xsl:include href="externalStylesheet.xsl"/>其中,href 属性用于指定要包含的外部样式表的位置。该位置可以是相对路径或绝对路径。以下是一个简单的示例,演示如何使用 <xsl:include> 元素:<!-- 主样式表 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:include href="commonStyles.xsl"/>...
XSLT <xsl:import> 元素
<xsl:import> 元素用于导入外部样式表,以便在当前样式表中重用其他样式表的定义。它允许将另一个样式表的内容引入当前样式表,以便在当前样式表中使用其模板、函数或其他定义。以下是 <xsl:import> 元素的基本结构:<xsl:import href="externalStylesheet.xsl"/>其中,href 属性用于指定要导入的外部样式表的位置。该位置可以是相对路径或绝对路径。以下是一个简单的示例,演示如何使用 <xsl:import> 元素:<!-- 主样式表 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:import href="commonStyles.xsl"/> <!-- 其他样式表内容 --> </xsl:stylesheet>在上...
XSLT <xsl:fallback> 元素
<xsl:fallback> 元素是用于处理XSLT处理器不支持的元素的机制。它通常用于提供在不同处理器之间的兼容性和平稳降级,以确保在某些环境中仍然能够处理或呈现XSLT文档。以下是 <xsl:fallback> 元素的基本结构:<xsl:element name="elementName"> <!-- 这里是元素的内容 --> <xsl:fallback> <!-- 处理不受支持元素的替代逻辑 --> </xsl:fallback></xsl:element>在上述结构中,<xsl:fallback> 元素包含了处理不受支持元素的替代逻辑。如果XSLT处理器支持 <xsl:element> 元素,它将处理 <xsl:element> 元素的内容,否则将执行 <xsl:fallback> 元素中的替代逻辑。以下是一个简单的示例,演示了 <xsl:fallback> 的用法:<xsl:eleme...
XSLT <xsl:element> 元素
<xsl:element> 元素用于在XSLT样式表中动态创建一个元素节点。它允许您根据运行时的条件或变量值来生成元素,而不是在样式表中硬编码元素的名称。以下是 <xsl:element> 元素的基本结构:<xsl:element name="元素名称"> <!-- 这里可以包含生成元素内容的模板或表达式 --></xsl:element>其中,name 属性是必需的,用于指定要创建的元素的名称。<xsl:element> 元素的内容可以包括生成元素内容的模板或表达式。以下是一个简单的示例,演示如何使用 <xsl:element> 元素创建元素:<xsl:element name="book"> <title>Introduction to XSLT</title> <author>John Doe</author></xsl:element>在上面的示例中,<xsl:elemen...
XSLT <xsl:decimal-format> 元素
在 XSLT 中,<xsl:decimal-format> 元素用于定义数字格式化的规则,以影响数字在输出文本中的显示形式。这元素可以帮助控制数字的格式,包括小数点位置、千位分隔符等。 以下是 <xsl:decimal-format> 元素的基本结构:<xsl:decimal-format name="格式名称" decimal-separator="小数点" grouping-separator="千位分隔符" infinity="无穷大表示" minus-sign="负号表示" NaN="非数表示" percent="百分比格式" per-mille="千分比格式" zero-digit="零的表示" digit="非零数字的表示" pattern-separator="模式分隔符"/>以下是一些常用属性的说...
XSLT <xsl:copy-of> 元素
<xsl:copy-of> 元素用于复制节点的内容到输出文档中,包括节点本身及其所有子节点、属性等。与 <xsl:copy> 不同的是,<xsl:copy-of> 主要用于将节点内容直接复制到输出,而不需要额外的处理或模板。以下是 <xsl:copy-of> 元素的基本结构:<xsl:copy-of select="XPath表达式"/>select 属性用于指定要复制的节点集。通过提供适当的 XPath 表达式,您可以选择满足条件的节点集并将其复制到输出文档。以下是一个简单的示例,演示如何使用 <xsl:copy-of> 复制符合条件的节点集:<!-- 匹配book元素的模板 --><xsl:template match="books"> <!-- 复制books元素及其所有子节点到输出 --> <xsl:copy-of select="."/></xsl:template>在上面的示例中,...
XSLT <xsl:copy> 元素
<xsl:copy> 元素用于复制当前节点及其所有子节点。这在XSLT样式表中的模板中经常用到,特别是当您想要保留或复制输入文档的某个部分而不进行任何修改时。以下是 <xsl:copy> 元素的基本结构:<xsl:copy> <!-- 在这里可以添加其他处理或直接使用 <xsl:copy-of> 复制节点的属性和子节点 --></xsl:copy>通常,<xsl:copy> 元素与 <xsl:apply-templates> 或 <xsl:apply-imports> 元素一起使用,以便继续处理复制的节点。以下是一个简单的示例,演示如何使用 <xsl:copy> 复制当前节点及其所有子节点:<!-- 匹配book元素的模板 --><xsl:template match="book"> <!-- 复制当前book元素及其所有子节点 --> <xsl:copy> <!-- 在这里可以添加...
XSLT <xsl:comment> 元素
<xsl:comment> 元素用于在XSLT样式表中插入注释。注释是一种说明性的文本,不会在最终的输出中显示,但可以帮助开发者理解和维护XSLT代码。以下是 <xsl:comment> 元素的基本结构:<xsl:comment> <!-- 这里是注释的文本内容 --></xsl:comment>在实际应用中,注释通常用于提供关于模板、变量、或转换逻辑的额外说明。例如:<xsl:template match="book"> <!-- 这个模板用于匹配书籍元素,并对其进行转换处理 --> <xsl:apply-templates/></xsl:template>在上面的例子中,<xsl:comment> 元素提供了对模板目的的简短说明,帮助其他开发者理解这个模板的作用。注意,XSLT 中的注释不会直接出现在输出文档中,因为它们是用于开发者的辅助信息。如果您希望在输出中包含注释,您可以使用 <!-- 注释内容 --> 的语法,而不是 ...