Saltearse al contenido

CLI del schema

El script mondrian-schema envuelve la herramienta Java mondrian.schema.yaml.SchemaCli para que no tenga que recordar una larga invocación mvn exec:java. Úselo para convertir schemas XML existentes a YAML, convertir YAML de vuelta a XML para el despliegue, o validar un archivo de schema antes de guardarlo en Saiku.


Comandos

to-yaml — convertir XML a YAML

Ventana de terminal
./scripts/mondrian-schema to-yaml <input.xml> [-o output.yaml]

Lee un schema Mondrian-4 XML y escribe la representación YAML equivalente. Si se omite -o, el YAML se escribe a stdout.

Ejemplo — convertir FoodMart:

Ventana de terminal
./scripts/mondrian-schema to-yaml demo/FoodMart.mondrian.xml -o demo/FoodMart.yaml

Ejemplo — vista previa sin guardar:

Ventana de terminal
./scripts/mondrian-schema to-yaml demo/FoodMart.mondrian.xml | head -40

to-xml — convertir YAML a XML

Ventana de terminal
./scripts/mondrian-schema to-xml <input.yaml> [-o output.xml]

Lee un schema Mondrian-4 YAML y escribe el XML equivalente. Si se omite -o, el XML se escribe a stdout. Esta es la misma conversión que el motor de Saiku ejecuta automáticamente en tiempo de ejecución — ejecutarla manualmente es útil para inspeccionar la salida antes de desplegar o para migrar de vuelta a una toolchain nativa de XML.

Ejemplo — convertir de vuelta a XML:

Ventana de terminal
./scripts/mondrian-schema to-xml demo/FoodMart.yaml -o FoodMart-generated.xml

Ejemplo — pipe a un diff para verificar la fidelidad del round-trip:

Ventana de terminal
./scripts/mondrian-schema to-xml demo/FoodMart.yaml | diff demo/FoodMart.mondrian.xml -

lint — validar un archivo de schema

Ventana de terminal
./scripts/mondrian-schema lint <input.{yaml,xml}>

Parsea y valida un archivo de schema — YAML o XML. Los errores y advertencias se escriben a stderr. En caso de éxito, el comando sale silenciosamente con código 0.

Ejemplo — validar un schema YAML:

Ventana de terminal
./scripts/mondrian-schema lint demo/FoodMart.yaml

Ejemplo — validar un schema XML:

Ventana de terminal
./scripts/mondrian-schema lint demo/FoodMart.mondrian.xml

Códigos de salida

CódigoSignificado
0Éxito — sin errores
1Argumentos incorrectos o archivo de entrada ausente
2Fallo de parseo o validación — diagnóstico escrito a stderr

Estos códigos son adecuados para uso en pipelines CI y hooks pre-guardado.


Flujos típicos

  1. Convierta su schema XML existente a YAML:

    Ventana de terminal
    ./scripts/mondrian-schema to-yaml my-schema.xml -o my-schema.yaml
  2. Valide el YAML para confirmar que es válido:

    Ventana de terminal
    ./scripts/mondrian-schema lint my-schema.yaml
  3. Revise y anote my-schema.yaml con comentarios, luego súbalo a Saiku mediante la página de Schemas.


Requisitos previos

El script requiere:

  • Java — disponible en $PATH (misma versión de JVM usada para construir el proyecto)
  • Maven — para la construcción inicial del classpath; no se necesita después de que exista la caché
  • El repositorio mondrian-saiku clonado localmente (el script es parte de ese repo, no un binario independiente)

Relacionado

  • Schemas YAML — la referencia completa de elementos YAML.
  • Schemas — suba y gestione schemas en el dashboard de Saiku.
  • Diseñador de schemas — genere un schema a partir de una descripción en lenguaje natural.