YACAMLQT (Yet another CAML query tool) Redux (3) in CodePlex
Bueno, esta es la última entrega a partir de hoy el proyecto se encuentra en CodePlex (
yacamlqt.codeplex.com).
En esta última parte solo unas pequeñas notas para el usuario final.
Bien, para usar YACAMLQT, dentro de tus proyectos, solo hay que referenciar la dll (
IdeSeg.SharePoint.Caml.QueryParser.dll) y el uso sería el siguiente:
1: try
2: { 3: var parser = new NParser(textTSql, new ASTNodeCAMLFactory());
4: var generator = new CodeGenerator(parser.Parse());
5: generator.Generate();
6: return _formatTools.FormatXml(generator.Code);
7: }
8: catch (ParserException ex)
9: { 10: _view.Status = ex.Message;
11: }
12: catch (ScannerException ex)
13: { 14: _view.Status = ex.Message;
15: }
Instanciamos el Parser (NParser), le pasamos la consulta en TSQL (textSql) y la factoría correspondiente a lo que queremos generar, por el momento solo está disponible la de CAML, en breve completaré la de CAML.Net; Por último inyectamos el Parser en el Generador de código, llamamos al método Generate y recogemos la consulta en CAML en generator.Code.
Las posibles excepciones tanto del Parser como del generador de código se pueden atrapar con ParserException y ScannerException.
En el proyecto se incluye un pequeño subproyecto con una interfaz WinForms (no es que se me de especialmente bien)