1 | package 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 | } |
---|