Closed Falways closed 3 years ago
Do you fix it?
Do you fix it? Annotated source code, solved my problem! update sax.js
ElementAttributes.prototype = { setTagName:function(tagName){ if(!tagNamePattern.test(tagName)){ throw new Error('invalid tagName:'+tagName) } this.tagName = tagName }, add:function(qName,value,offset){ /*if(!tagNamePattern.test(qName)){ throw new Error('invalid attribute:'+qName) }*/ this[this.length++] = {qName:qName,value:value,offset:offset} }, length:0, getLocalName:function(i){return this[i].localName}, getLocator:function(i){return this[i].locator}, getQName:function(i){return this[i].qName}, getURI:function(i){return this[i].uri}, getValue:function(i){return this[i].value} // ,getIndex:function(uri, localName)){ // if(localName){ // // }else{ // var qName = uri // } // }, // getValue:function(){return this.getValue(this.getIndex.apply(this,arguments))}, // getType:function(uri,localName){} // getType:function(i){}, }
Just in case you didn't notice, the repo is now forked and maintained over at https://github.com/xmldom/xmldom
But as far as I know those attributes with a leading colon are not valid XML. Of course I could be wrong, in which case there is a good chance to get it fixed in xmldom.
Just in case you didn't notice, the repo is now forked and maintained over at https://github.com/xmldom/xmldom
But as far as I know those attributes with a leading colon are not valid XML. Of course I could be wrong, in which case there is a good chance to get it fixed in xmldom.
I use it for parsing Vue HTML-template string. There will be some attributes with leading by colon or '@'. I view your repo and I notice you do the same thing for attribute name. Anyway I use origin DOMParse API back to parse my Vue string. Maybe you could set different condition for origin HTML/XML string or Vue HTML-template string. That's my narrow minded opinion.
@Lhasa23 Thanks for pointing it out. I checked the specs and you are right.
I filed this issue to address in xmldom at some point in the future: https://github.com/xmldom/xmldom/issues/252
I use new DOMParser().parseFromString(htmlData,'text/html') , to parse html, such as:
but I get error! [xmldom error] element parse error: Error: invalid attribute::model @#[line:62,col:9] [xmldom error] element parse error: Error: invalid attribute::loading @#[line:70,col:17]