Christopher Jackson created KNOX-623:
----------------------------------------

             Summary: Gateway provider rewriter doesn't support boolean 
attributes in HTML.
                 Key: KNOX-623
                 URL: https://issues.apache.org/jira/browse/KNOX-623
             Project: Apache Knox
          Issue Type: Bug
    Affects Versions: 0.6.0
            Reporter: Christopher Jackson


When enabling 'rewrite' on a service it fails to correctly parse HTML with 
boolean attributes. 

According to w3 it is valid for attributes to not have values, they are known 
as boolean attributes (see link below). The current implementation of the html 
filter rewriter fails to parse boolean attributes which results in those 
attributes being assigned a value of null instead of remaining a boolean 
attribute. 

http://www.w3.org/html/wg/drafts/html/master/infrastructure.html#boolean-attributes

Here's an additional unit test for HtmlFilterReaderBaseTest that shows the 
problem.
{code}
@Test
        public void testBooleanAttribute() throws IOException, 
ParserConfigurationException
        {
                String inputXml = "<html ng-app=\"angularapp\" 
ng-controller=\"AppCtrl\" role=\"application\" aria-labelledBy=\"title\">\n" + 
"<head>\n"
                                + "<title id=\"title\" 
ng-bind=\"pageTitle\"></title>\n" + "</head>\n" + "<body>\n" + "<div 
class=\"container\">\n" + "<div ui-view></div>\n"
                                + "</div>\n" + "</body>\n" + "</html>\n";

                StringReader inputReader = new StringReader(inputXml);
                HtmlFilterReaderBase filterReader = new 
NoopXmlFilterReader(inputReader);
                String outputHtml = new 
String(IOUtils.toCharArray(filterReader));
                assertEquals(inputXml, outputHtml);
        }
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to