HTMLHint.addRule({id:'kses',description:'Element or attribute cannot be used.',init:function(parser,reporter,options){'use strict';parser.addListener('tagstart',(event)=>{const tagName=event.tagName.toLowerCase();if(!options[tagName]){reporter.error(`Tag <${ event.tagName }> is not allowed.`,event.line,event.col,this,event.raw);return;}
const allowedAttributes=options[tagName];const column=event.col+event.tagName.length+1;for(const attribute of event.attrs){if(!allowedAttributes[attribute.name.toLowerCase()]){reporter.error(`Tag attribute [${ attribute.raw }] is not allowed.`,event.line,column+attribute.index,this,attribute.raw);}}});},});