public IXmlAttributeValue Parse(IXmlAttributeValue xmlAttributeValue) { ReferenceNameAttributeValue attributeValue = new ReferenceNameAttributeValue(); CompositeElement result = null; string rawValue = xmlAttributeValue.UnquotedValue; try { result = ParseTypeNameOrAttributeValue(rawValue); } catch (SyntaxError syntaxError) { result = (CompositeElement)syntaxError.ParsingResult; result = handleError(result, syntaxError); } attributeValue.AddChild(new XmlToken(L4NTokenNodeType.QUOTE, new StringBuffer(new string('\"', 1)), 0, 1)); attributeValue.AddChild(result); int resultLegth = result.GetText().Length; if(resultLegth < rawValue.Length) { string suffix = rawValue.Substring(resultLegth); StringBuffer sb = new StringBuffer(suffix); XmlToken suffixToken = new XmlToken(L4NTokenNodeType.TEXT , sb, 0, suffix.Length); attributeValue.AddChild(suffixToken); } attributeValue.AddChild(new XmlToken(L4NTokenNodeType.QUOTE, new StringBuffer(new string('\"', 1)), 0, 1)); return attributeValue; }
public IXmlAttributeValue ParseReferenceName(IXmlAttributeValue xmlAttributeValue) { ReferenceNameAttributeValue attributeValue = new ReferenceNameAttributeValue(); return ParseAttributeValueAspect(xmlAttributeValue, attributeValue, ParseTypeNameOrAttributeValue); }