@@ -839,11 +839,15 @@ export class XsltTokenDiagnostics {
839
839
case XSLTokenLevelState . entityRef :
840
840
let entityName = XsltTokenDiagnostics . getTextForToken ( lineNumber , token , document ) ;
841
841
let validationResult ;
842
- ( { validationResult, entityName } = XsltTokenDiagnostics . validateEntityRef ( entityName , dtdEnded , inheritedPrefixes ) ) ;
843
- if ( validationResult !== NameValidationError . None ) {
844
- token [ 'error' ] = ErrorType . EntityName ;
845
- token [ 'value' ] = entityName ;
842
+ if ( token . error ) {
846
843
problemTokens . push ( token ) ;
844
+ } else {
845
+ ( { validationResult, entityName } = XsltTokenDiagnostics . validateEntityRef ( entityName , dtdEnded , inheritedPrefixes ) ) ;
846
+ if ( validationResult !== NameValidationError . None ) {
847
+ token [ 'error' ] = ErrorType . EntityName ;
848
+ token [ 'value' ] = entityName ;
849
+ problemTokens . push ( token ) ;
850
+ }
847
851
}
848
852
case XSLTokenLevelState . processingInstrValue :
849
853
if ( isXMLDeclaration ) {
@@ -1320,12 +1324,16 @@ export class XsltTokenDiagnostics {
1320
1324
}
1321
1325
break ;
1322
1326
case TokenLevelState . entityRef :
1323
- let validationResult , entityName ;
1324
- ( { validationResult, entityName } = XsltTokenDiagnostics . validateEntityRef ( token . value , dtdEnded , inheritedPrefixes ) ) ;
1325
- if ( validationResult !== NameValidationError . None ) {
1326
- token [ 'error' ] = ErrorType . EntityName ;
1327
- token [ 'value' ] = entityName ;
1327
+ if ( token . error ) {
1328
1328
problemTokens . push ( token ) ;
1329
+ } else {
1330
+ let validationResult , entityName ;
1331
+ ( { validationResult, entityName } = XsltTokenDiagnostics . validateEntityRef ( token . value , dtdEnded , inheritedPrefixes ) ) ;
1332
+ if ( validationResult !== NameValidationError . None ) {
1333
+ token [ 'error' ] = ErrorType . EntityName ;
1334
+ token [ 'value' ] = entityName ;
1335
+ problemTokens . push ( token ) ;
1336
+ }
1329
1337
}
1330
1338
break ;
1331
1339
}
0 commit comments