From owner-svn-doc-projects@FreeBSD.ORG Thu Mar 14 10:25:24 2013 Return-Path: Delivered-To: svn-doc-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id AA7D0381; Thu, 14 Mar 2013 10:25:24 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9CEA2E7; Thu, 14 Mar 2013 10:25:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2EAPOh3022356; Thu, 14 Mar 2013 10:25:24 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2EAPNuY022354; Thu, 14 Mar 2013 10:25:23 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201303141025.r2EAPNuY022354@svn.freebsd.org> From: Gabor Kovesdan Date: Thu, 14 Mar 2013 10:25:23 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-projects@freebsd.org Subject: svn commit: r41205 - in projects/xml-tools/share: mk xml X-SVN-Group: doc-projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for doc projects trees List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Mar 2013 10:25:24 -0000 Author: gabor Date: Thu Mar 14 10:25:23 2013 New Revision: 41205 URL: http://svnweb.freebsd.org/changeset/doc/41205 Log: - Add support for Schematron validation - Add a simple Schematron file that validates file references - Silence the output of validation so that the result be more readable Added: projects/xml-tools/share/xml/freebsd.sch (contents, props changed) Modified: projects/xml-tools/share/mk/doc.docbook.mk Modified: projects/xml-tools/share/mk/doc.docbook.mk ============================================================================== --- projects/xml-tools/share/mk/doc.docbook.mk Thu Mar 14 09:19:23 2013 (r41204) +++ projects/xml-tools/share/mk/doc.docbook.mk Thu Mar 14 10:25:23 2013 (r41205) @@ -85,8 +85,12 @@ XSLXHTMLCHUNK?= ${DOC_PREFIX}/${LANGCODE XSLEPUB?= ${DOC_PREFIX}/${LANGCODE}/share/xsl/freebsd-epub.xsl XSLFO?= ${DOC_PREFIX}/${LANGCODE}/share/xsl/freebsd-fo.xsl +XSLSCH?= /usr/local/share/xsl/iso-schematron/xslt1/iso_schematron_skeleton_for_xslt1.xsl + IMAGES_LIB?= +SCHEMATRONS?= ${DOC_PREFIX}/share/xml/freebsd.sch + .if exists(${PREFIX}/bin/jade) && !defined(OPENJADE) JADECATALOG?= ${PREFIX}/share/sgml/jade/catalog .else @@ -332,6 +336,15 @@ NO_RTF= yes .endif .endfor +.if defined(SCHEMATRONS) +.for sch in ${SCHEMATRONS} +schxslts+= ${sch}.xsl + +${sch}.xsl: ${sch} + ${XSLTPROC} ${XSLSCH} ${.ALLSRC} > ${.TARGET} +.endfor +.endif + # Parsed XML ------------------------------------------------------- ${DOC}.parsed.xml: ${SRCS} @@ -341,6 +354,7 @@ ${DOC}.parsed.xml: ${SRCS} .else ${ECHO_CMD} '' >> ${.TARGET} .endif + @${ECHO} "==> Basic validation" ${XMLLINT} --nonet --noent --valid --xinclude --dropdtd ${MASTERDOC} | \ ${GREP} -v '^' >> ${.TARGET} @@ -547,9 +561,29 @@ ${DOC}.${_curformat}: # having to convert it to any other formats # -lint validate: ${SRCS} - ${XMLLINT} --nonet --noout --noent --valid ${MASTERDOC} - @${RM} -rf ${CLEANFILES} ${CLEANDIRS} +# +# XXX: There is duplicated code below. In general, we want to see what +# is actually run but when validation is executed, it is better to +# silence the command invocation so that only error messages appear. +# + +lint validate: ${SRCS} ${schxslts} + @${GREP} '^' ${DOC}.xml > ${DOC}.parsed.xml +.if ${DOC} == "book" + @${ECHO_CMD} '' >> ${DOC}.parsed.xml +.else + @${ECHO_CMD} '' >> ${DOC}.parsed.xml +.endif + @${ECHO} "==> Basic validation" + @${XMLLINT} --nonet --noent --valid --xinclude --dropdtd ${MASTERDOC} | \ + ${GREP} -v '^' >>${DOC}.parsed.xml +.if defined(schxslts) + @${ECHO} "==> Validating with Schematron constraints" +.for sch in ${schxslts} + @${XSLTPROC} ${sch} ${DOC}.parsed.xml +.endfor +.endif + @${RM} -rf ${CLEANFILES} ${CLEANDIRS} ${DOC}.parsed.xml # ------------------------------------------------------------------------ # Added: projects/xml-tools/share/xml/freebsd.sch ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/xml-tools/share/xml/freebsd.sch Thu Mar 14 10:25:23 2013 (r41205) @@ -0,0 +1,11 @@ + + + + + + + + File reference does not have an extension. + + +