Next in thread → Next in month →

Re: [dita-comment] Enhancing filtering logic

From
Kristen James Eberlein <>
Date
2018-06-18T00:08:57+00:00
ID
Thread
Re: [dita-comment] Enhancing filtering logic
Hi, Ralf.

    
The DITA TC discussed your e-mail at its meeting on 12 June 2018.
      Here is the substance of the discussion:

    
      
General agreement that yes, there are some boolean expressions
        that cannot be handled through DITAVAL.

      
Strong concern that introducing boolean logic for filtering
        who add considerable complexity. (Since the release of DITA 1.2,
        the DITA TC has listed complexity as a factor that must be
        considered in conjunction with any proposals that change the
        standard.) Those TC members with experience with SGML or XML
        schemas that permitted boolean logic were especially vocal.

      
General agreement that a proposal for enhancing filtering to
        use boolean expressions would be considered, but no one present
        at the meeting had the time, interest, or business requirements
        necessary to champion such a proposal.

      

    
    
Best,

      Kris

      

      Kristen James Eberlein

      Chair, OASIS DITA Technical Committee

      Principal consultant, Eberlein Consulting

      www.eberleinconsulting.com

      +1 919 622-1501; kriseberlein (skype)

      

    

    
On 6/6/2018 11:44 AM, Frank Ralf wrote:

    

    
      
      
      
      
      

        
Hi,

        
 

        
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,

        
Frank

        
 

        
 

        
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).

        
 

        
Example:

        
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: 
          

        
_______________________________________________________________

        
 

        

        
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:
            

        
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.
Next in thread → Next in month →