     
 }
 
-class XmlSchema {
+public class XmlSchema {
     private var schema:xmlSchemaPtr = nil
-    init(){}
-    init(path: String){
+    public init(){}
+    public init(path: String){
         let parser = XmlSchemaParser(path:path)
         self.schema = parser.parse()
     }

        deinit{
            xmlSchemaFreeValidCtxt(self.context)
        }
        func validate(doc:XmlDoc) -> Bool {
            return xmlSchemaValidateDoc(self.context, doc.doc) == 0
        }
    }
    
    func validate(doc:XmlDoc) -> Bool {
        let validater = XmlSchemaValidater(schema: self)
        return validater.validate(doc)
    }

    }
}

public class XmlNode {
    private var node : xmlNodePtr = nil
    
    public init( node: xmlNodePtr){
        self.node = node
    }
    // TODO:impliment
    public var namespace : XmlNameSpace {
        get {
            return XmlNameSpace()
        }
    }
    public var attribute : XmlAttribute {
        get {
            let attr = XmlAttribute(attribute: self.node.memory.properties)
            return attr
        }
    }
    public var attributes : [String: String] {
        get {
            var dictonary = [String: String]()
            var attr = attribute
