Why not pass both schemas as a string? You could then tokenize it and get two
validation reports.
Or do you want one validation report for two schemas at once? I am not sure if
that’s possible...
let $schema:=
"http://inspire.ec.europa.eu/schemas/bu-base/4.0/BuildingsBase.xsd
http://schemas.opengis.net/gml/3.2.1/gml.xsd";
let $schemas := tokenize($schema,'\s')
for $sch in $schemas
return validate:xsd-info($xml,$sch)
Daniel
Von: BaseX-Talk Im Auftrag von
Arantza Etxebarria Pablo
Gesendet: Freitag, 4. März 2022 10:29
An: basex-talk@mailman.uni-konstanz.de
Betreff: [basex-talk] validate:xsd-info agains more than one schema
Dear Community,
We have been trying to validate a file using the function
validate:xsd-info($input as item(), $schema as item()?) as xs:string* against
several different schemas and, we don't know how to send the parameter “schema”
with more than one schema for this function.
We have tried to declare the variable schema like this :
let $schema:=
"http://inspire.ec.europa.eu/schemas/bu-base/4.0/BuildingsBase.xsd
http://schemas.opengis.net/gml/3.2.1/gml.xsd";
But it returns this error message:
XML document 'example.gml': -1:-1: schema_reference.4: Failed to read schema
document 'http://inspire.ec.europa.eu/schemas/bu-base/4.0/BuildingsBase.xsd
http://schemas.opengis.net/gml/3.2.1/gml.xsd' , because 1) could not find the
document; 2) the document could not be read; 3) the root element of the
document is not .
I have tried this function when no schema is given and it takes the contain of
schemaLocation attribute, and in this case, is able to validate more than one
schema. But I need to pass the schemas through a variable
Could any of you point us in the right direction?
Thanks
--
Arantza Etxebarria