使用schematron进行xml验证

时间:2019-05-28 12:47:49

标签: schematron

我有以下xml,我想解开大于2的ph元素。

I / P:(xml)

<ul>
 <li>
   <ph>123</ph>
 </li>
 <li>
   <ph>456</ph>
 </li>
 <li>
   <ph>abc</ph>
 </li>
</ul>

结果:

<ul>
 <li>
   <ph>123</ph>
 </li>
 <li>
   <ph>456</ph>
 </li> 
 <li>
abc
 </li>
</ul>

这是我编写的代码,不知道如何在sqf中编写if条件

<sch:pattern>
    <sch:rule context="*/ph" role="error">
        <sch:assert test="not(node()>2)" sqf:fix="unwrap"><sch:name/> element not  allowed</sch:assert>
        <sqf:fix id="unwrap">
            <sqf:description>
                <sqf:title>unwrap <sch:name/> element</sqf:title>
            </sqf:description>             
            <sqf:replace select="node()"></sqf:replace>
        </sqf:fix>
    </sch:rule>
</sch:pattern>

关于, Shil

0 个答案:

没有答案