Subject scheme map: Profiling attribute values not picked up

Frank Ralf
Posts: 344
Location: Hamburg

Subject scheme map: Profiling attribute values not picked up

Thu Apr 20, 2017 6:45 pm

Hi,

I'm using a subject scheme map to provide controlled values for a profiling attribute. However, I encounter a very strange behavior as some values are not picked up from the subject scheme map and are marked as invalid if used. In addition, I've also defined the values in oXygen's Profiling Settings on project level. Of the following subject definitions, "pkc" and "puf" don't show up as valid values.

Code: Select all

<subjectdef keys="pkc" />
<subjectdef keys="pkc_OFF" />
<subjectdef keys="puf" />
<subjectdef keys="puf_OFF" />


This strange behavior is reproducible on another machine when using the same oXygen project file. When using the same subject scheme in another oXygen project everything works as expected. Therefore I suspect the error being caused by the project file itself but I cannot find anything suspicious when peeking under the hood. This starts to drive me crazy ;-)

Any pointers welcome.

Best regards,
Frank


(oXygen 16.1, Windows 7)
Frank Ralf
parson AG
www.parson-europe.com
Radu
Posts: 5209

Re: Subject scheme map: Profiling attribute values not picked up

Fri Apr 21, 2017 8:48 am

Hi Frank,

If you email us (support@oxygenxml.com) a small project exhibiting this problem we could give you more hints.
If your main DITA Map (opened in the DITA Maps manager view or selected in the Root Map combo box) references directly or indirectly the subject scheme map, controlled values will only be obtained from the Subject Scheme map so the values that you set in the Oxygen preferences for those same attributes should be ignored completely.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
Frank Ralf
Posts: 344
Location: Hamburg

Re: Subject scheme map: Profiling attribute values not picked up

Tue Apr 25, 2017 2:46 pm

Hi Radu,

Thanks for your kind help. I will try to create a project that exhibits this behavior and send it to your support address.

Best regards,
Frank
Frank Ralf
parson AG
www.parson-europe.com
Frank Ralf
Posts: 344
Location: Hamburg

Re: Subject scheme map: Profiling attribute values not picked up

Wed Apr 26, 2017 3:58 pm

I've found the culprit. We have defined a key that is identical with a subject definition. And as both are specialized from <topicref> they get in each other's way.

So if you have the following subject scheme:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE subjectScheme
  PUBLIC "-//OASIS//DTD DITA Subject Scheme Map//EN" "subjectScheme.dtd">
<subjectScheme xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/">

  <subjectdef keys="audience_options">
    <subjectdef keys="homer" />
    <subjectdef keys="lisa" />
    <subjectdef keys="marge" />
  </subjectdef>

  <enumerationdef>
    <attributedef name="audience" />
    <subjectdef keyref="audience_options" />
  </enumerationdef>

</subjectScheme>


And the following key definition:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd">
<map>
 <title>Mystery key definitions</title>
 
  <keydef keys="lisa">
    <topicmeta>
      <keywords>
        <keyword>Lisa Simpson</keyword>
      </keywords>
    </topicmeta>
  </keydef>
 
</map>


Then "lisa" will not be shown as an allowed value.

Best regards,
Frank
Frank Ralf
parson AG
www.parson-europe.com
Frank Ralf
Posts: 344
Location: Hamburg

Re: Subject scheme map: Profiling attribute values not picked up

Wed Apr 26, 2017 4:06 pm

An additional observation. The order of the references to the key definitions and the subject scheme in the top map seem to matter:

Works: Subject scheme > Key definitions
Does not work: Key definitions > Subject scheme

Best regards,
Frank
Frank Ralf
parson AG
www.parson-europe.com
Radu
Posts: 5209

Re: Subject scheme map: Profiling attribute values not picked up

Wed Apr 26, 2017 4:41 pm

Hi Frank,

Right, without key scopes according to the specs the first key with a particular name encountered by the application when traversing the DITA Maps hierarchy will be used.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
Frank Ralf
Posts: 344
Location: Hamburg

Re: Subject scheme map: Profiling attribute values not picked up

Wed Apr 26, 2017 6:31 pm

Hi Radu,

I've tried key scopes with this use case and they work like a charm. Unfortunately, we are still using DITA 1.2 with this customer.

Best regards,
Frank
Frank Ralf
parson AG
www.parson-europe.com

Return to “DITA (Editing and Publishing DITA Content)”

Who is online

Users browsing this forum: No registered users and 1 guest