【踩坑】activiti工作流的svg-xml解析报错
1、问题记录
工作流配置画模板的时候保存成功但是部署报错。
IE下 activiti工作流解析xml报错 type "path" must be followed by either attribute specifications, ">" or "/>"
Chrome和Firefox正常
2、问题定位
2.1 服务端是同一台服务器同一个实例,IE报错,谷歌没报错,先检查比对两个浏览器在服务端的报文
执行:服务端比对IE请求和谷歌请求报文,内容格式基本相同。检查path标签是否闭合。
结果:所有path标签都以>或/>闭合,用compare beyond比对仅是属性值的不同。内容太多,比对工具也没法很清晰的比对不同的地方。
2.2 比对法不好比对结果,用xmlspy来校验IE下xml数据
结果:IE的xml中svg的属性marker-end和marker-start的值中有双引号嵌套双引号的情况 "url("#....")" ,下一步定位为什么IE下属性值会出现双引号
2.3、分析WEB前端代码,找到nodevalue取值,再找到nodevalue赋值的地方
2.4、这里可以看到markerEndUrl是没有带引号的,而调用setAttributeNS方法后,path上的属性就变成 "url("#....")"
IE: "url(#....)" setAttributeNS后:"url("#....")"
Chrome: "url(#....)" setAttributeNS后:"url(#....)"
3、问题解决
3.1 setAttributeNS方法初步定为是IE内核上nativecode,寻找polyfill
结果:百度 谷歌 stackflow上没有找到很好的解决方法,转为在取值时修改双引号
3.2 对marker-end和marker-start取值时特殊处理
结尾:定为问题还是从报错的上下文开始定位,一开始以为是IE的编码问题,再请求部分绕了很大一圈。
xml的问题用一些xml校验工具比较实在,类似json的数据也是
setAttributeNS这种IE和Chrome下有差异的处理方法 ,猜测是因为()引起,毕竟有很多场景下元素上会有 onclick="fun('aaa')",这里不知道是不是IE做了多余的处理。 有知道准确答案的同学麻烦解惑下,谢谢~
【踩坑】activiti工作流的svg-xml解析报错的更多相关文章
- 两个关于XML解析报错问题小记
Caused by: org.xml.sax.SAXParseException: The string "--" is not permitted within comments ...
- Tensorflow踩坑之tf.nn.bidirectional_dynamic_rnn()报错 “ValueError: None values not supported.”
详细解决方法见链接:https://stackoverflow.com/questions/39808336/tensorflow-bidirectional-dynamic-rnn-none-val ...
- 踩坑留印,启动进程遇到报错:/proc/self/fd/9: 2: ulimit: bad number
启动进程,遇到报错: /proc/self/fd/9: 2: ulimit: bad number 分析配置文件内容没有错误. 怀疑可能是文件格式问题,在IDE里面查看,果然是windows格式.ID ...
- 踩坑系列《三》 java -version 报错出现Error occurred during initialization of VM java/lang/NoClassDefFoundError:
之前导入一个项目,因为该项目Spring版本过低,只能适用于1.7版本,装了jdk1.7版本.安装配置好后,打开cmd窗口,执行 java -version 指令发现没像正常一样显示版本信息,而是报了 ...
- maven 的 pom.xml 文件报错:ArtifactTransferException: Failure to transfer
因为maven下载依赖jar包时,特别慢,所以取消了下载过程,再次打开eclipse时,maven的pom.xml文件报错如下: ArtifactTransferException: Failure ...
- 解决:eclipse导入android时工程下没有R文件的问题,以及style.xml文件报错
解决:eclipse导入android时工程下没有R文件的问题,以及style.xml文件报错
- java maven项目 pom.xml plugin 报错, build path 找不到 jconsole-1.8.0.jar 和 tools-1.8.0.jar 包
maven项目pom.xml突然报错,在Java Build Path 中并没有引用的jar包出现在了Maven Dependencies的依赖包中. 这个错误直接导致了pom.xml文件中 < ...
- Maven-pom.xml文件报错 Plugin execution not covered by lifecycle configuration
问题: Eclipse中新导入的项目pom.xml文件报错: Plugin execution not covered by lifecycle configuration: org.jacoco:j ...
- spring框架中beans.xml文件报错XmlBeanDefinitionStoreException
第一次构建spring,实现简单的注入方式,就发生了beans.xml文件报错,报错信息如下图 org.springframework.beans.factory.xml.XmlBeanDefinit ...
- 报错记录(xml抬头报错)
报错记录(xml抬头报错) Referenced file contains errors (http://www.springframework.org/schema/beans/spring-be ...
随机推荐
- Hive实战之Youtube数据集
1 数据来源 本次实战的数据来自于"YouTube视频统计与社交网络"的数据集,是西蒙弗雷泽大学计算机学院在2008年所爬取的数据 数据集地址 1. 1 Youtube视频表格式如 ...
- Dubbo Data length too large: 11557050, max payload: 8388608 传输数据超限
com.alibaba.dubbo.remoting.transport.AbstractCodec.checkPayload() ERROR Data length too large: 11557 ...
- Week 1 # A A + B Problem II
原题描述: A - A + B Problem II I have a very simple problem for you. Given two integers A and B, your jo ...
- 20170722_php_单例模式
<?php class myClass{ private static $obj = null; private function __construc(){ } public static f ...
- SQL Server事务遭遇网络异常时的处理机制浅析
SQL Server数据库中,如果应用程序正在执行一个事务的时候突然遭遇了网络异常,例如网络掉包,网络中断等,那么这个事务会怎么样? SQL Server数据库是通过什么机制来判断处理呢? 估计很多人 ...
- 第一章之s5pv210启动顺序
我所使用的开发板是:友善之臂smart210,cpu为s5pv210.u-boot版本是:u-boot-2012-10 1,首先在u-boot中配置相对应的开发板的配置文件 #make s5p_gon ...
- 初学 Python(十四)——生成器
初学 Python(十四)--生成器 初学 Python,主要整理一些学习到的知识点,这次是生成器. # -*- coding:utf-8 -*- ''''' 生成式的作用: 减少内存占有,不用一次性 ...
- Java之IO流补充
IO流例子 package com.hanqi.maya.util; import java.io.BufferedReader; import java.io.BufferedWriter; imp ...
- 测试环境-memcached安装与说明
一,下载memcached和libevent安装包: 1,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent (这两个包百度上都能找到) 二,安装lib ...
- 关于Spring事务<tx:annotation-driven/>的理解(Controller可以使用@Transactional)
在使用SpringMvc的时候,配置文件中我们经常看到 annotation-driven 这样的注解,其含义就是支持注解,一般根据前缀 tx.mvc 等也能很直白的理解出来分别的作用.<tx: ...