Можно ли определить схему XML, которая определяет только типы данных атрибутов и все значения узлов как строки?
Я имею дело с очень большим файлом XML, который имеет следующую структуру:
<A>
<A_x1 label="xyz" id="1234">string data</A_x1>
<A_x2 label="xzy" id="1235">string data</A_x2>
<A_x...>string data</A_x...>
...
</A>
<B>
<B_x1 label="yzx" id="1236">string data</B_x1>
<B_x2 label="zyx" id="1237">string data</B_x2>
<B_x...>string data</B_x...>
...
</B>
<C>
...
</C>
...
Количество подузлов A, или B, или ... является переменным!
И иногда есть узел A_x1, а иногда нет.
Все, что я знаю навернякакаждый оставляющий узел имеет два атрибута, где 'label' имеет строку типа данных, а 'id' имеет тип данных int.
Я думаю, что это можно определить следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:attribute name="label" type="xs:string"/>
<xs:attribute name="id" type="xs:short"/>
</xs:schema>
Но какопределить схему, которая утверждает каждый узел с именем «A_x ...» или «B_x ...» или ... содержит данные типа строки?Или каждый оставляющий узел содержит данные типа string.
Я не смог найти способ использовать регулярные выражения для имен узлов в схеме XML, это вообще возможно?Или каково решение этой проблемы?Если есть один.