Частичная валидация xml
ужно правило что внутри такого-то тега может быть всё что угодно любой вложенности - типа эту ветку "опустить" при валидацииудали xslt лишнее
удали xslt лишнеене понял
предлагаешь сначала xml сконвертировать в другой xml а потом его валидировать?
ну да, если исходить из того, что xml в принципе валидный
scala: pattern matching
но вот возник вопрос
я не хочу валидировать весь xml
хочу только верхушку
но как такое сделать?
тоесть нужно правило что внутри такого-то тега может быть всё что угодно любой вложенности - типа эту ветку "опустить" при валидации
<xsd:element name="bla-bla">
<xsd:complexType>
<xsd:sequence>
<xsd:any namespace="##any" processContents="skip" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
$ cat anyElement.rng
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
<start>
<ref name="anyElement"/>
</start>
<define name="anyElement">
<element>
<anyName/>
<zeroOrMore>
<choice>
<attribute>
<anyName/>
</attribute>
<text/>
<ref name="anyElement"/>
</choice>
</zeroOrMore>
</element>
</define>
</grammar>
А потом соответственно для любой ветки, которую надо пропустить, пишешь <externalRef href="anyElement.rng"/>.
Оставить комментарий
pitrik2
возникла задача провалидировать xml-файлпытаюсь выбрать чем валидировать
DTD - слишком примитивно, нет например проверки типов
Schema - слишком избыточный синтаксис, есть гуй например в эклипсе, но как-то не хочется от гуя зависеть
RelaxNG - выглядит гораздо красивше схемы
но вот возник вопрос
я не хочу валидировать весь xml
хочу только верхушку
но как такое сделать?
тоесть нужно правило что внутри такого-то тега может быть всё что угодно любой вложенности - типа эту ветку "опустить" при валидации