Namespace namespace = parsedAttr.getNamespace();
return namespace.acceptVisitor(
new NamespaceVisitor<Attribute>() {
private Attribute defaultVisitNamespace(Namespace ns) {
return new Attribute(parsedAttr, ns, parsedAttr.getName(),
new StringConstant(parsedAttr, null, parsedAttr.getValue()));
}
public Attribute visitCallNamespace(CallNamespace ns) {
throw new Error("TODO(laurence): implement");
}
public Attribute visitCppNamespace(CppNamespace ns) {
return defaultVisitNamespace(ns);
}
public Attribute visitExprNamespace(ExprNamespace ns) {
MultiLanguageAttrValue value = new MultiLanguageAttrValue(parsedAttr.getValue());
return new Attribute(parsedAttr, NullNamespace.INSTANCE,
parsedAttr.getName(),
new NativeExpression(parsedAttr, value));
}
public Attribute visitGxpNamespace(GxpNamespace ns) {
return defaultVisitNamespace(ns);
}
public Attribute visitJavaNamespace(JavaNamespace ns) {
return defaultVisitNamespace(ns);
}
public Attribute visitJavaScriptNamespace(JavaScriptNamespace ns) {
return defaultVisitNamespace(ns);
}
public Attribute visitMsgNamespace(MsgNamespace ns) {
Expression str = new StringConstant(parsedAttr, null, parsedAttr.getValue());
Expression msg = new UnextractedMessage(
parsedAttr, null, new MultiLanguageAttrValue(""), null, null, false, str);
return new Attribute(parsedAttr, NullNamespace.INSTANCE, parsedAttr.getName(),
new ConvertibleToContent(msg));
}
public Attribute visitNoMsgNamespace(NoMsgNamespace ns) {
Expression str = new StringConstant(parsedAttr, null, parsedAttr.getValue());
Expression nomsg = new NoMessage(parsedAttr.getSourcePosition(),
String.format("%s namespace on %s attribute",
ns.getUri(), parsedAttr.getName()),
str);
return new Attribute(parsedAttr, NullNamespace.INSTANCE, parsedAttr.getName(),