 //    func apply(elem: ONOXMLElement)
 }
 
-public class S3DXSDAttribute: S3DXSDNode {
-    public var name: String
-    public var type: S3DXSDType
-    // public var value: AnyObject
-    public var attributes: [String: S3DXSDNode] = [:]
-    
-    public required init(type: S3DXSDType, elem: ONOXMLElement) {
-        self.type = type
-        self.name = elem.valueForAttribute("name") as! String
-    }
-    
-}
+//public class S3DXSDAttribute: S3DXSDNode {
+//    public var name: String
+//    public var type: S3DXSDType
+//    // public var value: AnyObject
+//    public var attributes: [String: S3DXSDNode] = [:]
+//    
+//    public required init(type: S3DXSDType, elem: ONOXMLElement) {
+//        self.type = type
+//        self.name = elem.valueForAttribute("name") as! String
+//    }
+//    
+//}
 
 public class S3DMtlEnum: S3DXSDNode {
     public var name: String
     public var type: S3DXSDType
     public var attributes: [String: S3DXSDNode] = [:]
+    public var children: [String: S3DXSDNode] = [:]
     public var values: [String:Int] = [:]
     
     public required init(type: S3DXSDType, elem: ONOXMLElement) {

    case MtlDescriptorElement(name: String)
    case MtlDescriptorType(name: String)
//    case XSDAttribute(name: String) // do i realllly need attribute?
    case XSDAttributeGroup(name: String)
    
    //methods to construct document selector for dependency
    

            if let node = getNode(nodeType) {
            } else {
                let node = createNode(nodeType, elem: el)
            }
            
            // - check for node definition already
