[oXygen-user] [OXYGEN-9425] Association Rules in frameworks
Scott Prentice
sp14 at leximation.com
Wed Oct 18 11:24:29 CDT 2023
Thanks, Radu!
That's sorta what I was assuming, but wanted to make sue there wasn't
some special reason that entry was needed for "all" DITA-based
frameworks. Yes, after removing the "DITATopicCustomRuleMatcher" java
class entry, the matching seems to work as expected. Nice. Simple is
good. :-)
And, regarding he gremlin behavior .. so far I'm not seeing anything
unexpected. Perhaps I was being careless at the end of the day .. hard
to believe, I know. Fingers crossed.
All the best,
Scott
On 10/17/23 11:19 PM, Oxygen XML Editor Support (Radu Coravu) wrote:
> Hi Scott,
>
> The "DITATopicCustomRuleMatcher" java class is where the magic happens :)
>
> It's quite hard to identify a DITA topic or map, it could use the base
> public IDs or it could refer to specialization DTDs, it could have
> various root element names, but the "DITATopicCustomRuleMatcher" Java
> class looks at various default attributes specified in the DTD like
> the "ditaarch:DITAArchVersion" attribute to decide if an opened XML
> document is actually a DITA topic or map.
>
> https://www.oxygenxml.com/InstData/Editor/SDK/javadoc/ro/sync/ecss/extensions/dita/topic/DITATopicCustomRuleMatcher.html#matches(java.lang.String,java.lang.String,java.lang.String,java.lang.String,org.xml.sax.Attributes)
>
>
> So with this extra rule added at the end of all other rules, our base
> "DITA" and "DITA Map" frameworks will be applied on any kind of
> specialized DITA XML topic or map, without the end user having to
> create a special DITA framework extension to match their type of
> documents.
>
> But once people start to create DITA framework extensions (like you
> do) for special DTD public ID, this extra rule placed at the end would
> no longer be necessary to you because you know that your topics and
> maps refer to specific DTDs. So I think it's correct that you are only
> using some very specific association rules in your DITA framework
> customization which no longer include our "DITATopicCustomRuleMatcher"
> class.
>
> About this behavior:
>
>> but I think I'm seeing that after I remove all but the necessary
>> rules from a particular framework, after some time, additional rules
>> are added. When I close and save the framework, sometime later I go
>> back and there are rules that match on Root Local Name .. concept,
>> task, reference, etc. .. I'd swear I didn't add those. Do I have
>> gremlins, or is this a feature?
> This would be a bug, but we would need some way to consistently
> reproduce it.
>
> Regards,
>
> Radu
>
> Radu Coravu
> Oxygen XML Editor
>
> On 10/18/23 01:54, Scott Prentice wrote:
>> I've got two different DITA models that are similar, and each may be
>> edited at the same time in Oxygen. Their DTDs are different and use
>> different Public IDs. I'm developing a framework for each which
>> applies slightly different schematron validation and CSS styling.
>> It's my understanding that I should be able to target each model
>> using the Association Rules, and in general this seems to work fine.
>>
>> Since I'm trying to be very specific about which documents are to use
>> each framework, I thought I'd keep the Association Rules to a
>> minimum, basically just the specific Public IDs. It's my
>> understanding that if a document matches any one of these rules, the
>> framework will be applied .. so no need to include extra match rules
>> .. right?
>>
>> One association rule that I see on many DITA frameworks is a Java
>> Class rule of ..
>>
>> ro.sync.ecss.extensions.dita.topic.DITATopicCustomRuleMatcher
>>
>> Can someone tell me what this does and is it needed in all cases?
>>
>> Also .. and I may be mistaken .. but I think I'm seeing that after I
>> remove all but the necessary rules from a particular framework, after
>> some time, additional rules are added. When I close and save the
>> framework, sometime later I go back and there are rules that match on
>> Root Local Name .. concept, task, reference, etc. .. I'd swear I
>> didn't add those. Do I have gremlins, or is this a feature?
>>
>> Thanks!
>>
>> ...scott
>>
>>
>>
>> _______________________________________________
>> oXygen-user mailing list
>> oXygen-user at oxygenxml.com
>> https://www.oxygenxml.com/mailman/listinfo/oxygen-user
>
> _______________________________________________
> oXygen-user mailing list
> oXygen-user at oxygenxml.com
> https://www.oxygenxml.com/mailman/listinfo/oxygen-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.oxygenxml.com/pipermail/oxygen-user/attachments/20231018/f7f4bbb5/attachment.htm>
More information about the oXygen-user
mailing list