Esempio n. 1
0
        public override void ReadXml(XmlReader reader)
        {
            base.ReadXml(reader);
            AnnotationTargets = AnnotationTargetSet.Parse(reader.GetAttribute(Attr.targets));
            // In older documents, it's possible for the "type" attribute value to be "-1".
            Type = TypeSafeEnum.ValidateOrDefault(reader.GetEnumAttribute(Attr.type, AnnotationType.text),
                                                  AnnotationType.text);
            Lookup = reader.GetAttribute(Attr.lookup);
            var items = new List <string>();

            if (reader.IsEmptyElement)
            {
                reader.Read();
            }
            else
            {
                reader.Read();
                while (reader.IsStartElement(El.value))
                {
                    items.Add(reader.ReadElementString());
                }
                reader.ReadEndElement();
            }
            _items = MakeReadOnly(items);
        }
Esempio n. 2
0
 public AnnotationDef(string name, AnnotationTargetSet annotationTargets, ListPropertyType listPropertyType, IList <String> items)
     : base(name)
 {
     AnnotationTargets = annotationTargets;
     Type   = listPropertyType.AnnotationType;
     Lookup = listPropertyType.Lookup;
     _items = MakeReadOnly(items) ?? ImmutableList.Empty <string>();
 }
Esempio n. 3
0
        public override void ReadXml(XmlReader reader)
        {
            base.ReadXml(reader);
            AnnotationTargets = AnnotationTargetSet.Parse(reader.GetAttribute(Attr.targets));
            Type = reader.GetEnumAttribute(Attr.type, AnnotationType.text);
            var items = new List <string>();

            if (reader.IsEmptyElement)
            {
                reader.Read();
            }
            else
            {
                reader.Read();
                while (reader.IsStartElement(El.value))
                {
                    items.Add(reader.ReadElementString());
                }
                reader.ReadEndElement();
            }
            _items = MakeReadOnly(items);
        }
Esempio n. 4
0
 public AnnotationDef(String name, AnnotationTargetSet annotationTargets, AnnotationType type, IList <String> items)
     : this(name, annotationTargets, new ListPropertyType(type, null), items)
 {
 }
Esempio n. 5
0
 public AnnotationDef(String name, AnnotationTargetSet annotationTargets, AnnotationType type, IList <String> items) : base(name)
 {
     AnnotationTargets = annotationTargets;
     Type   = type;
     _items = MakeReadOnly(items);
 }