2016-09-09 3 views
4

Was ich versuche, ist ein Maven-Plugin schreiben, die XHTML-Dateien validieren wird, wenn einer der Tags Attribute haben, die nicht gehören, sind falsch geschrieben oder wenn dort Gibt es andere Arten von Validierungsfehlern, schlägt der Build fehl.So validieren Tags in XHTML gegen eine Facelet-Taglib

Wir verwenden Primefaces 6.0 und möchten die Validierung dieser Tags einbeziehen. Problem ist, dass ich innerhalb der Jaf-Datei von Primefaces nur eine Facelet-Taglib-Datei finden kann (für Primefaces 6.0 im Ordner META-INF/primefaces-p.taglib.xml) und ich nicht weiß, wie man eine xhtml-Datei gegen ein Facelet validiert -Taglib-Datei.

Ich weiß, wie man Java-Code schreibt, um mit Schemadateien zu validieren, aber ich hatte kein Glück, Java-Beispiele für die Validierung von Tags in meiner XHTML-Datei gegen eine Facelet-Taglib, speziell die Taglib XML-Taglib-Datei von Primefaces zu finden.

ich versucht habe, wie unten die taglib Datei geladen ...

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

Aber ich bekomme nur den folgenden Fehler:

org.xml.sax.SAXParseException; Zeilennummer: 7; Spaltennummer: 39; s4s-elt-character: Nicht-Leerzeichen sind in Schema-Elementen außer 'xs: appinfo' und 'xs: documentation' nicht erlaubt. Säge 'http://primefaces.org/ui'.

Ich dachte, vielleicht benutze ich die falsche XMLConstants-Variable, aber ich bin mir nicht sicher, welche zu verwenden, oder ob dies sogar funktionieren würde.

Eine andere Notiz, ich kenne das vorhandene XML Maven Plugin, aber ich konnte es nicht mit der Primafaces Facelet-Taglib arbeiten. Wenn jemand weiß, wie man es mit dem Taglib zur Arbeit bringt, lassen Sie es uns wissen!

Jede Hilfe würde sehr geschätzt werden!

Antwort

1

Taglibs sind keine Schemas, so dass es einfach nicht funktioniert. Aber eine Abstiegs-IDE verwendet die Taglibs für ähnliche Validierungen, aber auf andere Weise.

+0

Danke für die Rückmeldung. Es würde helfen, innerhalb der IDE validieren zu können, aber das ultimative Ziel ist es, während eines Maven-Builds eine Validierung durchführen zu können. – MrChris

Verwandte Themen