|
1
|
| Frerich Raabe · 技术社区 · 15 年前 |
|
|
1
1
我不知道xsltproc,但是saxon非常擅长这种优化。我相信它只会检查第一次找到的匹配,因为它只需要知道节点集是否为空。 但是,您可以通过如下更改测试来确保:
和
因为这只测试沿每个轴的第一个兄弟姐妹。注意,在每种情况下[1]都是指xpath步骤的顺序,即轴的顺序,不一定是文档顺序。所以
|
|
|
2
1
假设调用模板的上下文是子节点选择 然后我提出以下建议。如果他们被调用的上下文是通过一个不同的轴(比如前面的兄弟姐妹或祖先),那么处理它的方法是最好的。 有两种方法可以简化测试,或者用不同的模板替换它们: 简单测试:
不同的模板:
既然你说“优化”,我想你会关心哪个过程会更快。它将根据XSLT处理器、处理模式(有些具有“编译”选项,这将影响哪个更有效)和输入XML而变化。最快的可能是这些或你的原创。 实际上,每一个都应该和另一个一样高效,区别在于处理器所做的优化。 在这种情况下,我会赞成我的回答中的第一个,因为这是最简洁的,但是如果我不能在所有4个案例之间共享共同的处理方法,我会赞成第二个答案中的方法,然后清楚地标记每个案例的不同方法。 |
|
3
0
我觉得你应该能做到
自从
|
|
|
giantjenga · 优化整数向量到二进制向量的转换 1 年前 |
|
|
Daniel Lobo · 使用约束进行优化 1 年前 |
|
Sergio · python中大量数字的乘法 2 年前 |
|
|
Sergey Dev · 临时表与表变量 2 年前 |
|
|
John · 减少C中的内存消耗++ 2 年前 |