第四十五章 开发自定义标签 - 规则和操作

简介: 第四十五章 开发自定义标签 - 规则和操作

第四十五章 开发自定义标签 - 规则和操作

CSP允许你开发自定义的HTML标签用于CSP文件。CSP标记语言本身是使用自定义标记机制实现的。自定义标签提供了一种方式:

  • 使用熟悉的语法为HTML作者提供附加功能
  • web应用程序开发可重用的组件

规则和操作

CSP编译器将带标记的HTML文档转换成Caché类(参见“CSP编译器”)。CSP编译器的一些功能来自于它能够

  1. 识别CSP文档中嵌入的#()#表达式,以及
  2. 识别HTML(或XML)文档中的某些标签或标签组合,并用开发人员提供的动作替换它们。这被称为标签匹配,在本章中有所描述。

如果熟悉XMLXSL技术,会认识到CSPXSL的一种变体,添加了额外的特性来为应用程序生成HTML

以下CSP页面示例包含一个自定义标记<my:COMPANY>,该标记在HTML页面中显示公司名称:

<html>
<body>
<my:COMPANY>
</body>
</html>
复制代码

处理该页面时,望CSP编译器用合适的HTML文本替换<my:COMPANY>标记,例如:

<html>
<body>
<b>Octoglomerate</b>
</body>
</html>
复制代码

CSP编译器对<my:COMPANY>标记采取的操作是在带有<csr:action>标记的规则文件中定义的。规则文件是带有.csr (Caché Server Rule)文件扩展名的XML文档,它定义了识别标签的规则以及找到这些标签时要执行的操作。它还可以包括附加信息,例如规则的描述。

<my:COMPANY>标记的规则文件可能如下所示,并可能被命名为company.csr:

<csr:rule name="myCOMPANY" match="my:COMPANY" empty>
<csr:action>
<b>Octoglomerate</b>
</csr:action>
</csr:rule>
复制代码

这个规则文件规定:

使用<csr:rule>标记,该文件定义了一个名为myCOMPANY的规则。 属性empty指定<my:COMPANY>标记没有结束标记。

规则名具有与Caché类相同的命名限制。 规则只在定义它的Caché名称空间中活动,以%开头的规则除外,这些规则定义在%SYS名称空间中,并且对所有其他名称空间可见。

<csr:action>标记指定要采取的操作。<csr:action>标签的内容必须是HTML和以下任何一种:

  • #()# 表达式
  • ##()## 表达式
  • <script>标签
  • 附加的<csr:>标记(稍后讨论)。
  • <csr:action>标签不能包含CSP标签; 也就是说,CSP编译器不对操作的内容执行标记转换。
Do $System.CSP.LoadRuleFile("company.csr")
复制代码

这会将指定文件中的规则定义加载到当前名称空间中。还可以使用StudioFile > New > Caché Server Page来加载和编译规则文件。将文件保存在/csp/user目录中。可以使用csp示例提供的rulemgr.csp页面来观察哪些规则是有效的。

CSP的大部分是使用规则文件实现的。可以在Studio%SYS命名空间、工作区窗口、命名空间选项卡中的CSP文件下查看系统规则文件。

相关文章
|
7月前
|
数据采集 监控 搜索推荐
质量规则支持自定义属性,规则管理更便捷
随着企业数据治理开展到一定阶段,对质量监控规则的精细化管理诉求进一步提升,需要为质量规则配置更多属性信息以支持后续的统计的分析。Dataphin V4.0版本新增了自定义质量规则属性的能力,通过简单的配置即可实现灵活、高效的规则管理,满足多样化诉求。
352 0
|
7月前
|
安全 数据安全/隐私保护
seliunx 基础规则介绍
seliunx 基础规则介绍
|
7月前
|
供应链 搜索推荐
偏好类标签支持自定义统计方式,标签场景覆盖更广
在个性化营销场景,零售商必须理解顾客的行为才能更准确的预测客户需求,优化库存管理、制定营销策略,并提供个性化的购物体验,然而偏好类标签的加工不仅仅是简单的属性出现频次或最大值的统计,Dataphin V4.0版本新增了自定义统计的方式加工偏好标签,通过简单的配置即可完成复杂的标签加工场景。
|
JSON 运维 监控
实用干货丨Eolink Apikit 配置和告警规则的各种用法
API在运行过程中可能会遇到各种异常情况,如响应时间过长、调用频率过高、请求参数错误等,这些异常会对系统的稳定性和性能产生严重影响。因此,对API进行异常监控和告警是非常必要的。本文将介绍 Eolink Apikit 中使用的告警规则,帮助开发者和运维人员更好地监控和管理 API。
95 0
|
监控 开发者
“关联表单”组件文本数据筛选只支持包含条件的解决方案
在“关联表单”中使用数据筛选功能筛选文本时条件只有”包含“,此文章通过增加一个”下拉单选“组件,变相解决这个问题。
203 0
|
编译器 Go
第四十六章 开发自定义标签 - 标签匹配 操作中的运行时表达式
第四十六章 开发自定义标签 - 标签匹配 操作中的运行时表达式
87 0
|
编译器 Go
第五十章 开发自定义标签 - 使用Rule类
第五十章 开发自定义标签 - 使用Rule类
106 0
|
JavaScript Go
第四十九章 开发自定义标签 - 在action之外使用<csr>标签
第四十九章 开发自定义标签 - 在action之外使用<csr>标签
87 0
|
JSON 测试技术 数据格式
[单账户]标签规范工具(标签策略)使用手册
企业随着上云的深入,对于资源管理的诉求越来越强烈。资源被企业各个子公司、部门等使用的时候,存在资源自产自用,一产复用,共产共用的情况。企业发展最初阶段,满足快速发展的诉求,资源自己生产自己使用。当企业发展到一定阶段,存在资源生产多处复用的情况,以满足业务细分发展。再到资源管理统一生产规划、根据场景复用资源的情况。标签化管理资源共产共用的基础,根据用途、场景、归属进行资源分类。如何把资源标签使用规范就是资源分类的前提。
1077 0