Altova RaptorXML+XBRL Server 2024

Este ejemplo de código C# se divide en varias partes:

 

Preparación e inicialización del objeto .NET de RaptorXML

Validación de un archivo XML

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() );

           }

       }

   }

}

 

© 2017-2023 Altova GmbH