OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

dita-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Enhancing filtering logic



We stumbled across the limitations of the current filtering logic in DITA during a recent customer project. I found the following discussion in the Yahoo DITA Users group that makes some interesting suggestions to enhance the filtering logic and make it more versatile. We support these proposals. Basically it would allow switching the AND and OR behavior and introducing a kind of NOT operator. Would that be feasible?


Best regards,




Managing filtering logic


Filtering logic for attributes and values


The filtering of attributes and values follows a fixed logical combining behavior.


Combining several attributes in a filtering situation:

All attributes must be “true” to process the element (AND logic).

<ph type=”tree” color=”green”>…</ph>

(@type AND @color must be true to process the element)


Combining several values within one attribute in a filtering situation:

Only one of the listed values must be true to process the element (OR logic).

<ph product=”ProdA ProdB ProdC” >…</ph>

(only one of the listed “Prod…” values must be true to process the element)


We would like to give authors the chance to change the filtering logic because it depends on the filtering situation which logic is needed.


<ph type=”tree” color=”green” or-profiling-logic=”type color”>Process me if type is tree or color is green.</ph>


<ph feature=”all-values(wlan bluetooth nfc)” >Process me if all listed wireless-features are set</ph>


The “other-than” logic


Sometimes we want to filter-in a text fragment only if a specific value is NOT set (regardless other values of this attribute are set or not).



Normally, if you want to exclude content for only one product (e. g. ProdA) you have to filter all other products in, like:


<ph product=”ProdB ProdC ProdD … ProdN” >Text for non-ProdA products</ph>


This is very difficult to manage.


We would like to say:

<ph product=”if-not(ProdA)”/>

This fragment would be processed if @product is empty or any other value than “ProdA” is set.



Source: https://groups.yahoo.com/neo/groups/dita-users/conversations/topics/42463







Frank Ralf

Technical Consultant



Phone: +49 40 7200 500-30

E-Mail: frank.ralf@parson-europe.com




parson AG

Chrysanderstraße 69A, 21029 Hamburg, Germany


Sitz und Registergericht/Domicile and Court of Registry: Hamburg; HRB-Nr./Commercial Register No.: 126569

Vorsitzender des Aufsichtsrates/Chairman of the Supervisory Board: Dirk Lindberg


Vorstand/CEO: Ulrike Parson

Phone: +49 40 7200 500-0

E-Mail: contact@parson-europe.com

Web: http://www.parson-europe.com


The information contained in this message is confidential and may be legally privileged. The message is intended solely for the addressee(s). If you are not the intended recipient, you are hereby notified that any use, dissemination, or reproduction is strictly prohibited and may be unlawful. If you are not the intended recipient, please contact the sender by return e-mail and destroy all copies of the original message.


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]