source: ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/common/ComponentElement.as @ 134

Last change on this file since 134 was 134, checked in by patdui, 14 years ago
  • created expanding component that is used to view nested components.
  • enabled a login window to shut off the editor and registration page for now.
File size: 1.4 KB
Line 
1package clarin.cmdi.componentregistry.common {
2        import mx.collections.XMLListCollection;
3
4        [Bindable]
5        public class ComponentElement {
6
7                public var name:String;
8                public var valueScheme:Object;
9                public var conceptLink:String;
10
11                public function ComponentElement() {
12                }
13
14                private static function setValueScheme(value:XML, item:ComponentElement):void {
15                        if (value.hasOwnProperty(ComponentMD.VALUE_SCHEME)) { 
16                                if (value.ValueScheme.hasOwnProperty(ComponentMD.PATTERN)) {
17                                        var d:Object = value.ValueScheme.pattern
18                                        item.valueScheme = d.name() + "(" + d.text().toXMLString() + ")";
19                                } else if (value.ValueScheme.hasOwnProperty(ComponentMD.ENUMERATION)) {
20                                        item.valueScheme = new XMLListCollection(value.ValueScheme.enumeration.*);
21                                }
22                        } else if (value.hasOwnProperty("@"+ComponentMD.VALUE_SCHEME)) {
23                                item.valueScheme = value.@ValueScheme;
24                        } else if (value.hasOwnProperty(ComponentMD.TYPE)) {
25                                item.valueScheme = value.Type;
26                        }
27                }
28
29                public static function createAttributeItem(attribute:XML):ComponentElement {
30                        var item:ComponentElement = new ComponentElement();
31                        item.name = attribute.Name;
32                        item.valueScheme = attribute.Type;
33                        return item;
34                }
35
36                public static function createElementItem(element:XML):ComponentElement {
37                        var item:ComponentElement = new ComponentElement();
38                        item.name = element.@name;
39                        setValueScheme(element, item);
40                        item.conceptLink = element.@ConceptLink;
41                        return item;
42                }
43
44        }
45}
Note: See TracBrowser for help on using the repository browser.