【问题标题】:How to validate tags in xhtml against a facelet-taglib如何针对 facelet-taglib 验证 xhtml 中的标签
【发布时间】: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


    【解决方案1】:

    标签库不是架构,所以它不起作用。但是下降 IDE 将使用 taglibs 为您进行类似的验证,但方式不同

    【讨论】:

    • 感谢您的反馈。能够在 IDE 中进行验证会有所帮助,但最终目标是能够在 Maven 构建期间运行验证。
    猜你喜欢
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多