Я пытаюсь добавить <linearGradient>
(с большой буквы G) к элементу SVG, используя Dart (dartlang.org). Результатом является элемент <lineargradient>
(со строчной буквой g).
Браузеры (Firefox и Chromium) не отображают это правильно, им требуется заглавная буква G для правильной работы linearGradient.
Как использовать Dart для добавления фрагмента html без преобразования результата в нижний регистр?
Есть ли другая функция для добавления фрагментов (SVG), которую я упустил?
Мой код до сих пор:
SvgSvgElement svg = new SvgSvgElement();
SvgElement defsElement = new SvgElement.tag('defs');
svg.append(defsElement);
var str = '''
<linearGradient id="def_2" x1="2557" y1="5281" x2="2603" y2="5253" gradientUnits="userSpaceOnUse" spreadMethod="repeat">
<stop offset="0" stop-color="#f32b2b" />
<stop offset="0.75993413" stop-color="#fcc0c0" />
<stop offset="1" stop-color="#df2323" />
</linearGradient>
''';
Element element = new Element.html(
str,
validator: new NodeValidatorBuilder()
..allowElement('linearGradient', attributes: ['id', 'x1', 'y1', 'x2', 'y2', 'gradientUnits', 'spreadMethod'])
..allowElement('stop', attributes: ['offset', 'stop-color', 'stop-opacity'])
);
defsElement.append(element);
Спасибо за любую помощь,
С уважением,
Хендрик Ян