Skip to content

Commit

Permalink
Corrected DTD error when calling document() function; corrected 'out'…
Browse files Browse the repository at this point in the history
… subdirectory issue
  • Loading branch information
justdp committed Apr 22, 2016
1 parent e0ed382 commit ee4463c
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 5 deletions.
36 changes: 35 additions & 1 deletion build_qadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -85,13 +85,47 @@
if="dita.input.valfile" />
<param name="OUTPUTDIR" expression="${output.dir}" if="output.dir" />
<param name="BASEDIR" expression="${basedir}" />
<param name="tempInput" expression="${dita.temp.dir}${file.separator}${user.input.file}" />
</xslt>
<!-- move file to the output root -->
<move todir="${output.dir}" flatten="true">
<fileset dir="${output.dir}">
<include name="**/${dita.map.filename.root}.dita" />
</fileset>
</move>

<java classname="net.sf.saxon.Transform" fork="yes">
<arg value="-r:org.apache.xml.resolver.tools.CatalogResolver"/>
<arg value="-x:org.apache.xml.resolver.tools.ResolvingXMLReader"/>
<arg value="-y:org.apache.xml.resolver.tools.ResolvingXMLReader"/>
<jvmarg value="-Dxml.catalog.files=catalog-dita.xml"/>
<arg value="-xsl:${dita.plugin.org.dita-community.qa.dir}${file.separator}xsl${file.separator}qacsv.xsl"/>
<arg value="-t"/>
<arg value="-s:${output.dir}${file.separator}${dita.map.filename.root}.dita"/>
<arg value="-o:${output.dir}${file.separator}${dita.map.filename.root}-violations.csv"/>
</java>
<java classname="net.sf.saxon.Transform" fork="yes">
<arg value="-r:org.apache.xml.resolver.tools.CatalogResolver"/>
<arg value="-x:org.apache.xml.resolver.tools.ResolvingXMLReader"/>
<arg value="-y:org.apache.xml.resolver.tools.ResolvingXMLReader"/>
<jvmarg value="-Dxml.catalog.files=catalog-dita.xml"/>
<arg value="-xsl:${dita.plugin.org.dita-community.qa.dir}${file.separator}xsl${file.separator}qamap.xsl"/>
<arg value="-t"/>
<arg value="-s:${output.dir}${file.separator}${dita.map.filename.root}.dita"/>
<arg value="-o:${output.dir}${file.separator}${dita.map.filename.root}-violations.ditamap"/>
</java>
<java classname="net.sf.saxon.Transform" fork="yes">
<arg value="-r:org.apache.xml.resolver.tools.CatalogResolver"/>
<arg value="-x:org.apache.xml.resolver.tools.ResolvingXMLReader"/>
<arg value="-y:org.apache.xml.resolver.tools.ResolvingXMLReader"/>
<jvmarg value="-Dxml.catalog.files=catalog-dita.xml"/>
<arg value="-xsl:${dita.plugin.org.dita-community.qa.dir}${file.separator}xsl${file.separator}qareport.xsl"/>
<arg value="-t"/>
<arg value="-s:${output.dir}${file.separator}${dita.map.filename.root}.dita"/>
<arg value="-o:${output.dir}${file.separator}${dita.map.filename.root}-report.html"/>
</java>

<!-- Legacy XSLT tasks. Replaced with java calls
<xslt processor="trax"
in="${output.dir}/${dita.map.filename.root}.dita"
extension=".csv"
Expand All @@ -106,7 +140,7 @@
in="${output.dir}/${dita.map.filename.root}.dita"
extension=".html"
style="${dita.plugin.org.dita-community.qa.dir}/xsl/qareport.xsl"
out="${output.dir}/${dita.map.filename.root}-report.html" />
out="${output.dir}/${dita.map.filename.root}-report.html" /> -->
</target>

</project>
11 changes: 7 additions & 4 deletions xsl/qadata.xsl
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ exclude-result-prefixes="xsl xs fo fn ditaarch"
<xsl:param name="OUTPUTDIR" />
<xsl:param name="FILTERFILE" />
<xsl:param name="BASEDIR" />
<xsl:param name="tempInput"/>
<xsl:include href="qachecks/_qa_checks.xsl"/>

<!-- for 1.x OT versions, use doctype-system="../dtd/technicalContent/dtd/topic.dtd" -->
Expand Down Expand Up @@ -58,7 +59,9 @@ exclude-result-prefixes="xsl xs fo fn ditaarch"
<xsl:variable name="inputMap">
<xsl:value-of select="concat('file:///' ,$input)"/>
</xsl:variable>

<xsl:variable name="tempMap">
<xsl:value-of select="concat('file:///',$tempInput)"/>
</xsl:variable>

<!-- start building the XML database module here -->
<topic id="qadata{generate-id}">
Expand All @@ -67,14 +70,14 @@ exclude-result-prefixes="xsl xs fo fn ditaarch"
<section id="overall{generate-id()}" outputclass="overallData">
<data type="docdata" name="docTitle">
<xsl:choose>
<xsl:when test='document($inputMap)//mainbooktitle'>
<xsl:when test='document($tempMap)//mainbooktitle'>
<!-- trying to get the bookmap title, but the document function works relative to this xsl file,
not to build.xml, so the input variable doesn't point to an actual document -->
<xsl:value-of select="document($inputMap)//mainbooktitle"/>
<xsl:value-of select="document($tempMap)//mainbooktitle"/>
</xsl:when>
<xsl:otherwise>
<!-- DRD: so we'll provide a fallback -->
<xsl:value-of select="document($inputMap)/*/title"/>
<xsl:value-of select="document($tempMap)/*/title"/>
</xsl:otherwise>
</xsl:choose>
</data>
Expand Down

0 comments on commit ee4463c

Please sign in to comment.