Как сделать валидацию только определенных / определенных тегов в XML? - PullRequest
3 голосов
/ 08 января 2010

У меня есть какой-то сгенерированный код XML. Я написал XSD для проверки XML. У меня есть теги XML, которые не нужно проверять. Есть ли способ проверить определенные теги и пропустить другие?

Пример XML:

<person>
<firstname>Name</firstname>
<lastname>Name</lastname>
<tag1>data</tag1>
<tag2>data</tag2>
<tag3>data</tag3>
</person>

Мне нужно проверить только <firstname> и <lastname> и пропустить проверку всех других элементов.

1 Ответ

3 голосов
/ 08 января 2010

Вы не можете "игнорировать" элементы с точки зрения того, что синтаксический анализатор просто пропускает некоторые XML, но вы можете сделать вашу схему менее строгой, разрешив любой тип элемента в качестве дочернего элемента.

XSD позволяет это с помощью использования любого элемента . Пример:

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
      <xs:any minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Теперь вы можете иметь любой неизвестный, но действительный элемент xml как дочерний элемент "person".

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