这是我写的代码:
const request = require('request');
const libXMLJS = require("libxmljs");
request.get('https://www.w3.org/2009/XMLSchema/XMLSchema.xsd', function (error, response, body) {
if (!error && response.statusCode === 200) {
// is it well-formed?
try {
libXMLJS.parseXml(body);
} catch(e) {
console.log('schema schema not well-formed');
return;
}
console.log('schema schema well-formed');
// Is the schema schema a valid schema?
const schemaSchema = libXMLJS.parseXml(body);
try {
schemaSchema.validate(schemaSchema)
} catch(e) {
console.log('schema schema not valid schema');
return;
}
console.log('schema schema valid schema');
}
});
输出为:
架构架构架构格式正确
架构架构架构无效架构
这对我来说没有意义。
为什么忽略异常e
中的信息?如果你不查看错误信息,你不知道它为什么失败也就不足为奇了。
话虽如此https://www.w3.org/2009/XMLSchema/XMLSchema.xsd似乎是XSD 1.1的模式(尽管可能不是最终的模式,因为XSD 1.1建议是在2012年发布的(,并且libXML处理器只支持XSD 1.0。
(我不知道Node.js有XSD1.1处理器。也许有一天我们会在SaxonJS产品中包括模式处理,但它还没有。(