如何将 HTML 文件中的这一行标记为被声纳规则忽略?

How can I mark this line in HTML file to be ignored by sonar rules?

我有一个场景,其中有一个 AEM 模板文件,在这个文件中,我有一个 <li> 元素。换句话说,我有一个生成项目列表的循环。

<template data-sly-template.step>
    <li
        data-sly-use.localStep="MyAdapter"
        data-sly-test="${(wcmmode.edit && localStep.start) || !wcmmode.edit}"

但是,Sonar 的规则 RSPEC-1093 抱怨:

"<li>" and "<dt>" item tags should be in "<ul>", "<ol>" or "<dl>" container tags.

在这种情况下,一旦 <ul> 在模板之外,就不是错误。输出文件是一个生成良好的 HTML 文件,没有错误。

我正在尝试在 html 文件中使用 NOSONAR。我试过 <!-- NOSONAR --><!-- //NOSONAR -->,但没有用。

如何将 HTML 文件中的这一行标记为声纳规则忽略?

我检查了 SonarHTML 插件源代码,据我所知,您必须在应该忽略的行添加 //NOSONAR。在你的情况下应该是:

<template data-sly-template.step>
    <!-- //NOSONAR --><li
        data-sly-use.localStep="MyAdapter"
        data-sly-test="${(wcmmode.edit && localStep.start) || !wcmmode.edit}"

如果您压缩源代码,则该解决方案可以安全使用。如果没有,您必须知道所有这些 <!-- //NOSONAR --> 都将发送给您的客户。这意味着资源使用量会更大(例如网络带宽 - 要发送的字节数更多)。

//NOSONARorg.sonar.plugins.html.visitor.NoSonarScanner 处理: