Localization via profile/condition - gives error 5

Post here questions and problems related to editing and publishing DITA content.
pwatto
Posts: 2
Joined: Wed Apr 10, 2013 4:20 pm

Localization via profile/condition - gives error 5

Post by pwatto »

Hi,

I'm trying to find the simplest way to localize DITA topic. I don't want to duplicate the entire topic file structure. Instead I am putting content for two languages (English and French) in each topic. I have to <concept> elements. In the French concept element, I set xml:lang to`"fr-ca". In the English concept element, I set xml:lang to`"en-us".

I tried to get the output in the right language by setting xml:lang as an extra DITA property in topi part of Profiling/Conditional. And I select "fr-ca" as project condition in lower part.

I get this error when I run transformation scenario:

gen-list] ATTENTION: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.

Thanks
Patricia
Radu
Posts: 9051
Joined: Fri Jul 09, 2004 5:18 pm

Re: Localization via profile/condition - gives error 5

Post by Radu »

Hi Patricia,

The DITA specification defines only a handful of attributes which can be used to profile/filter published content:

http://docs.oasis-open.org/dita/v1.2/os ... l#condproc

xml:lang is not one of them so it cannot be used to filter the published output content.

Oxygen offers flexibility to define any profiling attribute in the "Profiling/Conditional Text" preferences because it supports a lot of XML vocabularies but if the publishing engine (DITA Open Toolkit in this case) does not support filtering using a certain attribute, setting that attribute in our preferences will only help when editing it using the "Edit Profiling Attributes" dialog.

That error that you see in the DITA OT transformation console should be benign. Does the processing continue after it?

There has been an interesting thread in the past on the DITA Users List discussing just this:

http://tech.groups.yahoo.com/group/dita ... sage/17841

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
pwatto
Posts: 2
Joined: Wed Apr 10, 2013 4:20 pm

Re: Localization via profile/condition - gives error 5

Post by pwatto »

Hi Radu,

Thanks for the speedy reply. You're right--the error message doesn't stop the transformation. But the resulting output includes both English and French versions of the content.

You say the "Edit Profiling" options only affect editing. But the "Profiling COndition Sets" section actually says "A condition set is a collection of profiling attribute values, used to filter the text content or structure from the document, either when editing or when generating output." So this is a little misleading. You say custom conditions can't be used to filter DITA docs-is that right?

Another question: I also tried doing it in the Configuration Scenario. I duplicated the DITA Map XHTML scenario and added a filter "Exclude from output all elements with any of the following attributes" and picked "xml:lang = fr-ca" from the attribute list. That didn't work either. Why not? For the same reason you mentioned before?

Patricia
Radu
Posts: 9051
Joined: Fri Jul 09, 2004 5:18 pm

Re: Localization via profile/condition - gives error 5

Post by Radu »

Hi Patricia,
Thanks for the speedy reply. You're right--the error message doesn't stop the transformation. But the resulting output includes both English and French versions of the content.
Yes, this is the expected behavior.
You say the "Edit Profiling" options only affect editing. But the "Profiling COndition Sets" section actually says "A condition set is a collection of profiling attribute values, used to filter the text content or structure from the document, either when editing or when generating output." So this is a little misleading. You say custom conditions can't be used to filter DITA docs-is that right?
Yes, if you add a profiling attribute there which is not recognized as such by the publishing engine (which can be the DITA Open Toolkit or a bunch of XSLT stylesheets), the attribute will not be used for filtering the published output.
For DITA the Editor / Edit modes / Author / Profiling/Conditional Text page is useful to set custom values to the used profiling attributes and also if you have a profiling attribute which is a specialization of the ones offered by default to add it to the list and allow for easier editing when inside Oxygen.
We'll see if we can improve the description on the page to make it more clear.
Another question: I also tried doing it in the Configuration Scenario. I duplicated the DITA Map XHTML scenario and added a filter "Exclude from output all elements with any of the following attributes" and picked "xml:lang = fr-ca" from the attribute list. That didn't work either. Why not? For the same reason you mentioned before?
Exactly, the DITA Open Toolkit obeys the specification and considers as filtering attributes only the ones defined in the specification as such (or specializations of).

There is another tool which can be used for DITA publishing called DITA2Go:

http://www.dita2go.com/

From a previous discussion with its developer, it seems that it can filter output content based on xml:lang bending the specification rules referring to profiling attributes.
So you could maybe also take a look at it.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
Post Reply