Trying to create a modifier for OpenCart breadcrumb 3 — where I went wrong?

Good day!
Trying to create my first modifier for breadcrumb in OpenCart 3. And it even works, but with a small error.
The template has code
<div class="breadcrumbs">
 <div class="container">
 <ul class="breadcrumb">
 {% for breadcrumb in breadcrumbs %}
 the <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
 {% endfor %}

I change this code
<?xml version="1.0" encoding="UTF-8"?>
 <name><!--[CDATA[Microdata BreadcrumbList OC 3.0.x]]--></name>
 <file path="catalog/language/ru-ru/ru-ru.php">
 <operation info="Fix for Font Awesome">
 <i class="fa fa-home"-->
 <add position="replace"><!--[CDATA[
 <i class="fa fa-home"--><span style="display:none">Home</span>
 <file path="catalog/view/theme/*/template/{product,information,checkout,account}/*.twig">
 <operation error="skip">
 <ul class="breadcrumb"-->
 <add position="replace"><!--[CDATA[
 <ul class="breadcrumb" itemscope itemtype=""-->
 {% for key,breadcrumb in breadcrumbs %} 
 <li itemprop="itemListElement" itemscope itemtype="">
 <a itemscope itemtype="" itemprop="item" href="{{ breadcrumb['href'] }}">
 <span itemprop="name">{{ breadcrumb['text'] }}</span>
 <meta itemprop="position" content="{{ key+1 }}">
 {% endfor %} 


Their task performs modifier = adds a data markup But after another li from the source code that duplicate page links.
Where did I go wrong?
Why the modifier does not completely replace the source code of its own?

Thank you!
June 8th 19 at 16:49
1 answer
June 8th 19 at 16:51
<add position="replace" offset=" number of rows"></add>

Find more questions by tags OpenCart