| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | 'use strict';exports.type = 'perItem';exports.active = true;exports.description = 'removes editors namespaces, elements and attributes';var editorNamespaces = require('./_collections').editorNamespaces,    prefixes = [];exports.params = {    additionalNamespaces: []};/** * Remove editors namespaces, elements and attributes. * * @example * <svg xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"> * <sodipodi:namedview/> * <path sodipodi:nodetypes="cccc"/> * * @param {Object} item current iteration item * @param {Object} params plugin params * @return {Boolean} if false, item will be filtered out * * @author Kir Belevich */exports.fn = function(item, params) {    if (Array.isArray(params.additionalNamespaces)) {        editorNamespaces = editorNamespaces.concat(params.additionalNamespaces);    }    if (item.elem) {        if (item.isElem('svg')) {            item.eachAttr(function(attr) {                if (attr.prefix === 'xmlns' && editorNamespaces.indexOf(attr.value) > -1) {                    prefixes.push(attr.local);                    // <svg xmlns:sodipodi="">                    item.removeAttr(attr.name);                }            });        }        // <* sodipodi:*="">        item.eachAttr(function(attr) {            if (prefixes.indexOf(attr.prefix) > -1) {                item.removeAttr(attr.name);            }        });        // <sodipodi:*>        if (prefixes.indexOf(item.prefix) > -1) {            return false;        }    }};
 |