Проверка XML-документа по XSD в Groovy, когда они доступны по определенным URL - PullRequest
2 голосов
/ 01 марта 2012

Может ли кто-нибудь помочь мне с фрагментом для проверки схемы XML с помощью XSD, когда они доступны по некоторым URL-адресам ...

1 Ответ

10 голосов
/ 01 марта 2012

Вы можете сделать это (адаптировано из документации , с URL-адресами xml и xsd, найденными с помощью Google)

import javax.xml.XMLConstants
import javax.xml.transform.stream.StreamSource
import javax.xml.validation.SchemaFactory

xsdUrl = 'http://abbot.sourceforge.net/doc/abbot.xsd'
xmlUrl = 'http://abbot.sourceforge.net/src/example/SimpleApplet.xml'

new URL( xsdUrl ).withInputStream { xsd ->
  new URL( xmlUrl ).withInputStream { xml ->
    SchemaFactory.newInstance( XMLConstants.W3C_XML_SCHEMA_NS_URI )
                 .newSchema( new StreamSource( xsd ) )
                 .newValidator()
                 .validate( new StreamSource( xml ) )

  }
}
...