Subject: Re: [xsl] Compare logical expressions with XPath/XSLT From: "Liam R. E. Quin liam@xxxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 7 Mar 2019 18:35:21 -0000 |
On Thu, 2019-03-07 at 15:54 +0000, Michael MC<ller-Hillebrand mmh@xxxxxxxxx wrote: > We have larger objects (documents) and many child objects (chapters), > and both can have a property, let's call it "Project Name". The task > is to find conflicts between the document's and the chapter's project > setting. Behind each project name there is a configurable boolean > expression using AND, OR and NOT, which defines whether two projects > may match or not. One approach might be to translate the constraints to a constraint language -- alloy, prolog, etc -- and let that do the work. This looks a lot like configuration management (wasn't the service modeling language, SML, in this area?). But you could also categorize the products into compatibility sets: whenever there's a P that requires A AND NOT B, A and B must be in separate sets for P, and any product Q that requires B and that is itself required means you have a conflict. Since this is transitive, i'd possibly write a recursive function to compute it for one product, and then call that on each product in turn. But ibm saying that without having thought abuot it very deeply. There's a lot of redundancy; use the saxon memo pragma. The word subset is perhaps confusing; better to say the constraints are not mutually satisfiable. Liam -- Liam Quin, https://www.delightfulcomputing.com/ Available for XML/Document/Information Architecture/XSLT/ XSL/XQuery/Web/Text Processing/A11Y training, work & consulting. Web slave for vintage clipart http://www.fromoldbooks.org/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Compare logical expressio, Michael Müller-Hille | Thread | Re: [xsl] Compare logical expressio, David Carlisle d.p.c |
Re: [xsl] Xsl stylesheet version =1, Michael Kay mike@xxx | Date | Re: [xsl] Compare logical expressio, David Carlisle d.p.c |
Month |