【发布时间】:2021-07-09 15:17:24
【问题描述】:
我是 XSL 的新手。我有一个如下的 XML,如果 CoverageCode 等于 -'HomeCoverage',那么我必须验证 'roofRestrictionEndt'、'sidingRestrictionEndt' 和 'paintRestrictionEndt' 的下 3 个元素。如果'roofRestrictionEndt'退出并且它的值为'Y'那么我需要在'results'标签下打印'Roof',如果'sidingRestrictionEndt'存在并且它的值是'Y'那么我需要打印'siding'以防万一它与上面的一起存在,然后我需要打印“屋顶;壁板'。如果存在“paintRestrictionEndt”并且它的值是“Y”以及其他 2 个元素,那么我需要打印“屋顶”;壁板;画'。我尝试通过声明变量并编写 If 条件并尝试在 IF 条件中相应地附加值,但我开始知道声明的变量是不可变的。在java中,我们可以通过使用StringBuffer来实现。有没有办法在 XSL 中实现这一点?下面是 XML。
<locationCoverage ID="3">
<coverageCode >HomeCoverage</coverageCode>
<roofRestrictionEndt >Y</roofRestrictionEndt>
<sidingRestrictionEndt>Y</sidingRestrictionEndt>
<paintRestrictionEndt >Y</paintRestrictionEndt>
<locationCoverage>
结果应该如下所示
<results>
<result>Roof;siding;paint</result>
</results>
如果我有以下输入 XML
<locationCoverage ID="3">
<coverageCode >HomeCoverage</coverageCode>
<roofRestrictionEndt >Y</roofRestrictionEndt>
<paintRestrictionEndt >Y</paintRestrictionEndt>
</locationCoverage>
以上 XML 结果应如下所示
<results>
<result>Roof;paint</result>
</results>
如果有人帮我解决这个问题,不胜感激。提前致谢。
【问题讨论】:
标签: xslt xslt-1.0 xslt-grouping