public override string GetAttribute(LdmlAttribute attr) { if (attr == LdmlAttribute.Type) { return(_length.ToCode()); } return(null); }
public override string GetAttribute(LdmlAttribute attr) { if (attr == LdmlAttribute.Type) { return(_unit.Name); } return(null); }
protected override bool HandleAttribute(LdmlAttribute attr, string value) { switch (attr) { case LdmlAttribute.Type: _currency = base.Document.Loader.FindCurrency(value); return(true); } return(base.HandleAttribute(attr, value)); }
protected override bool HandleAttribute(LdmlAttribute attr, string value) { if (!base.HandleAttribute(attr, value)) { if (attr == LdmlAttribute.Type) { _unit = Document.GetOrCreateUnit(value); } } return(true); }
protected override bool HandleAttribute(LdmlAttribute attr, string value) { if (!base.HandleAttribute(attr, value)) { if (attr == LdmlAttribute.Type) { if (!Enum.TryParse(value, true, out _length)) { throw new FormatException("Invalid length unit " + value); } } } return(true); }
internal static string GetValue(this LdmlAttributeValue[] attributes, LdmlAttribute name) { if (attributes != null) { for (int i = 0; i < attributes.Length; i++) { if (attributes[i].Name == name) { return(attributes[i].Value); } } } return(null); }
public string SelectNodeKeyText(string keyValue, LdmlAttribute attr, params string[] entries) { LdmlNode root = SelectNode(entries); if (root != null) { foreach (LdmlNode node in root.Children) { if (node.GetAttribute(attr).SameName(keyValue)) { return(node.Value ?? ""); } } } return(""); }
//private NodePath( int level, Entry[] entries ) { // Level = level; // _entries = entries; //} public static LdmlAttributeValue[] ParseAttrs(string attrText, List <LdmlAttributeValue> attrList) { int idx = attrText.IndexOf('='); if (idx > 0) { string name = attrText.Substring(1, idx - 1); LdmlAttribute attrName = LdmlUtil.GetAttribute(name); string value = attrText.Substring(idx + 1); if (value.Length > 2) { if (value[0] == '\'' && value[value.Length - 1] == '\'') { value = value.Substring(1, value.Length - 2); attrList.Add(new LdmlAttributeValue(attrName, value)); } else { Debug.WriteLine(value); } } } return(attrList.ToArray()); }
public abstract string GetAttribute(LdmlAttribute attr);
protected virtual bool HandleAttribute(LdmlAttribute attr, string value) { return(false); }
public void Load(string nodeName, LdmlDocument document, XmlReader reader, LdmlNode parent) { _document = document; _parent = parent; _code = nodeName; if (reader.MoveToFirstAttribute()) { List <LdmlAttributeValue> list = null; while (true) { string name = reader.Name; string value = reader.Value; LdmlAttribute attr = LdmlUtil.GetAttribute(name); if (attr == LdmlAttribute.Draft) { _draftStatus = CldrUtil.GetDraftStatus(value); } else if (!HandleAttribute(attr, value)) { if (list == null) { list = new List <LdmlAttributeValue>(); } list.Add(new LdmlAttributeValue(attr, value)); } if (!reader.MoveToNextAttribute()) { break; } } reader.MoveToElement(); if (list != null) { Attributes = list.ToArray(); } } //ReadChildren( reader ); if (reader.IsEmptyElement) { return; } while (reader.Read()) { var type = reader.NodeType; if (type == XmlNodeType.Element) { if (reader.Name == "alias") { _document.ReadAlias(reader, this); } else { _document.ReadNode(reader, this); //_nodes.Add( node ); } } else if (type == XmlNodeType.Text) { _value = reader.Value; } else if (type == XmlNodeType.EndElement) { break; } } }
protected override bool HandleAttribute(LdmlAttribute attr, string value) { base.HandleAttribute(attr, value); return(true); }
public override string GetAttribute(LdmlAttribute attr) { return(null); }
public LdmlAttributeValue(LdmlAttribute name, string value) { Name = name; Value = value; }
public NodePathEntry(string name, string attrValue, LdmlAttribute attrType = LdmlAttribute.Type) { Name = name; Attributes = new[] { new LdmlAttributeValue(attrType, attrValue) }; }
internal static LdmlNode Select(this LdmlNode root, string name, string filter, LdmlAttribute tp) { if (root != null) { foreach (LdmlNode node in root.Children) { if (node.Name == name && node.GetAttribute(tp) == filter) { return(node); } } } return(null); }