@@ -7,7 +7,7 @@ import {Parser, AST, ASTWithSource} from 'angular2/src/core/change_detection/cha
77import { TemplateBinding } from 'angular2/src/core/change_detection/parser/ast' ;
88import { CompileDirectiveMetadata } from './directive_metadata' ;
99import { HtmlParser } from './html_parser' ;
10- import { splitHtmlTagNamespace } from './html_tags' ;
10+ import { splitNsName } from './html_tags' ;
1111import { ParseSourceSpan , ParseError , ParseLocation } from './parse_util' ;
1212
1313
@@ -216,7 +216,7 @@ class TemplateParseVisitor implements HtmlAstVisitor {
216216 }
217217 } ) ;
218218
219- var lcElName = splitHtmlTagNamespace ( nodeName . toLowerCase ( ) ) [ 1 ] ;
219+ var lcElName = splitNsName ( nodeName . toLowerCase ( ) ) [ 1 ] ;
220220 var isTemplateElement = lcElName == TEMPLATE_ELEMENT ;
221221 var elementCssSelector = createElementCssSelector ( nodeName , matchableAttrs ) ;
222222 var directives = this . _createDirectiveAsts (
@@ -687,13 +687,17 @@ class Component {
687687
688688function createElementCssSelector ( elementName : string , matchableAttrs : string [ ] [ ] ) : CssSelector {
689689 var cssSelector = new CssSelector ( ) ;
690+ let elNameNoNs = splitNsName ( elementName ) [ 1 ] ;
691+
692+ cssSelector . setElement ( elNameNoNs ) ;
690693
691- cssSelector . setElement ( elementName ) ;
692694 for ( var i = 0 ; i < matchableAttrs . length ; i ++ ) {
693- var attrName = matchableAttrs [ i ] [ 0 ] ;
694- var attrValue = matchableAttrs [ i ] [ 1 ] ;
695- cssSelector . addAttribute ( attrName , attrValue ) ;
696- if ( attrName == CLASS_ATTR ) {
695+ let attrName = matchableAttrs [ i ] [ 0 ] ;
696+ let attrNameNoNs = splitNsName ( attrName ) [ 1 ] ;
697+ let attrValue = matchableAttrs [ i ] [ 1 ] ;
698+
699+ cssSelector . addAttribute ( attrNameNoNs , attrValue ) ;
700+ if ( attrName . toLowerCase ( ) == CLASS_ATTR ) {
697701 var classes = splitClasses ( attrValue ) ;
698702 classes . forEach ( className => cssSelector . addClassName ( className ) ) ;
699703 }
0 commit comments