Page 1 of 1
Specialization Breaking the Maps Manager Title
Posted: Wed Jul 27, 2011 9:35 pm
by bpopp
I'm having an issue where the Maps Manager can no longer parse a document's title if I specialize DITA's composite element (dita). I've created my own composite wrapper called fxdita which defines all my custom topic types (fxtopic, fxprocedure, etc.) If I use this wrapper, the maps manager no longer displays the file's title correctly, ie:
Interestingly enough, if I remove the wrapper and just use one of my specialized topic types, the Maps Manager parses the title correctly.
Any help would be greatly appreciated!
Brian
Re: Specialization Breaking the Maps Manager Title
Posted: Thu Jul 28, 2011 2:35 pm
by sorin_ristache
Hello,
Oxygen looks at the
class attribute of the root element of the file referenced in the map and if it contains
it will look at the
class attribute of the first child of the root element. If it contains
or
the text child node of that element is displayed as the title of that topicref in the map. If the root element does not have a class attribute that file will have a title in the
DITA Maps Manager view only if the root element is called
dita.
Does your specialization keep the
string in the
class attribute? Can you
send us (using the
Technical Support form) some sample files of your specialization including the DTD files in order to look into the problem?
Thank you,
Sorin
Re: Specialization Breaking the Maps Manager Title
Posted: Thu Jul 28, 2011 9:52 pm
by bpopp
Good information, but that's not really what I'm seeing. You must be making an exception for composite wrappers (like dita). For example, if I have a file in a map that looks like this:
Code: Select all
<!DOCTYPE dita PUBLIC "-//OASIS//DTD DITA Composite//EN" "ditabase.dtd">
<dita>
<topic id="DFS" >
<title>Blah</title>
<body/>
</topic>
</dita>
The icon changes and the "Blah" shows correctly in the Maps Manager. There is no "class" attribute for the root element (dita in this case). If I replace the composite with my comparable specialization:
Code: Select all
<!DOCTYPE fxdita PUBLIC "-//FEDEX//DTD DITA Composite//EN" "fxditabase.dtd">
<fxdita>
<fxtopic id="DFS" >
<title>Blah</title>
<fxbody/>
</fxtopic>
</fxdita>
The icon changes back and the title disappears (as shown above). The class attribute for my specialized topic (fxtopic) shows as:
and the class attribute for my topic (not specialized) remains as:
Re: Specialization Breaking the Maps Manager Title
Posted: Fri Jul 29, 2011 10:20 am
by sorin_ristache
bpopp wrote:The icon changes back and the title disappears (as shown above). The class attribute for my specialized topic (fxtopic) shows as:
In the current version (12.2) only the files with a
dita root element are accepted as DITA composites. I think Oxygen should relax this condition and accept any root element name as long as the
class attribute of each child element of the root contains
We will consider that for a future version of Oxygen.
Thank you for the example,
Sorin
Re: Specialization Breaking the Maps Manager Title
Posted: Mon Aug 01, 2011 3:02 pm
by Radu
Hi Brian,
The DITA 1.2 specification (true also for older DITA versions) for
<dita> composites:
http://docs.oasis-open.org/dita/v1.2/os ... .html#dita
states:
Inheritance
Not a specializable DITA element.
So according to the specification you cannot specialize on
<dita> to become
<fxdita> as it has no
class attribute.
Regards,
Radu
Re: Specialization Breaking the Maps Manager Title
Posted: Tue Aug 02, 2011 12:17 am
by bpopp
I did not know that. I guess the only way to add specializations to the composite would be to change the ditabase.dtd. Seems kinda cludgy. I think I'll just avoid using composites. Thanks for the information.