2021SC@SDUSC【软件工程应用与实践】Cocoon代码分析(九)

这篇博客是2021SC@SDUSC系列的第九篇,主要分析了core文件夹下transformation文件夹内的JPathTransformer和SimpleFormInstanceExtractionTransformer两个Java类。JPathTransformer主要用于JPath XSP标记库的转换,支持多种jpath元素,并详细解释了其属性和方法。SimpleFormInstanceExtractionTransformer则是一种转换器,筛选并提取XML流中的文档片段,同时实现了Configurable和Serviceable接口。
摘要由CSDN通过智能技术生成

2021SC@SDUSC

这是第九篇代码分析的博客,这次还是继续分析core文件夹里的transformation文件夹里的两个Java文件的代码,分别是JPathTransformer.java和SimpleFormInstanceExtractionTransformer.java

JPathTransformer.java

1.总结:

这个Java类继承自AbstractSAXTransformer,实现了Initializable接口,它用于 JPath XSP标记库的转换器实现。

这个转换器(到目前为止)支持以下jpath元素:

  • <jpath:value-of select="…"/>
  • <jpath:continuation/>
  • <jpath:if test="…">…</jpath:if>
  • <form name=“myform” jpath:action="…/cont/id">…</form>
    • jpath:action隐式地将字符串’id’替换为延续id(在编写表单动作属性时很有用)。

2.属性:

  • 公共的不可修改的静态属性
    • public static final String JPATH_NAMESPACE_URI = "http://apache.org/xsp/jpath/1.0";
      • 命名空间常量
    • public static final String JPATH_ACTION = "jpath:action";
      • jpath:action 属性常量
    • public static final String JPATH_VALUEOF = "value-of";
      • jpath:value-of 元素常量的值
    • public static final String JPATH_VALUEOF_SELECT = "select";
      • jpath:value-of 选择属性常量
    • public static final String JPATH_CONTINUATION = "continuation";
      • jpath:continuation 元素常量
    • public static final String JPATH_CONTINUATION_SELECT = "select";
      • jpath:continuation 选择属性常量
    • public static final String JPATH_IF = "if";
      • jpath:if 元素常量
    • public static final String JPATH_TEST = "test";
      • jpath通用测试属性
  • 私有的属性:
    • private WebContinuation m_kont;
      • web continuation
    • private RE m_re;
      • 用jpath:action匹配’id’字符串
    • private JXPathContext m_jxpathContext;
      • jxpath上下文
    • private Map m_cache;
      • jpath:value-of变量缓存

3.方法:

  • public void initialize()
    • 初始化转换器
  • public void setup(SourceResolver resolver, Map objectModel, String src, Parameters parameters)
    • 对这个转换器进行设置,设置内容为jpath转换器
  • pub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值