Representación de enlaces telefónicos en HTL según la entrada de un widget de texto enriquecido

Tengo un componente que usa el widget Rich Text Edit (xtype="richtext") en mi proyecto que se usa en todo el sitio como componente de texto predeterminado.

Los usuarios desean poder insertar enlaces telefónicos utilizando eltel Esquema de URI en el texto ingresado usando este componente.

El cuadro de diálogo les permite hacerlo, pero cuando los contenidos de Rich Text Edit se muestran en Sightly / HTL más adelante, elhtml Se utiliza el contexto:

{$text @ context='html'}

Una vez hecho esto, se ignora el valor de mi atributo.

El HTML almacenado en el repositorio es:

 <a href="tel:04242424242">Call us!</a>

Y lo que realmente se representa en la página de la instancia del autor es:

 <a>Call us!</a>

en el editor, la etiqueta se elimina por completo debido al comprobador de enlaces.

Cambiar el contexto aunsafe provoca elhref para rendir pero no es una solución que estoy dispuesto a aceptar. El componente se usa en muchos lugares y quiero asegurarme de que la protección XSS sea suficiente.

¿Hay alguna manera en que pueda afectar la forma en quehtml contexto en HTL trata enlaces telefónicos?

Intenté agregar una expresión regular adicional a la superposición deapps/cq/xssprotection/config.xml:

<regexp name="onsiteURL" value="([\p{L}\p{N}\\\.\#@\$%\+&amp;;\-_~,\?=/!]+|\#(\w)+)"/>
<regexp name="offsiteURL" value="(\s)*((ht|f)tp(s?)://|mailto:)[\p{L}\p{N}]+[\p{L}\p{N}\p{Zs}\.\#@\$%\+&amp;;:\-_~,\?=/!]*(\s)*"/>
<regexp name="telephoneLink" value="tel:\+?[0-9]+"/>

y más adelante:

<attribute name="href">
    <regexp-list>
        <regexp name="onsiteURL"/>
        <regexp name="offsiteURL"/>
        <regexp name="telephoneLink"/>
    </regexp-list>
    <!-- Skipped for brevity -->
</attribute>

pero eso no parece afectar la forma en que Sightly / HTL escapa de las cadenas en elhtml contexto.

También he intentado superponer las reglas Sling xss ubicadas en/libs/sling/xss/config.xml pero tampoco tuve suerte.

¿Cómo puede hacerse esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta