can't implement new DITA profiling attributes

This should cover W3C XML Schema, Relax NG and DTD related problems.
natepm
Posts: 2
Joined: Fri Jun 24, 2011 3:05 pm

can't implement new DITA profiling attributes

Post by natepm »

I'm using oxygenxml 12. "edit profiling attributes > configure profiling attributes..." allows me to set up new ones, but when I apply them to a topic document, I get a validaiton error:
SystemID: /home/nate/Oxygen XML Editor 12/samples/dita/garage/sequence.ditamap
Engine name: Xerces
Severity: error
Description: Attribute "sdfds" must be declared for element type "topicref".
Start location: 12:59
End location: 12:70

Any tips?
Radu
Posts: 9051
Joined: Fri Jul 09, 2004 5:18 pm

Re: can't implement new DITA profiling attributes

Post by Radu »

Hi,

The new added DITA profiling attributes also need to be defined in the DITA DTDs and supported by the DITA Open Toolkit processing.

Our GUI is flexible in allowing to add more DITA profiling attributes in order to be able to use conditional profiling when users specialize the DITA DTDs to allow for the extra profiling attributes but we do not automatically generate a specialization of the DITA DTDs if you add new profiling attributes using our GUI, this has to be done separately by you.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
natepm
Posts: 2
Joined: Fri Jun 24, 2011 3:05 pm

Re: can't implement new DITA profiling attributes

Post by natepm »

Fair enough, but how do I see which DTDs are being used by Oxygen so I know where to apply changes?
Radu
Posts: 9051
Joined: Fri Jul 09, 2004 5:18 pm

Re: can't implement new DITA profiling attributes

Post by Radu »

Hi,

By default Oxygen uses the XML catalog from the bundled DITA Open Toolkit:
OXYGEN_INSTALL_DIR/frameworks/dita/DITA-OT/catalog-dita.xml
to validate DITA topics.

If you open a DITA topic in Oxygen there is an action on the toolbar called Open External Schema which opens the associated DTD.

But DITA specialization is an art in itself, specializations usually are not made on the DTDs themselves but separately and then catalog entries are added to make them work properly.

Eliot Kimber has a very good about DITA specializations using Oxygen:
http://www.xiruss.org/tutorials/dita-specialization/

which has a chapter treating how new profiling attributes can be added:
http://www.xiruss.org/tutorials/dita-sp ... ocess.html

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
ann.jensen
Posts: 295
Joined: Wed Jun 17, 2015 10:19 am

Re: can't implement new DITA profiling attributes

Post by ann.jensen »

Hi,
Is this reply still valid for Oxygen 18.1?
Thanks,
Ann
Radu
Posts: 9051
Joined: Fri Jul 09, 2004 5:18 pm

Re: can't implement new DITA profiling attributes

Post by Radu »

Hi Ann,

Yes, and the answer will be the same for any Oxygen version.
In order to define a new profiling attribute for DITA content you need to specialize the DITA DTDs, so this cannot be done only using Oxygen's settings.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
ann.jensen
Posts: 295
Joined: Wed Jun 17, 2015 10:19 am

Re: can't implement new DITA profiling attributes

Post by ann.jensen »

Ok, thanks Radu.
I will reuse the audience profiling attribute for me needs so.
I have a group of attribute values where 1 or more may apply for a given topic. If I assign those attribute values to the topic, how do I ensure that the topic is only included in the publications for those values?
e.g.

Code: Select all

<topicref href="c_it_17.4_rel_notes_mod.dita">
<topicref href="c_it_17.4_aiip_rel_notes.dita"/>
<topicref href="c_vendor_reassign.dita" audience="guardian solid"/>
<topicref href="c_dates_added_services_main_mod.dita" audience="guardian solid"/>
<topicref href="c_photo_download_rel_note.dita"/>
<topicref href="c_invoice_photos_rel_note.dita"/>
When I apply release_notes_solid.ditaval which contains the following code

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<val>
<prop action="include" att="audience" val="solid"/>
</val>
I only want the topics that have audience group including solid value to be published. It is currently including all topics irrelevant of audience attribute values.
Any advice appreciated,
Regards,
Ann
ann.jensen
Posts: 295
Joined: Wed Jun 17, 2015 10:19 am

Re: can't implement new DITA profiling attributes

Post by ann.jensen »

Hi Radu,
Now that I have asked you, I have found the answer :-)
I see in https://www.oxygenxml.com/dita/1.3/spec ... l-val.html that I can include

Code: Select all

 <prop action="exclude" att="audience"/>
to exclude all audience props first of all and then I can include the ones I want to include.
Regards,
Ann
Radu
Posts: 9051
Joined: Fri Jul 09, 2004 5:18 pm

Re: can't implement new DITA profiling attributes

Post by Radu »

Hi Ann,

Right, by default the DITAVAL file includes everything so you need a rule which excludes everything for an attribute followed by one which allows particular values.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
Sano
Posts: 11
Joined: Mon Jan 19, 2015 11:11 am

Re: can't implement new DITA profiling attributes

Post by Sano »

Thanks for adding the "Choose Condition Set" browser to Oxygen 19.
Now we are able to pick profiling sets from our large library very fast.
This is the most important improvement for us!
:D
Radu
Posts: 9051
Joined: Fri Jul 09, 2004 5:18 pm

Re: can't implement new DITA profiling attributes

Post by Radu »

Hi,

I'm glad this feature is useful for you, if you find any problems with it just let us know...

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