проверка XML с использованием schematron - PullRequest
0 голосов
/ 28 мая 2019

У меня есть следующий xml, и я хотел бы развернуть элемент ph, который больше 2.

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>

Вот код, который я написал и не знаю, как написать условие if в sqf

<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>

С уважением, Шил

...