Ejemplo de .NET: C#
Este ejemplo de código C# se divide en varias partes:
•Preparación e inicialización del objeto .NET de RaptorXML
•Transformación XSLT y devolución del resultado en forma de cadena de texto
•Procesamiento de un documento XQuery y devolución del resultado en forma de archivo
•Preparar la secuencia de ejecución del código y su punto de entrada
using System;
using System.Text;
using Altova.RaptorXMLServer;
namespace RaptorXMLRunner
{
class Program
{
// El objeto .NET de RaptorXML
static ServerClass objRaptorXMLServer;
// Inicializar el objeto .NET de RaptorXML
static void Init()
{
// Asignar un objeto de RaptorXML
objRaptorXMLServer = new ServerClass();
// Configurar el servidor: notificación de errores, nombre y puerto del servidor HTTP
// (IPv6 localhost en este ejemplo)
objRaptorXMLServer.ErrorLimit = 1;
objRaptorXMLServer.ReportOptionalWarnings = true;
objRaptorXMLServer.ServerName = "::1"
objRaptorXMLServer.ServerPort = 8087
}
// Validar un archivo
static void ValidateXML()
{
// Obtener una instancia del motor de validación del objeto servidor
XMLValidator objXMLValidator = objRaptorXMLServer.GetXMLValidator();
// Configurar los datos de entrada
objXMLValidator.InputFileName = "MyXMLFile.xml";
// Validar; si el archivo no es válido,
notificar el problema devuelto por RaptorXML
if ( objXMLValidator.IsValid() )
Console.WriteLine( "La cadena de entrada no es válida" );
else
Console.WriteLine( objXMLValidator.LastErrorMessage );
}
// Realizar una transformación XSLT y
// devolver el resultado en forma de cadena de texto
static void RunXSLT()
{
// Obtener una instancia del motor XSLT del objeto servidor
XSLT objXSLT = objRaptorXMLServer.GetXSLT();
// Configurar los datos de entrada
objXSLT.InputXMLFileName = "MiArchivoXML.xml";
objXSLT.XSLFileName = "MiTransformación.xsl";
// Ejecutar la transformación.
// Si se ejecuta correctamente, el resultado se devuelve.
// Si hay errores, se emite una lista de errores
Console.WriteLine( objXSLT.ExecuteAndGetResultAsString() );
}
// Ejecutar un XQuery y guardar el resultado en un archivo
static void RunXQuery()
{
// Obtener una instancia del motor XQuery del objeto servidor
XQuery objXQuery = objRaptorXMLServer.GetXQuery();
// Configurar los datos de entrada
objXQuery.InputXMLFileName = exampleFolder + "simple.xml";
objXQuery.XQueryFileName = exampleFolder + "CopyInput.xq";
// Configurar la serialización (opcional si quiere mejorar el formato de salida)
objXQuery.OutputEncoding = "UTF8"
objXQuery.OutputIndent = true
objXQuery.OutputMethod = "xml"
objXQuery.OutputOmitXMLDeclaration = false
// Ejecutar la consulta. El resultado se serializa en la ruta de acceso indicada
objXQuery.Execute( "MyQueryResult.xml" );
}
static void Main(string[] args)
{
try
{
// Punto de entrada. Realizar todas las funciones
Init();
ValidateXML();
RunXSLT();
RunXQuery();
}
catch (System.Exception ex)
{
Console.WriteLine( ex.Message );
Console.WriteLine( ex.ToString() );
}
}
}
}