@@ -93,11 +93,14 @@ local.setDocument = function(document){
93
93
starSelectsComments = ( testNode . getElementsByTagName ( '*' ) . length > 1 ) ;
94
94
95
95
// IE returns closed nodes (EG:"</foo>") for getElementsByTagName('*') for some documents
96
- try {
97
- testNode . innerHTML = 'foo</foo>' ;
98
- selected = testNode . getElementsByTagName ( '*' ) ;
99
- starSelectsClosed = ( selected && ! ! selected . length && selected [ 0 ] . nodeName . charAt ( 0 ) == '/' ) ;
100
- } catch ( e ) { }
96
+ // Should never inject incorrect markup on XML documents
97
+ if ( ! features . isXMLDocument ) {
98
+ try {
99
+ testNode . innerHTML = 'foo</foo>' ;
100
+ selected = testNode . getElementsByTagName ( '*' ) ;
101
+ starSelectsClosed = ( selected && ! ! selected . length && selected [ 0 ] . nodeName . charAt ( 0 ) == '/' ) ;
102
+ } catch ( e ) { }
103
+ }
101
104
102
105
features . brokenStarGEBTN = starSelectsComments || starSelectsClosed ;
103
106
@@ -136,11 +139,14 @@ local.setDocument = function(document){
136
139
137
140
if ( testNode . querySelectorAll ) {
138
141
// IE 8 returns closed nodes (EG:"</foo>") for querySelectorAll('*') for some documents
139
- try {
140
- testNode . innerHTML = 'foo</foo>' ;
141
- selected = testNode . querySelectorAll ( '*' ) ;
142
- features . starSelectsClosedQSA = ( selected && ! ! selected . length && selected [ 0 ] . nodeName . charAt ( 0 ) == '/' ) ;
143
- } catch ( e ) { }
142
+ // Should never inject incorrect markup on XML documents
143
+ if ( ! features . isXMLDocument ) {
144
+ try {
145
+ testNode . innerHTML = 'foo</foo>' ;
146
+ selected = testNode . querySelectorAll ( '*' ) ;
147
+ features . starSelectsClosedQSA = ( selected && ! ! selected . length && selected [ 0 ] . nodeName . charAt ( 0 ) == '/' ) ;
148
+ } catch ( e ) { }
149
+ }
144
150
145
151
// Safari 3.2 querySelectorAll doesnt work with mixedcase on quirksmode
146
152
try {
0 commit comments