Проверить подмножество или только определенные элементы XML-документа? - PullRequest
0 голосов
/ 22 декабря 2010

У меня есть этот XML-файл (некоторые из них ОГРОМНЫЕ - тысячи элементов), и я пытаюсь проверить некоторые элементы этого XML-файла, используя схему XSD.Например,даты и т. д. Теперь проблема в том, что XSD не позволяет мне проверять только определенные разделы документа.Требуются определения ВСЕГО - и это было бы довольно болезненно.Я хотел бы знать, есть ли способ работы XSD только с некоторыми элементами документа?Я пробовал любой и любой атрибут безрезультатно.Если нет, как бы вы это сделали?Существует ли библиотека / сценарий, который создает схему, соответствующую XML-документу, которую я могу затем изменить в соответствии со своими потребностями?

Спасибо,

Ответы [ 2 ]

1 голос
/ 22 декабря 2010

У вас также есть <xs:element name="aName"/>, который соответствует типу ur, поэтому любой тип.

Типичная частичная проверка будет:

<xs:schema>
 <xs:element name="theRootElement">
  <xs:complexType>
   <xs:sequence>
    <!- some wildcard wich match the beginning of the document until the desired element -->
    <xs:any processContent="skip" namespace="somethingOrAll"/>

    <xs:element name="theDesiredElementToMatch">
     <!-- the matching test -->
    </xs:element>

    <!-- the rest of the doc -->
    <xs:any processContent="skip" maxOccurs="unbounded"/>
   </xs:sequence>
  </xs:complexType>
 </xs:element>
</xs:schema>

Но это не работает со всеми схемами, и это очень утомительно.

1 голос
/ 22 декабря 2010

Скопируйте нужные вам фрагменты, чтобы документировать фрагменты DOM и выполнить их проверку. Предполагая, конечно, что вы программируете некоторый язык с API для всего этого.

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