<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:Arial;
        color:windowtext;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:121504626;
        mso-list-type:hybrid;
        mso-list-template-ids:-1388390398 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1
        {mso-list-id:946349841;
        mso-list-type:hybrid;
        mso-list-template-ids:3560704 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>For my project, I have made some modifications to meet some
of our requirements.&nbsp; I&#8217;d be interested in contributing
generally-useful changes to the project, but I&#8217;m not sure about some of
the change I&#8217;d like to see.&nbsp; I had some questions about the code
base.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<ul style='margin-top:0in' type=disc>
 <li class=MsoNormal style='margin-bottom:12.0pt;mso-list:l0 level1 lfo1'><font
     size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>What is
     the utility of having a SAX and DOM version of the scan?&nbsp; Right now,
     I&#8217;m basically calling into the DOM scanner directly, as I have my
     own DOM edits I need to do.</span></font> <font size=2 face=Arial><span
     style='font-size:10.0pt;font-family:Arial'><o:p></o:p></span></font></li>
 <li class=MsoNormal style='mso-list:l0 level1 lfo1'><font size=2 face=Arial><span
     style='font-size:10.0pt;font-family:Arial'>Is there really that much
     demand for Java 1.4 compatibility?&nbsp; I&#8217;d prefer a Java 5+ code
     base.&nbsp; There are also some code cleanups that would be worthwhile
     (using spaces instead of hard tabs is one example).</span></font> <font
     size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'><o:p></o:p></span></font></li>
</ul>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Note that none of this affects the policy file and its
processing.&nbsp; That is great.&nbsp; I changed the API (slightly) to make the
Anti-Samy processing more extensible <i><span style='font-style:italic'>without</span></i>
touching the policy file processing.&nbsp; Adding everyone&#8217;s ad-hoc
requirements as policy file options will quickly make Anti-Samy overcomplicated
and difficult to use (a barrier to acceptance).<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>There are some other changes that would make it easier to
embed:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<ul style='margin-top:0in' type=disc>
 <li class=MsoNormal style='margin-bottom:12.0pt;mso-list:l1 level1 lfo2'><font
     size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Following
     IOC (inversion of control) configuration design patterns<o:p></o:p></span></font></li>
 <li class=MsoNormal style='margin-bottom:12.0pt;mso-list:l1 level1 lfo2'><font
     size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Using
     DOM3 APIs instead of directly referencing Xerces classes.&nbsp; (Not sure
     how to do HTML instead of XHTML output with that, though.)<o:p></o:p></span></font></li>
 <li class=MsoNormal style='mso-list:l1 level1 lfo2'><font size=2 face=Arial><span
     style='font-size:10.0pt;font-family:Arial'>Allowing the caller to set the
     ResourceBundle.&nbsp; It would also help if the i18n keys had a better
     namespace, like starting with &#8220;antisamy.&#8221;&nbsp; The
     ResourceBundle could use the provided properties file, or it could us
     something else (we have our own i18n system that we&#8217;d prefer.)</span></font>
     <font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'><o:p></o:p></span></font></li>
</ul>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Is anyone interested in these updates/structural
changes?&nbsp; If not, I can fork the code (I&#8217;d rather not, for obvious
reasons.)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>