return sXml;
}
然后用这个办法完成转换,在处置错误上IE和FF又有分歧的处置办法,IE比拟简略,有一个parseError属性装载错误信息,errorCode是错误的代码,reason是错误缘由,line是错误的行号,还有其他一些信息,这里只需显示首要的错误信息就可以了,假如犯错了就显示犯错内容,假如没有犯错则显示转换的后果sResult。FF下就比拟复杂一点,用XMLSerializer和XMLSerializer.serializeToString()将xmlDom转换为字符串,再将字符串转换成dom对象,在转换的进程中假如报错,就能获得包括有parsererror的信息,判别获得的字符串的tagName是不是parsererror,假如是则将dom对象再转换成字符串抛出字符串中的内容,假如不是则显示转换的后果sResult。
这里有几个留意点:
a.IE能查验出XML的DTD错误,而FF下只能查验出XML自身的语法错误;
b.由于需求在阅读器下判别错误,最终的后果欠好兼并,能够代码构造上看起来不太合理,这也是无法之举。
用TransformBinder这个类进行封装,便于扩展和修正。TransformBinder.prototype.registerAction这个原型用于注册事情,再用TransformBinder.prototype.bind将事情进行绑定,需求运用这个类的时分,只需求new TransformBinder(XML,XSL),注册transformXSLT事情,再bind进行绑定,如许就完成这个结果了。假如需求扩展,再创立新的结构函数,注册并绑定到这个类上就可以完成结果。
感谢 靓哥 的投稿 本文仅代表作者观点,与楚天站长站立场无关。