/// Dictionary<string, string> parameters = new Dictionary<string, string>();
///
/// parameters[SessionParameter.BindingType] = BindingType.Browser;
/// parameters[SessionParameter.BrowserUrl] = "http://localhost/cmis/browser";
/// parameters[SessionParameter.Password] = "admin";
/// parameters[SessionParameter.User] = "admin";
/// parameters[SessionParameter.RepositoryId] = "1234-abcd-5678";
///
/// SessionFactory factory = SessionFactory.NewInstance();
/// ISession session = factory.CreateSession(parameters);
///
/// Connect to an AtomPub CMIS endpoint:
///
/// Dictionary<string, string> parameters = new Dictionary<string, string>();
///
/// parameters[SessionParameter.BindingType] = BindingType.AtomPub;
/// parameters[SessionParameter.AtomPubUrl] = "http://localhost/cmis/atom";
/// parameters[SessionParameter.Password] = "admin";
/// parameters[SessionParameter.User] = "admin";
/// parameters[SessionParameter.RepositoryId] = "1234-abcd-5678";
///
/// SessionFactory factory = SessionFactory.NewInstance();
/// ISession session = factory.CreateSession(parameters);
///
///
/// DateTime cal = ...
/// IFolder folder = ...
///
/// IQueryStatement qs =
/// Session.CreateQueryStatement("SELECT ?, ? FROM ? WHERE ? > TIMESTAMP ? AND IN_FOLDER(?) OR ? IN (?)");
///
/// qs.SetProperty(1, "cmis:document", "cmis:name");
/// qs.SetProperty(2, "cmis:document", "cmis:objectId");
/// qs.SetType(3, "cmis:document");
///
/// qs.SetProperty(4, "cmis:document", "cmis:creationDate");
/// qs.SetDateTime(5, cal);
///
/// qs.SetId(6, folder);
///
/// qs.SetProperty(7, "cmis:document", "cmis:createdBy");
/// qs.SetString(8, "bob", "tom", "lisa");
///
/// string statement = qs.ToQueryString();
///
/// input | ///first level escaping | ///second level escaping | ///
---|---|---|
* | ///* | ///* | ///
? | ///? | ///? | ///
- | ///- | ///- | ///
\ | ///\\ | ///\\\\ /// (for any other character following other than///?-) |
///
\* | ///\* | ///\\* | ///
\? | ///\? | ///\\? | ///
\- | ///\- | ///\\-+ | ///
' | ///\' | ///\\\' | ///
" | ///\" | ///\\\" | ///