<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Dear Amanda,</p>
<p>Using Schematron for validating these requirements is indeed a
better approach because the validation is done on a separate
execution thread and doesn't affect the layout.When a rule is
broken, the visual indicator is a squiggly yellow line (or red, if
you want to mark it as an error) which is pretty close to the way
you are currently marking the element in the CSS rule (a yellow
background). <br>
</p>
<p><img src="cid:part1.C15E7287.9CAD6572@sync.ro" alt=""></p>
<p>A CSS rule will give you more options on how to mark the error:
colors, borders etc. Do you find the Schematron error marking (the
yellow squiggly underline) enough or you would prefer to be able
to change it to something else?<br>
</p>
<p>Another option would be to use our Java based API and set a <tt>StylesFilter</tt>
[1] and change the background color from there. In such an
extension point you can directly navigate the author node model
which is faster than executing an XPath. <br>
</p>
<p>[1]
<a class="moz-txt-link-freetext" href="https://www.oxygenxml.com/doc/versions/19.1/ug-editor/topics/dg-author-css-styles-filter.html">https://www.oxygenxml.com/doc/versions/19.1/ug-editor/topics/dg-author-css-styles-filter.html</a><br>
</p>
<pre class="moz-signature" cols="72">Best regards,
Alex
--
Alex Jitianu
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
<a class="moz-txt-link-freetext" href="http://www.oxygenxml.com">http://www.oxygenxml.com</a> </pre>
<div class="moz-cite-prefix">On 3/9/2018 8:47 PM, Amanda Galtman
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:BLUPR05MB192151205F8857C1CD59EBF183DE0@BLUPR05MB1921.namprd05.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">We’ve had a request from an author to make
the formatting in the Author view indicate when the text of a
certain element type does not match the text of something else
found inside the same topic. I can do this via Oxygen CSS, but
I am concerned that the processing slows down the opening of
large documents. I’m not convinced that CSS is a good way to
address the underlying requirement about helping authors
detect when something does not have a textual match as
expected (e.g., maybe Schematron or a build warning would be
more appropriate).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Before I give up, though, I wanted to see
if anyone had specific ideas or techniques I might have
overlooked.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Here’s an example of variations I tried
that work too slowly in large documents, just to give you the
flavor.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#006648;background:white;mso-highlight:white">/*
true => 255*1 => white</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:black;background:white;mso-highlight:white"><br>
</span><span style="font-size:12.0pt;font-family:"Times
New
Roman",serif;color:#006648;background:white;mso-highlight:white">*
false => 255*0 => yellow */</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:black;background:white;mso-highlight:white"><br>
</span><span style="font-size:12.0pt;font-family:"Times
New
Roman",serif;color:#640050;background:white;mso-highlight:white">refentry</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#960000;background:white;mso-highlight:white">[</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#640050;background:white;mso-highlight:white">role</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#640032;background:white;mso-highlight:white">=</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:blue;background:white;mso-highlight:white">"function"</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#960000;background:white;mso-highlight:white">]</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:black;background:white;mso-highlight:white">
</span><span style="font-size:12.0pt;font-family:"Times
New
Roman",serif;color:#640050;background:white;mso-highlight:white">literal</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:black;background:white;mso-highlight:white">
</span><span style="font-size:12.0pt;font-family:"Times
New
Roman",serif;color:#960000;background:white;mso-highlight:white">{</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:black;background:white;mso-highlight:white">
<br>
</span><span style="font-size:12.0pt;font-family:"Times
New
Roman",serif;color:#1E6496;background:white;mso-highlight:white">background-color</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#640032;background:white;mso-highlight:white">:</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:black;background:white;mso-highlight:white">
</span><span style="font-size:12.0pt;font-family:"Times
New
Roman",serif;color:#000096;background:white;mso-highlight:white">oxy_xpath(</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:black;background:white;mso-highlight:white">
<br>
</span><span style="font-size:12.0pt;font-family:"Times
New
Roman",serif;color:blue;background:white;mso-highlight:white">"concat('rgb(255,255,',
255 * number(. = ancestor::refentry//term or .='') , ')')"</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#000096;background:white;mso-highlight:white">,</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:black;background:white;mso-highlight:white"><br>
</span><span style="font-size:12.0pt;font-family:"Times
New
Roman",serif;color:#000096;background:white;mso-highlight:white">evaluate,dynamic-once)</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#640032;background:white;mso-highlight:white">;</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:black;background:white;mso-highlight:white"><br>
</span><span style="font-size:12.0pt;font-family:"Times
New
Roman",serif;color:#960000;background:white;mso-highlight:white">}</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#960000"><o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#960000"><o:p> </o:p></span></p>
<p class="MsoNormal">Alternate:<o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#960000"><o:p> </o:p></span></p>
<p class="MsoNormal"
style="background:white;text-autospace:none"><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#640050;background:white;mso-highlight:white">refentry</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#960000;background:white;mso-highlight:white">[</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#640050;background:white;mso-highlight:white">role</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#640032;background:white;mso-highlight:white">=</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:blue;background:white;mso-highlight:white">"function"</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#960000;background:white;mso-highlight:white">]</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:black;background:white;mso-highlight:white">
</span><span style="font-size:12.0pt;font-family:"Times
New
Roman",serif;color:#640050;background:white;mso-highlight:white">literal</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:black;background:white;mso-highlight:white">
</span><span style="font-size:12.0pt;font-family:"Times
New
Roman",serif;color:#960000;background:white;mso-highlight:white">{</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:black;background:white;mso-highlight:white">
<br>
</span><span style="font-size:12.0pt;font-family:"Times
New
Roman",serif;color:#1E6496;background:white;mso-highlight:white">background-color</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#640032;background:white;mso-highlight:white">:</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:black;background:white;mso-highlight:white">
</span><span style="font-size:12.0pt;font-family:"Times
New
Roman",serif;color:#000096;background:white;mso-highlight:white">oxy_xpath(</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:black;background:white;mso-highlight:white">
<br>
</span><span style="font-size:12.0pt;font-family:"Times
New
Roman",serif;color:blue;background:white;mso-highlight:white">"if
(exists(text()) and not(some $n in
ancestor::refentry/refsect1[@role=('inputs','outputs')]//term
satisfies string($n)=.)) then ('yellow') else ('')"</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#000096;background:white;mso-highlight:white">,</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:black;background:white;mso-highlight:white"><br>
</span><span style="font-size:12.0pt;font-family:"Times
New
Roman",serif;color:#000096;background:white;mso-highlight:white">evaluate,dynamic-once)</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:#640032;background:white;mso-highlight:white">;</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:black;background:white;mso-highlight:white"><br>
</span><span style="font-size:12.0pt;font-family:"Times
New
Roman",serif;color:#960000;background:white;mso-highlight:white">}</span><span
style="font-size:12.0pt;font-family:"Times New
Roman",serif;color:black;background:white;mso-highlight:white"><br>
<br>
</span><span style="font-size:12.0pt;font-family:"Times
New Roman",serif;background:white;mso-highlight:white"><o:p></o:p></span></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Amanda<o:p></o:p></p>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
oXygen-user mailing list
<a class="moz-txt-link-abbreviated" href="mailto:oXygen-user@oxygenxml.com">oXygen-user@oxygenxml.com</a>
<a class="moz-txt-link-freetext" href="https://www.oxygenxml.com/mailman/listinfo/oxygen-user">https://www.oxygenxml.com/mailman/listinfo/oxygen-user</a>
</pre>
</blockquote>
<br>
</body>
</html>