public override void Write(TextWriter output)
{
output.Write('[');
output.Write(Attribute);
switch (Operator)
{
case AttributeOperator.Contains: output.Write("~="); break;
case AttributeOperator.Equals: output.Write('='); break;
case AttributeOperator.Starts: output.Write("|="); break;
default: throw new InvalidOperationException("Unknown Attribute Operator [" + Operator + "]");
}
output.Write(Value);
output.Write(']');
}