crossley 2002/11/28 00:41:53 Modified: . build.xml changes.xml Log: New standalone build target "validate-schematron" to conduct build-time validation (currently only the sitemaps) using RELAX NG grammars with embedded Schematron rules. PR: 14581 Submitted by: Colin Adams <[EMAIL PROTECTED]> Revision Changes Path 1.284 +56 -0 xml-cocoon2/build.xml Index: build.xml =================================================================== RCS file: /home/cvs/xml-cocoon2/build.xml,v retrieving revision 1.283 retrieving revision 1.284 diff -u -r1.283 -r1.284 --- build.xml 28 Nov 2002 06:30:13 -0000 1.283 +++ build.xml 28 Nov 2002 08:41:53 -0000 1.284 @@ -2229,6 +2229,62 @@ /> </xmlvalidate> </target> + + <!-- =================================================================== --> + <!-- Generate Schematron validators from RNG grammars. --> + <!-- Evidently this will not work with Xalan due to a bug. --> + <!-- Needs XSLTC or Saxon7 (but the classpath attribute won't work). --> + <!-- --> + <!-- These are two temporary targets undergoing testing. --> + <!-- --> + <!--=================================================================== --> + <!-- Depends on some "prepare-*" targets, so that the sitemaps are generated + and copied to the build. + --> + <target name="prepare-schematron" + description="Generate Schematron schema from RNG grammar" + depends="prepare-docs, prepare-webapp, prepare-webapp-scratchpad" + if="validate.config"> + <echo message="Generating Schematron schemas from RELAX NG grammars"/> + <echo message="Currently doing: sitemap.rng only"/> + <xslt in="${webapp.dir}/WEB-INF/entities/sitemap-v06.rng" + out="${tools.dir}/src/schematron/sitemap.sch" + style="${tools.dir}/src/schematron/RNG2Schtrn.xsl"/> + <echo message="Generating XSLT validators from Schematron schemas"/> + <xslt in="${tools.dir}/src/schematron/sitemap.sch" + out="${tools.dir}/src/schematron/validate-sitemap.xsl" + style="${tools.dir}/src/schematron/schematron-basic.xsl"/> + </target> + <!-- =================================================================== --> + <!-- Validate with Schematron --> + <!--=================================================================== --> + <target name="validate-schematron" + description="Validate against Schematron schemas generated from RNG grammars" + depends="prepare-schematron"> + <echo message="Removing any old reports ..."/> + <delete quiet="yes"> + <fileset dir="${build.dir}" includes="**/sitemap.report" /> + </delete> + <echo message="Running schematron validators"/> + <echo message="Currently doing: **/sitemap.xmap only"/> + <xslt basedir="${build.dir}" includes="**/sitemap.xmap" + destdir="${build.dir}" extension=".report" + style="${tools.dir}/src/schematron/validate-sitemap.xsl"/> + <echo message="Removing any empty reports ..."/> + <delete quiet="yes"> + <fileset dir="${build.dir}" includes="**/sitemap.report" > + <size value="0"/> + </fileset> + </delete> + <echo message="Listing any new error reports ..."/> + <apply executable="ls" failonerror="false" skipemptyfilesets="true"> + <fileset dir="${build.dir}" includes="**/sitemap.report" /> + <arg value="-l"/> + </apply> + <apply executable="false" failonerror="true" skipemptyfilesets="true"> + <fileset dir="${build.dir}" includes="**/sitemap.report" /> + </apply> + </target> </project> 1.290 +27 -1 xml-cocoon2/changes.xml Index: changes.xml =================================================================== RCS file: /home/cvs/xml-cocoon2/changes.xml,v retrieving revision 1.289 retrieving revision 1.290 diff -u -r1.289 -r1.290 --- changes.xml 27 Nov 2002 23:58:10 -0000 1.289 +++ changes.xml 28 Nov 2002 08:41:53 -0000 1.290 @@ -40,6 +40,17 @@ </devs> <release version="@version@" date="@date@"> + <action dev="DC" type="update" fixes-bug="14581" due-to="Colin Paul Adams" due-to-email="[EMAIL PROTECTED]"> + New build target "validate-schematron" to conduct build-time validation + (currently only the sitemaps) using RELAX NG grammars with embedded + Schematron rules. + This uses <link="http://www.ascc.net/xml/schematron/">Schematron</link> + stylesheets from Rick Jelliffe and Academia Sinica Computing Center, Taiwan. + </action> + <action dev="DC" type="add" due-to="Colin Paul Adams" due-to-email="[EMAIL PROTECTED]"> + Enhanced the RELAX NG grammar for sitemap.xmap files and added embedded + Schematron rules. + </action> <action dev="BH" type="fix"> Fix setOutputStream throwing IOExeption in XMLSerializer, and TextSerializer. </action> @@ -64,6 +75,11 @@ <action dev="CZ" type="fix" fixes-bug="12293"> RequestLifecycleComponents were not handled properly when the cocoon: protocol is used </action> + <action dev="DC" type="add"> + New build target "validate-xdocs" to conduct build-time validation of core + xml documentation (call it manually with: + <code>./build.sh validate-xdocs</code>). + </action> <action dev="CH" type="update"> Changed SimpleFormTransformer to use InputModules. </action> @@ -115,6 +131,12 @@ properties which were not addressed in the http request (like unchecked checkboxes). This applies to session scope forms only. </action> + <action dev="DC" type="add"> + New build target "validate-config" to conduct build-time validation of some + core important configuration files using RELAX NG (call it manually with: + <code>./build.sh validate-config</code>). Currently doing: all sitemap.xmap, + all cocoon.roles, all *.xsl stylesheets, all book.xml files. + </action> <action dev="SW" type="add"> New ZipArchiveSerializer to build zip files aggregating various sources as archive entries. Can be used to generate zip files, sxw files (OpenOffice), @@ -133,6 +155,10 @@ Renamed the AbstractMethodAction into AbstractMultiAction and moved it from scratchpad into the maintrunk. Using it helps reducing the amount of custom actions for a webapp. + </action> + <action dev="DC" type="add" due-to="Colin Paul Adams" due-to-email="[EMAIL PROTECTED]"> + Added RELAX NG grammar for sitemap.xmap files and removed old draft sitemap + DTD. </action> <action dev="VG" type="update"> ReadDOMSessionTransformer now can work with any types of object
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]