Validacion de un XML contra un esquema XSD
Estoy intentando validar el contenido de un XML contra un esquema XSD, para validar la estructura (nodos obligatorios, etc...)
Estoy intentando utilizar la clase Ens.Util.XML.Validator, como se sugiere en este post:
https://community.intersystems.com/post/validate-xml-message-against-xs…
Pero al invocar al metodo ValidateStream, si en el schemaSpec le dejo el parametro vacio, simplemente valida que sea una estructura XML correcta.
Al pasarle cualquier valor en schemaSpec, da un error de "SAX XML Parser Error: Unable to Resolve SystemId"
¿Algun ejemplo de como indicar el schemaSpec en la validacion? (la ruta del XSD en el disco, por ejemplo, o un esquema XML cargado en el namespace)
Comments
¿Has probado con la notación: file:///tucarpeta/tusubcarpeta/tuarchivo.xsd?
Si la probé, con el mismo resultado (SAX XML Parser Error: Unable to Resolve SystemId)
¿El fichero XSD tiene permisos para que pueda ser leído por cualquier usuario?
Si tiene permisos de lectura por cualquier usuario.
Para comprobar que era accesible y correcto, realicé la importacion del XSD en las estructuras de esquemas XML y fue importado correctamente.
He encontrado en la documentación esto: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…
He estado haciendo pruebas, y parece que esta es la forma de validar un XML contra un schema. Pasándole los ficheros, ya devuelve una lista de errores:

(En este caso creo que el problema está en el propio schema como tal, ya que incluso validadores online me dan problemas 😅).
Pero vamos, que creo que esta es la forma de hacerlo, no?