【发布时间】:2017-01-17 23:49:02
【问题描述】:
我要做的是编写一个 maven 插件来验证 xhtml 文件,因此如果任何标签具有不属于的属性、拼写错误或存在任何其他类型的验证错误,构建将失败。
我们正在使用 Primefaces 6.0,我们希望包括对这些标签的验证。问题是在 Primefaces jar 文件中我只能找到一个 facelet-taglib 文件(对于 Primefaces 6.0 在 META-INF/primefaces-p.taglib.xml 文件夹中)并且我不知道如何针对 facelet 验证 xhtml 文件-taglib 文件。
我知道如何编写 Java 代码以使用模式文件进行验证,但我没有任何运气在我的 xhtml 文件中针对 facelet-taglib(特别是 Primefaces taglib xml taglib 文件)验证标签的任何 Java 示例。
我已经尝试像下面这样加载 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;行号:7;列号:39; s4s-elt-character:除“xs:appinfo”和“xs:documentation”之外的架构元素中不允许使用非空白字符。看到'http://primefaces.org/ui'。
我想我可能使用了错误的 XMLConstants 变量,但我不确定该使用哪一个,或者这是否可行。
另外一点,我知道现有的 XML Maven 插件,但我无法让它与 primefaces facelet-taglib 一起工作。如果有人知道如何让它与 taglib 一起工作,请告诉我们!
任何帮助将不胜感激!
【问题讨论】:
标签: validation jsf-2 primefaces taglib