XSD проверяет ключевые элементы значения - PullRequest
0 голосов
/ 27 марта 2020

У меня есть следующее xml с подтипом, у которого есть свойства "name" и "type", а также свойства со значением ключа. Мой вопрос состоит в том, как мне проверить элемент свойств с помощью XSD, чтобы он имел правильное имя ключей (маска, интервал, поток, useNetworkShare) и правильный тип значений - в данном случае строка.

 <subtype name="testType" type="test">
        <properties>
          <property key="mask" value="*" />
           <property key="interval" value="10" />
           <property key="stream" value="UnsortedSequential" />
           <property key="useNetworkShare" value="false" />
        </properties>
     </subtype>

1 Ответ

0 голосов
/ 27 марта 2020

XSD на самом деле не предназначен для обработки такого рода «обобщенных» XML. Один из способов сделать это - преобразовать в более прямое представление:

<subtype>
   <mask>*</mask>
   <interval>10</interval>
   <stream>UnsortedSequential</stream>
   <useNetworkShare>false</useNetworkShare>
</subtype>

и затем написать схему для этого. Откровенно говоря, вид «generi c» XML, с которым вы работаете, кажется, придуман людьми, которые забывают, что XML уже является generi c - вы можете выбрать любой элемент и имена атрибутов, которые вам нравятся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...