如何根据facelets -taglib验证xhtml中的标记



我想做的是写一个maven插件,它将验证xhtml文件,所以如果任何标签有不属于的属性,拼写错误或如果有任何其他类型的验证错误,构建将失败。

我们正在使用Primefaces 6.0,我们希望包括这些标签的验证。问题是,在Primefaces jar文件中,我只能找到一个facelets -taglib文件(对于Primefaces 6.0,在META-INF/Primefaces -p.t taglib.xml文件夹中),我不知道如何针对facelets -taglib文件验证xhtml文件。

我知道如何编写Java代码来使用模式文件进行验证,但是我没有幸运地找到任何Java示例来验证我的xhtml文件中针对facelets -taglib的标记,特别是Primefaces taglib xml taglib文件。

我已经尝试加载标签库文件如下…

SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
InputStream stream = ..[file primefaces-p.taglib.xml]..;
Schema schema = schemaFactory.newSchema(new StreamSource(stream));  

但是我只得到以下错误:

org.xml.sax.SAXParseException;lineNumber: 7;columnNumber: 39;s4s-elt-character:除了'xs:appinfo'和'xs:documentation'之外,模式元素中不允许使用非空白字符。看到"http://primefaces.org/ui"。

我想也许我使用了错误的XMLConstants变量,但我不确定使用哪一个,或者如果这甚至可以工作。

另一个注意事项,我知道现有的XML Maven Plugin,但我无法让它与primefaces facelets -taglib一起工作。如果有人知道如何让它与标签库一起工作,请告诉我们!

任何帮助都将非常感激!

标签库不是模式的,所以不能正常工作。但是descent IDE会使用标签来做类似的验证,但方式不同

最新更新