首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SlowCheetah配置的SlowCheetah变换

SlowCheetah配置的SlowCheetah变换
EN

Stack Overflow用户
提问于 2014-06-16 16:29:53
回答 1查看 345关注 0票数 2

我正在尝试使用SlowCheetah设置QuartzNet作业配置文件的转换。QuartzNet要求xmlns属性出现在作业调度-数据节点上,但该属性的存在似乎阻止了SlowCheetah运行转换。

简化后,我的调度配置就是这样的:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
  <job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0">
<schedule>
<job>
  <name>Job1</name>
  <group>Group1</group>
  <description>Description</description>
  <job-type>MySample.MyJob, MySample</job-type>
</job>

<trigger>
  <cron>
    <name>DefaultTrigger</name>
    <job-name>Job1</job-name>
    <job-group>Group1</job-group>
    <cron-expression>0 0 4 * * ? *</cron-expression>
    <time-zone>GMT Standard Time</time-zone>
  </cron>
</trigger>
</schedule>
</job-scheduling-data>

配置转换如下所示:

代码语言:javascript
复制
<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform" >
<cron-expression xdt:Transform="Replace" xdt:Locator="XPath(/job-scheduling-data/schedule/trigger/cron/cron-expression[../name/text() = 'DefaultTrigger'])">"##DAILY_SCHEDULE##</cron-expression>
</job-scheduling-data>

转换不起作用,除非我删除

代码语言:javascript
复制
xmlns="http://quartznet.sourceforge.net/JobSchedulingData" 

从原始配置文件和转换文件,或指定名称空间为,例如xmlns:ns1。这两种方法中的任何一种都存在这样的问题: Quartz需要xmlns="http://quartznet.sourceforge.net/JobSchedulingData"

我还尝试将XPath表达式与local-name()一起使用,试图忽略表达式语法中的命名空间,但没有效果。

有什么办法绕过这件事吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-16 16:39:53

在我看来,您的XPath表达式应该是:

代码语言:javascript
复制
/job-scheduling-data/schedule/trigger/cron/cron-expression[../job-name/text() = 'Job1']

因为它匹配的是name而不是job-name

下面这个可怕的名称空间-忽略XPath表达式也应该有效:

代码语言:javascript
复制
/*[local-name()='job-scheduling-data']/*[local-name()='schedule']/*[local-name()='trigger']/*[local-name()='cron']/*[local-name()='cron-expression'][../*[local-name()='job-name']/text() = 'Job1']
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24248270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档