XSL XSLT

本文详细介绍了XSLT中的核心元素,包括xsl:for-each用于循环,xsl:sort进行排序,xsl:if和xsl:choose进行条件判断,以及如何使用xsl:variable声明变量。同时,文章探讨了递归和非空判断的实现,并提到了模板的应用和管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • xslt如何定义变量
  • 如何实现递归
  • 如何进行非空的判断

xsl:for-each

元素允许在xslt中循环

(图片来自:https://www.w3school.com.cn/xsl/xsl_for_each.asp)

需要注意的是:

正斜杠为子目录

在for-each下使用value-of的情况下,通过select选择节点的时候,直接使用 节点名称即可,节点路径相对于上一级的select继续往下层延申

提到的过滤运算符也有必要了解一下:

xsl:sort

元素对于结果排序

xsl:if

添加有条件的测试

注意这里对于过滤符号的使用:

xsl:choose

多重条件测试

xsl:apply-templates

把一个模板应用于当前的元素或者当前元素的子节点

假如我们向 xsl:apply-templates 元素添加一个 select 属性,此元素就会仅仅处理与属性值匹配的子元素。我们可以使用 select 属性来规定子节点被处理的顺序。

注意:

  • 使模板应用于元素
  • select的作用
  • match的作用

(图片来自:https://www.w3school.com.cn/xsl/el_apply-templates.asp)

xsl:apply-imports

(图片来自:https://www.w3school.com.cn/xsl/el_apply-imports.asp)

引入一个外部的样式表,这个可以在多个文件共用部分样式的时候可以使用这种方法

xsl:attribute

向元素添加属性

  • name 属性名称

xsl:attribute-set

元素可创建命名的属性集。该属性集(attribute-set)可作为整体应用到输出文档。

<xsl:attribute-set name="font">
  <xsl:attribute name="fname">Arial</xsl:attribute>
  <xsl:attribute name="size">14px</xsl:attribute>
  <xsl:attribute name="color">red</xsl:attribute>
</xsl:attribute-set>

复制

xsl:call-template

调用一个指定的模板

<xsl:call-template name="templatename">
  <!-- Content:xsl:with-param* -->
</xsl:call-template>

复制

xsl:choose

多重条件测试

(图片来自:https://www.w3school.com.cn/xsl/el_choose.asp)

注意:这里的variable的用法

xsl:comment

元素用于在结果树中创建注释节点。

xsl:copy

创建当前节点的一个副本

xsl:copy-of

创建当前节点的一个副本(带有子节点及属性)

<xsl:copy-of select="expression"/>

复制

把相同节点的多个副本插入到输出的不同位置。

xsl:key

  • use:可以是属性、子元素或者匹配元素的内容。这里的例子中应用的应该是属性。

xsl:param

声明局部或者全局参数

注释:如果在模板内声明参数,就是局部参数,如果作为顶层元素来声明,就是全局参数。

xsl:variable

声明局部或全局的变量。

python+opencv简谱识别音频生成系统源码含GUI界面+详细运行教程+数据 一、项目简介 提取简谱中的音乐信息,依据识别到的信息生成midi文件。 Extract music information from musical scores and generate a midi file according to it. 二、项目运行环境 python=3.11.1 第三方库依赖 opencv-python=4.7.0.68 numpy=1.24.1 可以使用命令 pip install -r requirements.txt 来安装所需的第三方库。 三、项目运行步骤 3.1 命令行运行 运行main.py。 输入简谱路径:支持图片或文件夹,相对路径或绝对路径都可以。 输入简谱主音:它通常在第一页的左上角“1=”之后。 输入简谱速度:即每分钟拍数,同在左上角。 选择是否输出程序中间提示信息:请输入Y或N(不区分大小写,下同)。 选择匹配精度:请输入L或M或H,对应低/中/高精度,一般而言输入L即可。 选择使用的线程数:一般与CPU核数相同即可。虽然python的线程不是真正的多线程,但仍能起到加速作用。 估算字符上下间距:这与简谱中符号的密集程度有关,一般来说纵向符号越稀疏,这个值需要设置得越大,范围通常在1.0-2.5。 二值化算法:使用全局阈值则跳过该选项即可,或者也可输入OTSU、采用大津二值化算法。 设置全局阈值:如果上面选择全局阈值则需要手动设置全局阈值,对于.\test.txt中所提样例,使用全局阈值并在后面设置为160即可。 手动调整中间结果:若输入Y/y,则在识别简谱后会暂停代码,并生成一份txt文件,在其中展示识别结果,此时用户可以通过修改这份txt文件来更正识别结果。 如果选择文件夹的话,还可以选择所选文件夹中不需要识别的文件以排除干扰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值