@xmldom/xmldom 0.7.9 → 0.7.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/sax.js CHANGED
@@ -12,7 +12,7 @@ var tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\:
12
12
  //S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE
13
13
  //S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE
14
14
  var S_TAG = 0;//tag name offerring
15
- var S_ATTR = 1;//attr name offerring
15
+ var S_ATTR = 1;//attr name offerring
16
16
  var S_ATTR_SPACE=2;//attr name end and space offer
17
17
  var S_EQ = 3;//=space?
18
18
  var S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only)
@@ -36,7 +36,7 @@ ParseError.prototype = new Error();
36
36
  ParseError.prototype.name = ParseError.name
37
37
 
38
38
  function XMLReader(){
39
-
39
+
40
40
  }
41
41
 
42
42
  XMLReader.prototype = {
@@ -66,7 +66,7 @@ function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){
66
66
  function entityReplacer(a){
67
67
  var k = a.slice(1,-1);
68
68
  if(k in entityMap){
69
- return entityMap[k];
69
+ return entityMap[k];
70
70
  }else if(k.charAt(0) === '#'){
71
71
  return fixedFromCharCode(parseInt(k.substr(1).replace('x','0x')))
72
72
  }else{
@@ -95,7 +95,7 @@ function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){
95
95
  var lineEnd = 0;
96
96
  var linePattern = /.*(?:\r\n?|\n)|.*$/g
97
97
  var locator = domBuilder.locator;
98
-
98
+
99
99
  var parseStack = [{currentNSMap:defaultNSMapCopy}]
100
100
  var closeMap = {};
101
101
  var start = 0;
@@ -120,7 +120,7 @@ function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){
120
120
  var tagName = source.substring(tagStart + 2, end).replace(/[ \t\n\r]+$/g, '');
121
121
  var config = parseStack.pop();
122
122
  if(end<0){
123
-
123
+
124
124
  tagName = source.substring(tagStart+2).replace(/[\s<].*/,'');
125
125
  errorHandler.error("end tag name: "+tagName+' is not complete:'+config.tagName);
126
126
  end = tagStart+1+tagName.length;
@@ -147,7 +147,7 @@ function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){
147
147
  }else{
148
148
  parseStack.push(config)
149
149
  }
150
-
150
+
151
151
  end++;
152
152
  break;
153
153
  // end elment
@@ -166,8 +166,8 @@ function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){
166
166
  //elStartEnd
167
167
  var end = parseElementStartPart(source,tagStart,el,currentNSMap,entityReplacer,errorHandler);
168
168
  var len = el.length;
169
-
170
-
169
+
170
+
171
171
  if(!el.closed && fixSelfClosed(source,end,el.tagName,closeMap)){
172
172
  el.closed = true;
173
173
  if(!entityMap.nbsp){
@@ -297,7 +297,9 @@ function parseElementStartPart(source,start,el,currentNSMap,entityReplacer,error
297
297
  el.closed = true;
298
298
  case S_ATTR_NOQUOT_VALUE:
299
299
  case S_ATTR:
300
- case S_ATTR_SPACE:
300
+ break;
301
+ case S_ATTR_SPACE:
302
+ el.closed = true;
301
303
  break;
302
304
  //case S_EQ:
303
305
  default:
@@ -431,7 +433,7 @@ function appendElement(el,domBuilder,currentNSMap){
431
433
  }
432
434
  //can not set prefix,because prefix !== ''
433
435
  a.localName = localName ;
434
- //prefix == null for no ns prefix attribute
436
+ //prefix == null for no ns prefix attribute
435
437
  if(nsPrefix !== false){//hack!!
436
438
  if(localNSMap == null){
437
439
  localNSMap = {}
@@ -441,7 +443,7 @@ function appendElement(el,domBuilder,currentNSMap){
441
443
  }
442
444
  currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value;
443
445
  a.uri = NAMESPACE.XMLNS
444
- domBuilder.startPrefixMapping(nsPrefix, value)
446
+ domBuilder.startPrefixMapping(nsPrefix, value)
445
447
  }
446
448
  }
447
449
  var i = el.length;
@@ -453,7 +455,7 @@ function appendElement(el,domBuilder,currentNSMap){
453
455
  a.uri = NAMESPACE.XML;
454
456
  }if(prefix !== 'xmlns'){
455
457
  a.uri = currentNSMap[prefix || '']
456
-
458
+
457
459
  //{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)}
458
460
  }
459
461
  }
@@ -504,7 +506,7 @@ function parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBui
504
506
  domBuilder.characters(text,0,text.length);
505
507
  return elEndStart;
506
508
  //}
507
-
509
+
508
510
  }
509
511
  }
510
512
  return elStartEnd+1;
@@ -521,7 +523,7 @@ function fixSelfClosed(source,elStartEnd,tagName,closeMap){
521
523
  closeMap[tagName] =pos
522
524
  }
523
525
  return pos<elStartEnd;
524
- //}
526
+ //}
525
527
  }
526
528
 
527
529
  function _copy (source, target) {
@@ -555,11 +557,11 @@ function parseDCC(source,start,domBuilder,errorHandler){//sure start with '<!'
555
557
  var end = source.indexOf(']]>',start+9);
556
558
  domBuilder.startCDATA();
557
559
  domBuilder.characters(source,start+9,end-start-9);
558
- domBuilder.endCDATA()
560
+ domBuilder.endCDATA()
559
561
  return end+3;
560
562
  }
561
563
  //<!DOCTYPE
562
- //startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
564
+ //startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
563
565
  var matchs = split(source,start);
564
566
  var len = matchs.length;
565
567
  if(len>1 && /!doctype/i.test(matchs[0][0])){
@@ -577,7 +579,7 @@ function parseDCC(source,start,domBuilder,errorHandler){//sure start with '<!'
577
579
  var lastMatch = matchs[len-1]
578
580
  domBuilder.startDTD(name, pubid, sysid);
579
581
  domBuilder.endDTD();
580
-
582
+
581
583
  return lastMatch.index+lastMatch[0].length
582
584
  }
583
585
  }
@@ -626,7 +628,7 @@ ElementAttributes.prototype = {
626
628
  getValue:function(i){return this[i].value}
627
629
  // ,getIndex:function(uri, localName)){
628
630
  // if(localName){
629
- //
631
+ //
630
632
  // }else{
631
633
  // var qName = uri
632
634
  // }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xmldom/xmldom",
3
- "version": "0.7.9",
3
+ "version": "0.7.11",
4
4
  "description": "A pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSerializer module.",
5
5
  "keywords": [
6
6
  "w3c",