Suppress most noise from non-debug output

This commit is contained in:
dcramer
2013-09-25 11:00:21 -05:00
parent f87d976faa
commit 86a76f2585
10 changed files with 76 additions and 128 deletions

View File

@@ -420,7 +420,9 @@ public abstract class PDFMojo extends AbstractFoMojo {
String sysDraftStatus=System.getProperty("draft.status"); String sysDraftStatus=System.getProperty("draft.status");
getLog().info("adjustTransformer():sysDraftStatus="+sysDraftStatus); if (getLog().isDebugEnabled()) {
getLog().info("adjustTransformer():sysDraftStatus="+sysDraftStatus);
}
if(null!=sysDraftStatus && !sysDraftStatus.isEmpty()){ if(null!=sysDraftStatus && !sysDraftStatus.isEmpty()){
draftStatus=sysDraftStatus; draftStatus=sysDraftStatus;
} }
@@ -436,7 +438,9 @@ public abstract class PDFMojo extends AbstractFoMojo {
transformer.setParameter("project.build.directory", projectBuildDirectory.toURI().toString()); transformer.setParameter("project.build.directory", projectBuildDirectory.toURI().toString());
String sysSecurity=System.getProperty("security"); String sysSecurity=System.getProperty("security");
getLog().info("adjustTransformer():sysSecurity="+sysSecurity); if (getLog().isDebugEnabled()) {
getLog().info("adjustTransformer():sysSecurity="+sysSecurity);
}
if(null!=sysSecurity && !sysSecurity.isEmpty()){ if(null!=sysSecurity && !sysSecurity.isEmpty()){
security=sysSecurity; security=sysSecurity;
} }
@@ -507,7 +511,9 @@ public abstract class PDFMojo extends AbstractFoMojo {
//transformer.setParameter("docbook.infile",sourceDocBook.toURI().toString()); //transformer.setParameter("docbook.infile",sourceDocBook.toURI().toString());
String srcFilename = sourceDocBook.getName(); String srcFilename = sourceDocBook.getName();
getLog().info("SOURCE FOR COVER PAGE: "+this.projectBuildDirectory+"/docbkx/"+srcFilename); if (getLog().isDebugEnabled()) {
getLog().info("SOURCE FOR COVER PAGE: "+this.projectBuildDirectory+"/docbkx/"+srcFilename);
}
transformer.setParameter("docbook.infile", new File(this.projectBuildDirectory, "docbkx/"+srcFilename).toURI().toString()); transformer.setParameter("docbook.infile", new File(this.projectBuildDirectory, "docbkx/"+srcFilename).toURI().toString());
transformer.transform (new StreamSource(coverImageTemplate), new StreamResult(coverImage)); transformer.transform (new StreamSource(coverImageTemplate), new StreamResult(coverImage));
} }

View File

@@ -864,7 +864,9 @@ public abstract class WebHelpMojo extends AbstractWebhelpMojo {
//makePdf is a POM configuration for generate-webhelp goal to control the execution of //makePdf is a POM configuration for generate-webhelp goal to control the execution of
//automatic building of pdf output //automatic building of pdf output
if(this.makePdf) { if(this.makePdf) {
if (getLog().isDebugEnabled()) {
getLog().info("\n************************************* START: Automatically generating PDF for WEBHELP *************************************"); getLog().info("\n************************************* START: Automatically generating PDF for WEBHELP *************************************");
}
//Target directory for Webhelp points to ${basepath}/target/docbkx/webhelp. So get parent. //Target directory for Webhelp points to ${basepath}/target/docbkx/webhelp. So get parent.
File baseDir = getTargetDirectory().getParentFile(); File baseDir = getTargetDirectory().getParentFile();
//The point FO/PDF file output to be generated at ${basepath}/target/docbkx/autopdf. //The point FO/PDF file output to be generated at ${basepath}/target/docbkx/autopdf.
@@ -910,10 +912,14 @@ public abstract class WebHelpMojo extends AbstractWebhelpMojo {
File srcFilename = new File(this.projectBuildDirectory, "docbkx/"+sourceFile.getName()); File srcFilename = new File(this.projectBuildDirectory, "docbkx/"+sourceFile.getName());
if(srcFilename.exists()) { if(srcFilename.exists()) {
if (getLog().isDebugEnabled()) {
getLog().debug("***********************"+ srcFilename); getLog().debug("***********************"+ srcFilename);
}
pdfBuilder.setSourceFilePath(srcFilename); pdfBuilder.setSourceFilePath(srcFilename);
} else { } else {
if (getLog().isDebugEnabled()) {
getLog().debug("***********************"+ getSourceDirectory()+File.separator+inputFilename); getLog().debug("***********************"+ getSourceDirectory()+File.separator+inputFilename);
}
pdfBuilder.setSourceFilePath(new File(getSourceDirectory(), inputFilename)); pdfBuilder.setSourceFilePath(new File(getSourceDirectory(), inputFilename));
} }
@@ -932,14 +938,16 @@ public abstract class WebHelpMojo extends AbstractWebhelpMojo {
com.rackspace.cloud.api.docs.FileUtils.mkdir(targetDirForPdf); com.rackspace.cloud.api.docs.FileUtils.mkdir(targetDirForPdf);
} }
boolean moved = pdfBuilder.movePdfToWebhelpDir(pdfFile, targetDirForPdf); boolean moved = pdfBuilder.movePdfToWebhelpDir(pdfFile, targetDirForPdf);
if(moved) { if(moved && getLog().isDebugEnabled()) {
getLog().info("Successfully moved auto-generated PDF file to Webhelp target directory!"); getLog().info("Successfully moved auto-generated PDF file to Webhelp target directory!");
} else { } else if(getLog().isDebugEnabled()) {
getLog().error("Unable to move auto-generated PDF file to Webhelp target directory!"); getLog().error("Unable to move auto-generated PDF file to Webhelp target directory!");
} }
} }
autoPdfUrl = "../"+foFile.getName(); autoPdfUrl = "../"+foFile.getName();
getLog().info("************************************* END: Automatically generating PDF for WEBHELP *************************************\n"); if (getLog().isDebugEnabled()) {
getLog().info("************************************* END: Automatically generating PDF for WEBHELP *************************************\n");
}
} }

View File

@@ -226,9 +226,9 @@ public class PDFBuilder {
final Result result = new StreamResult(targetFile.getAbsolutePath()); final Result result = new StreamResult(targetFile.getAbsolutePath());
transformer.transform(xmlSource, result); transformer.transform(xmlSource, result);
if (getLog().isDebugEnabled()) {
getLog().info(targetFile + " has been generated."); getLog().debug(targetFile + " has been generated.");
}
return targetFile; return targetFile;
} catch (SAXException saxe) { } catch (SAXException saxe) {
throw new MojoExecutionException("Failed to parse " + sourceFilePath + ".", saxe); throw new MojoExecutionException("Failed to parse " + sourceFilePath + ".", saxe);
@@ -274,8 +274,9 @@ public class PDFBuilder {
baseURL = baseURL.replace("file:/", "file:///"); baseURL = baseURL.replace("file:/", "file:///");
userAgent.setBaseURL(baseURL); userAgent.setBaseURL(baseURL);
getLog().info("Absolute path is "+baseURL); if (getLog().isDebugEnabled()) {
getLog().debug("Absolute path is "+baseURL);
}
in = new FileInputStream(result); in = new FileInputStream(result);
targetPdfFile = new File (result.getAbsolutePath().replaceAll(".fo$", properties.getProperty("pdfsuffix","") + ".pdf")); targetPdfFile = new File (result.getAbsolutePath().replaceAll(".fo$", properties.getProperty("pdfsuffix","") + ".pdf"));
@@ -475,12 +476,14 @@ public class PDFBuilder {
transformer.setParameter ("cloud.api.background.image", coverImage.toURI().toString()); transformer.setParameter ("cloud.api.background.image", coverImage.toURI().toString());
transformer.setParameter ("cloud.api.cc.image.dir", ccSub.toURI().toString()); transformer.setParameter ("cloud.api.cc.image.dir", ccSub.toURI().toString());
if (getLog().isDebugEnabled()) {
// getLog().info("SOURCE FOR COVER PAGE: "+sourceFilePath); getLog().info("SOURCE FOR COVER PAGE: "+sourceFilePath);
}
// transformer.setParameter("docbook.infile", sourceFilePath.toURI().toString()); // transformer.setParameter("docbook.infile", sourceFilePath.toURI().toString());
if (getLog().isDebugEnabled()) {
getLog().info("SOURCE FOR COVER PAGE: " + new File(projectBuildDirectory, inputFilename).getAbsolutePath()); getLog().debug("SOURCE FOR COVER PAGE: " + new File(projectBuildDirectory, inputFilename).getAbsolutePath());
}
transformer.setParameter("docbook.infile", new File(projectBuildDirectory, inputFilename).toURI().toString()); transformer.setParameter("docbook.infile", new File(projectBuildDirectory, inputFilename).toURI().toString());
transformer.transform (new StreamSource(coverImageTemplate), new StreamResult(coverImage)); transformer.transform (new StreamSource(coverImageTemplate), new StreamResult(coverImage));
@@ -883,7 +886,9 @@ public class PDFBuilder {
URIResolver uriResolver; URIResolver uriResolver;
try { try {
URL url = getNonDefaultStylesheetURL() == null ? getDefaultStylesheetURL() : getNonDefaultStylesheetURL(); URL url = getNonDefaultStylesheetURL() == null ? getDefaultStylesheetURL() : getNonDefaultStylesheetURL();
getLog().debug("Using stylesheet: " + url.toExternalForm()); if (getLog().isDebugEnabled()) {
getLog().debug("Using stylesheet: " + url.toExternalForm());
}
uriResolver = new StylesheetResolver("urn:docbkx:stylesheet", new StreamSource(url.openStream(), url uriResolver = new StylesheetResolver("urn:docbkx:stylesheet", new StreamSource(url.openStream(), url
.toExternalForm()), catalogResolver); .toExternalForm()), catalogResolver);
} catch (IOException ioe) { } catch (IOException ioe) {
@@ -963,7 +968,6 @@ public class PDFBuilder {
} }
if (getCustomizationParameters() != null) { if (getCustomizationParameters() != null) {
getLog().info("Applying customization parameters");
final Iterator iterator = getCustomizationParameters().iterator(); final Iterator iterator = getCustomizationParameters().iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
Parameter param = (Parameter) iterator.next(); Parameter param = (Parameter) iterator.next();
@@ -1135,4 +1139,4 @@ public class PDFBuilder {
System.exit(-1); System.exit(-1);
} }
} }
} }

View File

@@ -84,7 +84,9 @@ public class ReplaceTextXProcStep extends DefaultStep {
if(fileLength>0){ if(fileLength>0){
BufferedReader br = null; BufferedReader br = null;
try { try {
if (getLog().isDebugEnabled()) {
getLog().info("REPLACEMENTS FILE = " + replacementsFile.getAbsolutePath()); getLog().info("REPLACEMENTS FILE = " + replacementsFile.getAbsolutePath());
}
br = new BufferedReader(new FileReader(replacementsFile)); br = new BufferedReader(new FileReader(replacementsFile));
String line; String line;
@@ -107,8 +109,7 @@ public class ReplaceTextXProcStep extends DefaultStep {
//ignore input line //ignore input line
} }
} }
if (xpathReplacements.size()==0 && getLog().isDebugEnabled()) {
if (xpathReplacements.size()==0) {
getLog().info("SKIPPING REPLACEMENTS: Replacements file is empty or was not found at specified location '"+fileName+ "'."); getLog().info("SKIPPING REPLACEMENTS: Replacements file is empty or was not found at specified location '"+fileName+ "'.");
} }
} catch (IOException e) { } catch (IOException e) {
@@ -120,7 +121,7 @@ public class ReplaceTextXProcStep extends DefaultStep {
getLog().error("Unable to release/close replacements config file", e); getLog().error("Unable to release/close replacements config file", e);
} }
} }
} else { } else if(getLog().isDebugEnabled()) {
getLog().info("SKIPPING REPLACEMENTS: Replacements file is empty or was not found at specified location '"+fileName+ "'."); getLog().info("SKIPPING REPLACEMENTS: Replacements file is empty or was not found at specified location '"+fileName+ "'.");
} }
@@ -248,4 +249,4 @@ class Replacement {
return false; return false;
} }
} }

View File

@@ -49,7 +49,6 @@
<xsl:template match="/"> <xsl:template match="/">
<xsl:processing-instruction name="rax-warinfo"><xsl:value-of select="concat($warprefix,$input.filename,if ($security != 'external') then $warsuffix else '')"/></xsl:processing-instruction> <xsl:processing-instruction name="rax-warinfo"><xsl:value-of select="concat($warprefix,$input.filename,if ($security != 'external') then $warsuffix else '')"/></xsl:processing-instruction>
<xsl:message>bookinfo.xsl: webhelpDirname="<xsl:value-of select="$webhelpDirname"/>"</xsl:message>
<xsl:apply-templates/> <xsl:apply-templates/>
@@ -233,4 +232,4 @@ branding=<xsl:value-of select="$branding"/>
</xsl:choose> </xsl:choose>
</xsl:function> </xsl:function>
</xsl:stylesheet> </xsl:stylesheet>

View File

@@ -16,6 +16,7 @@
<xsl:param name="admon.graphics" select="1"></xsl:param> <xsl:param name="admon.graphics" select="1"></xsl:param>
<xsl:param name="webhelp.war">0</xsl:param> <xsl:param name="webhelp.war">0</xsl:param>
<xsl:param name="docbook.infile"/> <xsl:param name="docbook.infile"/>
<xsl:param name="chunk.quietly">1</xsl:param>
<xsl:param name="graphicsize.extension" select="'0'"/> <xsl:param name="graphicsize.extension" select="'0'"/>
<xsl:param name="war.dirname"><xsl:value-of select="normalize-space(/processing-instruction('rax-warinfo'))"/></xsl:param> <xsl:param name="war.dirname"><xsl:value-of select="normalize-space(/processing-instruction('rax-warinfo'))"/></xsl:param>
<xsl:param name="webhelp.common.dir"> <xsl:param name="webhelp.common.dir">

View File

@@ -59,11 +59,6 @@
</xsl:template> </xsl:template>
<xsl:template match="d:legalnotice" mode="preprocess"> <xsl:template match="d:legalnotice" mode="preprocess">
<xsl:message>
########################################
Processing legalnotice: <xsl:value-of select="@role"/>
########################################
</xsl:message>
<d:legalnotice> <d:legalnotice>
<xsl:apply-templates select="@*" mode="preprocess"/> <xsl:apply-templates select="@*" mode="preprocess"/>
<xsl:choose> <xsl:choose>
@@ -385,4 +380,4 @@ body { background-image: url('</xsl:text>
<xsl:apply-templates select="." mode="head.keywords.content"/> <xsl:apply-templates select="." mode="head.keywords.content"/>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

View File

@@ -18,7 +18,7 @@
<p:group name="group"> <p:group name="group">
<p:output port="result" primary="true"> <p:output port="result" primary="true">
<p:pipe step="validate-post-wadl-idrefs" port="result"/> <p:pipe step="validate-post-wadl-idrefs-pdf" port="result"/>
</p:output> </p:output>
<p:output port="secondary" primary="false" sequence="true"/> <p:output port="secondary" primary="false" sequence="true"/>
@@ -29,7 +29,7 @@
<p:pipe step="params" port="parameters"/> <p:pipe step="params" port="parameters"/>
</p:variable> </p:variable>
<l:validate-docbook-format> <l:validate-docbook-format name="validate-docbook-format">
<p:input port="source"> <p:input port="source">
<p:pipe step="main" port="source"/> <p:pipe step="main" port="source"/>
</p:input> </p:input>
@@ -90,75 +90,50 @@ pdfsuffix=<xsl:if test="not($security = 'external') and not($security = '') and
'/autopdf/pdf.properties')"/> '/autopdf/pdf.properties')"/>
</p:store> </p:store>
<p:add-xml-base> <p:add-xml-base name="adding-xml-base-pdf">
<p:input port="source"> <p:input port="source">
<p:pipe step="main" port="source"/> <p:pipe step="main" port="source"/>
</p:input> </p:input>
</p:add-xml-base> </p:add-xml-base>
<p:xinclude fixup-xml-base="true"/> <p:xinclude fixup-xml-base="true" name="xincluding-pdf"/>
<l:normalize-olinks/> <l:normalize-olinks name="normalize-olinks-pdf"/>
<cx:message> <l:process-pubdate name="process-pubdate-pdf"/>
<p:with-option name="message" select="'Validating post-xinclude'"/>
</cx:message>
<cx:message> <p:delete match="//@security[. = '']" name="delete-emtpy-security-attrs-pdf"/>
<p:with-option name="message" select="'Fixing pubdate if necessary'"/>
</cx:message>
<l:process-pubdate/>
<p:delete match="//@security[. = '']"/> <l:docbook-xslt2-preprocess name="preprocess-docbook-xslt2-pdf"/>
<l:docbook-xslt2-preprocess/> <l:validate-transform name="validate-post-xinclude-pdf">
<l:validate-transform name="validate-post-xinclude">
<p:input port="schema"> <p:input port="schema">
<p:document href="classpath:///rng/rackbook.rng"/> <p:document href="classpath:///rng/rackbook.rng"/>
</p:input> </p:input>
</l:validate-transform> </l:validate-transform>
<cx:message name="msg3"> <l:validate-images name="validate-images-pdf"/>
<p:with-option name="message" select="'Validating images'"/>
</cx:message>
<l:validate-images/>
<cx:message name="msg4"> <l:programlisting-keep-together name="add-keep-togethers-to-codelistings-pdf"/>
<p:with-option name="message" select="'Performing programlisting keep together'"/>
</cx:message>
<l:programlisting-keep-together/> <p:delete match="//db:imageobject[@role='html']" name="remove-imageobject-role-html-pdf"/>
<p:delete match="//db:imageobject/@role[. ='fo']" name="remove-imageobject-role-attrs-fo-pdf"/>
<p:delete match="//db:imageobject[@role='html']"/> <l:normalize-space-glossterm name="clean-glossterm-spaces-pdf"/>
<p:delete match="//db:imageobject/@role[. ='fo']"/>
<l:normalize-space-glossterm/> <l:extensions-info name="add-extensions-info-pdf"/>
<cx:message name="msg5">
<p:with-option name="message" select="'Adding extension info'"/>
</cx:message>
<l:extensions-info/>
<cx:message name="msg7"> <l:normalize-wadls name="normalize-wadls-pdf"/>
<p:with-option name="message" select="'Normalize wadls'"/>
</cx:message>
<l:normalize-wadls /> <l:process-embedded-wadl name="process-embedded-wadls-pdf"/>
<p:delete match="//@rax:original-wadl" xmlns:rax="http://docs.rackspace.com/api" name="remove-rax-original-wadl-attr-pdf"/>
<l:process-embedded-wadl/> <l:search-and-replace name="search-and-replace-pdf"/>
<p:delete match="//@rax:original-wadl" xmlns:rax="http://docs.rackspace.com/api"/>
<cx:message name="msg6">
<p:with-option name="message" select="'Making replacements'"/>
</cx:message>
<l:search-and-replace/>
<p:add-attribute match="//db:table[not(@role) and .//db:td]|//db:informaltable[not(@role) and .//db:td]" attribute-name="rules" attribute-value="all"/> <p:add-attribute match="//db:table[not(@role) and .//db:td]|//db:informaltable[not(@role) and .//db:td]" attribute-name="rules" attribute-value="all" name="add-rules-attr-to-tables-pdf"/>
<p:delete match="//db:td/db:para[not(./*) and normalize-space(.) ='']"/> <p:delete match="//db:td/db:para[not(./*) and normalize-space(.) ='']" name="delete-empty-paras"/>
<l:validate-transform-idrefs name="validate-post-wadl-idrefs"> <l:validate-transform-idrefs name="validate-post-wadl-idrefs-pdf">
<p:input port="schema"> <p:input port="schema">
<p:document href="classpath:///rng/rackbook.rng"/> <p:document href="classpath:///rng/rackbook.rng"/>
</p:input> </p:input>

View File

@@ -571,12 +571,7 @@ setting failOnValidationError to no in your pom.
<p:input port="parameters"> <p:input port="parameters">
<p:pipe step="normalize-wadls-step" port="parameters"/> <p:pipe step="normalize-wadls-step" port="parameters"/>
</p:input> </p:input>
</p:xslt> </p:xslt>
<cx:message>
<p:with-option name="message" select="'About to iterate over wadls'"/>
</cx:message>
<p:for-each> <p:for-each>
<p:iteration-source select="//wadl-missing-file"> <p:iteration-source select="//wadl-missing-file">

View File

@@ -11,38 +11,23 @@
<p:import href="classpath:///rackspace-library.xpl"/><!-- classpath:/// --> <p:import href="classpath:///rackspace-library.xpl"/><!-- classpath:/// -->
<p:import href="http://xmlcalabash.com/extension/steps/library-1.0.xpl"/> <p:import href="http://xmlcalabash.com/extension/steps/library-1.0.xpl"/>
<l:validate-docbook-format name="validate-docbook-format-webhelp">
<cx:message>
<p:with-option name="message" select="'Entering xproc pipeline'"/>
</cx:message>
<cx:message>
<p:with-option name="message" select="'Validating DocBook version'"/>
</cx:message>
<l:validate-docbook-format>
<p:with-option name="docbookNamespace" select="'http://docbook.org/ns/docbook'"/> <p:with-option name="docbookNamespace" select="'http://docbook.org/ns/docbook'"/>
</l:validate-docbook-format> </l:validate-docbook-format>
<p:add-xml-base/> <p:add-xml-base name="adding-xml-base-webhelp"/>
<p:xinclude fixup-xml-base="true"/> <p:xinclude fixup-xml-base="true" name="xincluding"/>
<l:normalize-olinks/> <l:normalize-olinks name="normalize-olinks"/>
<cx:message> <l:process-pubdate name="process-pubdate-webhelp"/>
<p:with-option name="message" select="'Fixing pubdate if necessary'"/>
</cx:message>
<l:process-pubdate/>
<p:delete match="//@security[. = '']"/> <p:delete match="//@security[. = '']" name="delete-emtpy-security-attrs-webhelp"/>
<cx:message> <l:docbook-xslt2-preprocess name="preprocess-docbook-xslt2-webhelp"/>
<p:with-option name="message" select="'Profiling'"/>
</cx:message>
<l:docbook-xslt2-preprocess/>
<l:validate-transform name="validate-post-xinclude"> <l:validate-transform name="validate-post-xinclude-webhelp">
<p:input port="schema"> <p:input port="schema">
<p:document href="classpath:///rng/rackbook.rng"/> <p:document href="classpath:///rng/rackbook.rng"/>
</p:input> </p:input>
@@ -54,50 +39,29 @@
<l:normalize-space-glossterm/> <l:normalize-space-glossterm/>
<cx:message>
<p:with-option name="message" select="'Validating, copying and transforming images'"/>
</cx:message>
<l:copy-and-transform-images/> <l:copy-and-transform-images/>
<cx:message name="msg4">
<p:with-option name="message" select="'Remove non-bold markup from inside code listings.'"/>
</cx:message>
<l:programlisting-strip-inlines/> <l:programlisting-strip-inlines/>
<p:delete match="//raxm:metadata[./raxm:type = 'tutorial']" <p:delete match="//raxm:metadata[./raxm:type = 'tutorial']"
xmlns:raxm="http://docs.rackspace.com/api/metadata"/> xmlns:raxm="http://docs.rackspace.com/api/metadata"/>
<cx:message>
<p:with-option name="message" select="'Generating bookinfo.xml'"/>
</cx:message>
<l:bookinfo/> <l:bookinfo/>
<cx:message>
<p:with-option name="message" select="'Adding extension info'"/>
</cx:message>
<l:extensions-info/> <l:extensions-info/>
<cx:message>
<p:with-option name="message" select="'Normalize wadls (if necessary)'"/>
</cx:message>
<l:normalize-wadls /> <l:normalize-wadls />
<cx:message>
<p:with-option name="message" select="'Process embedded wadls (if necessary)'"/>
</cx:message>
<l:process-embedded-wadl/> <l:process-embedded-wadl/>
<p:delete match="//@rax:original-wadl" xmlns:rax="http://docs.rackspace.com/api"/> <p:delete match="//@rax:original-wadl" xmlns:rax="http://docs.rackspace.com/api"/>
<cx:message>
<p:with-option name="message" select="'Making replacements'"/>
</cx:message>
<l:search-and-replace/> <l:search-and-replace/>
<p:add-attribute match="//db:table[not(@role) and .//db:td]|//db:informaltable[not(@role) and .//db:td]" attribute-name="rules" attribute-value="all"/> <p:add-attribute match="//db:table[not(@role) and .//db:td]|//db:informaltable[not(@role) and .//db:td]" attribute-name="rules" attribute-value="all"/>
<p:delete match="//db:td/db:para[not(./*) and normalize-space(.) ='']"/> <p:delete match="//db:td/db:para[not(./*) and normalize-space(.) ='']"/>
<l:validate-transform-idrefs name="validate-post-wadl" > <l:validate-transform-idrefs name="validate-post-wadl-pdf" >
<p:input port="schema"> <p:input port="schema">
<p:document href="classpath:///rng/rackbook.rng"/> <p:document href="classpath:///rng/rackbook.rng"/>
</p:input> </p:input>