Forums » Saxon/C Help and Discussions »
trying to use local copy of XSD schema for XSLT 3 (which does an import for W3C schemas) causes java.net.MalformedURLException (Accessing an URL protocol that was not enabled ..)
Added by Martin Honnen almost 2 years ago
I have now tried to run some schema based validation tasks through SaxonC 11.99 EE, trying to run some Python code attempting to validate a local XSLT file against a local copy of the schema for XSLT 3.0 stylesheets (which does some imports for W3C schemas which I hoped and think in previous SaxonJ versions the XML resolver would simply take from its cached copies) results in an warning I don't know how to fix:
java.net.MalformedURLException (Accessing an URL protocol that was not enabled.
The URL protocol http is supported but not enabled by default. It must be enabled by
adding the --enable-url-protocols=http option to the native-image command.
Here is the Python code:
from saxonc import *
sample_xslt = r'C:/Users/marti/OneDrive/Documents/xslt/processorTestHTML5Xslt3InitialTempl.xsl'
schema_for_xslt30 = r'C:/Users/marti/OneDrive/Documents/xslt/schema-for-xslt30.xsd'
with PySaxonProcessor(license=True) as proc:
print(proc.version)
validator = proc.new_schema_validator()
validator.register_schema(xsd_file = schema_for_xslt30)
print(validator.get_error_message())
validation_result = validator.validate_to_node(file_name = sample_xslt)
if (validator.exception_occurred):
print(validator.get_error_message())
else:
print(validation_result)
Complete output is e.g.
SaxonC-EE 12.0 from Saxonica
Warning at xs:import on line 103 column 81 of schema-for-xslt30.xsd:
Imported schema document http://www.w3.org/TR/xmlschema11-1/XMLSchema.xsd cannot be
located: java.net.MalformedURLException (Accessing an URL protocol that was not enabled.
The URL protocol http is supported but not enabled by default. It must be enabled by
adding the --enable-url-protocols=http option to the native-image command.)
Error on line 986 of schema-for-xslt30.xsd:
The element {xs:schema} is referenced, but is not defined in the XML Schema namespace
Error on line 7 column 19 of processorTestHTML5Xslt3InitialTempl.xsl:
XQDY0084 Cannot validate <Q{.../Transform}stylesheet>: no element declaration available
Error on line 103 column 18 of processorTestHTML5Xslt3InitialTempl.xsl:
XQDY0084 One validation error was reported: Cannot validate <Q{.../Transform}stylesheet>:
no element declaration available
Errors were found in the schema
One validation error was reported: Cannot validate <Q{.../Transform}stylesheet>: no element declaration available
I attach the sample schema (it is from the XSLT 3 spec) and the sample XSLT 3.0 stylesheet:
Replies (2)
RE: trying to use local copy of XSD schema for XSLT 3 (which does an import for W3C schemas) causes java.net.MalformedURLException (Accessing an URL protocol that was not enabled ..) - Added by O'Neil Delpratt almost 2 years ago
This a bug. The flag --enable-url-protocols=http
is missing from the native-image build command. We have enabled https, but not the http.
Please register to reply