Page 1 of 1

Error DOTX067E

Posted: Wed Dec 31, 2014 8:04 pm
by rww
I've moved my computer from Linux to Mac OS and installed Oxygen. Although I can generate a PDF, I get lots of the following errors after running a DITA PDF transformation:

[DOTX067E]: No string named '' was found for language 'en'. Add a mapping for the string ''. The location of this problem was at (File = /Users/rww/.../filename.dita, Element = xref:1;9:95)

The information for this error says "This generally indicates that the toolkit's strings needs to be updated to support your language, or that your language setting is incorrect." I have no idea what I need to do in order to update the 'toolkit strings' or change the language setting (setting the language in Preferences didn't seem to help).

Does anyone know how to fix this? Thanks.

Richard

Re: Error DOTX067E

Posted: Mon Jan 05, 2015 9:53 am
by Radu
Hi Richard,

Did you make any changes to the XSLTs used to customize the PDF output?
If you open the original source DITA topic on which the error is reported at processing time and look at the first xref reference element on it, how does it look like? Did you manually set a type attribute on it? If so, what value did you set to it? To what target element does it refer? A table, a figure, a topic, etc?

Regards,
Radu

Re: Error DOTX067E

Posted: Mon Jan 05, 2015 10:32 pm
by rww
Hi Radu

I have an output class defined in my customizations called noPageCitation which seems to be causing these errors. The class is used to prevent page numbers appearing in xrefs. When I omit this output class the error goes away. Interestingly, the output does actually work correctly, despite the error, and page numbers are being omitted correctly.

Here's the definition for the output class:

Code: Select all


            <xsl:when test="contains(@outputclass, 'noPageCitation')">
<fo:inline>
<xsl:call-template name="insertVariable">
<xsl:with-param name="theVariableID" select="''"/>
<xsl:with-param name="theParameters">
<pagenum>
<fo:inline>
<fo:page-number-citation ref-id="{$destination}"/>
</fo:inline>
</pagenum>
</xsl:with-param>
</xsl:call-template>
</fo:inline>
</xsl:when>

Re: Error DOTX067E

Posted: Tue Jan 06, 2015 9:28 am
by Radu
Hi,

That is the cause indeed.
The insertVariable template you are calling is defined in:

OXYGEN_INSTALL_DIR/frameworks/dita/DITA-OT/plugins/org.dita.pdf2/xsl/common/vars.xsl

and it calls another template findVariable which issues a warning if the parameter theVariableID cannot be mapped to any translated string. In your case, the parameter has an empty value and thus the warning message is issued.

So you do not need to call that template at all, probably in your case it's as easy as doing:

Code: Select all

           <xsl:when test="contains(@outputclass, 'noPageCitation')">
<fo:inline>
<fo:page-number-citation ref-id="{$destination}"/>
</fo:inline>
</xsl:when>
Regards,
Radu

Re: Error DOTX067E

Posted: Wed Jan 07, 2015 12:57 am
by rww
I've substituted the code and no errors are reported now. Seems to have done the trick!

Thanks for your help.