/* XMLCATALOG CL command. */ /* */ /* See Copyright for the status of this software. */ /* */ /* Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A. */ /* Interface to program XMLCATLGCL */ CMD PROMPT('XML/SGML catalog tool') /* Catalog file path. */ PARM KWD(INSTMF) TYPE(*PNAME) LEN(5000) VARY(*YES *INT2) + CASE(*MIXED) EXPR(*YES) MIN(1) SPCVAL((*NEW '')) + CHOICE('Stream file path') + PROMPT('XML/SGML catalog file') /* Catalog kind: XML/SGML. */ PARM KWD(KIND) TYPE(*CHAR) LEN(7) VARY(*YES *INT2) + EXPR(*YES) RSTD(*YES) DFT(*XML) + SPCVAL((*XML '') (*SGML '--sgml')) + PROMPT('Catalog kind') /* Output file. */ PARM KWD(OUTSTMF) TYPE(*PNAME) LEN(5000) VARY(*YES *INT2) + CASE(*MIXED) EXPR(*YES) DFT(*STDOUT) + SPCVAL((*STDOUT '') (*INSTMF X'00')) + CHOICE('*STDOUT, *INSTMF or file path') + PROMPT('Output stream file path') /* Convert SGML to XML catalog. */ PARM KWD(CONVERT) TYPE(*CHAR) LEN(10) VARY(*YES *INT2) + RSTD(*YES) SPCVAL((*YES '--convert') (*NO '')) + EXPR(*YES) DFT(*NO) PMTCTL(TYPEXML) + PROMPT('Convert SGML to XML catalog') /* SGML super catalog update. */ PARM KWD(SUPERUPD) TYPE(*CHAR) LEN(17) VARY(*YES *INT2) + SPCVAL((*YES '') (*NO '--no-super-update')) + EXPR(*YES) DFT(*YES) RSTD(*YES) PMTCTL(TYPESGML) + PROMPT('Update the SGML super catalog') /* Verbose/debug output. */ PARM KWD(VERBOSE) TYPE(*CHAR) LEN(4) VARY(*YES *INT2) + RSTD(*YES) SPCVAL((*YES '-v') (*NO '')) + EXPR(*YES) DFT(*NO) + PROMPT('Output debugging information') /* Interactive shell not supported. */ /* Values to delete. */ PARM KWD(DELETE) TYPE(*PNAME) LEN(256) VARY(*YES *INT2) + CASE(*MIXED) MAX(64) EXPR(*YES) + CHOICE('Identifier value') + PROMPT('Delete System/URI identifier') /* Values to add. */ PARM KWD(ADD) TYPE(XMLELEM) MAX(10) PMTCTL(TYPEXML) + PROMPT('Add definition') XMLELEM: ELEM TYPE(*CHAR) LEN(16) VARY(*YES *INT2) DFT(*PUBLIC) + PROMPT('Entry type') + EXPR(*YES) RSTD(*YES) SPCVAL( + (*PUBLIC 'public') + (*SYSTEM 'system') + (*URI 'uri') + (*REWRITESYSTEM 'rewriteSystem') + (*REWRITEURI 'rewriteURI') + (*DELEGATEPUBLIC 'delegatePublic') + (*DELEGATESYSTEM 'delegateSystem') + (*DELEGATEURI 'delegateURI') + (*NEXTCATALOG 'nextCatalog') + ) ELEM TYPE(*PNAME) LEN(256) VARY(*YES *INT2) EXPR(*YES) + CASE(*MIXED) PROMPT('Original reference/file name') ELEM TYPE(*PNAME) LEN(256) VARY(*YES *INT2) EXPR(*YES) + CASE(*MIXED) PROMPT('Replacement entity URI') PARM KWD(SGMLADD) TYPE(SGMLELEM) MAX(10) + PMTCTL(TYPESGML) PROMPT('Add SGML definition') SGMLELEM: ELEM TYPE(*PNAME) LEN(256) VARY(*YES *INT2) EXPR(*YES) + CASE(*MIXED) PROMPT('SGML catalog file name') ELEM TYPE(*PNAME) LEN(256) VARY(*YES *INT2) EXPR(*YES) + CASE(*MIXED) PROMPT('SGML definition') /* Entities to resolve. */ PARM KWD(ENTITY) TYPE(*PNAME) LEN(256) VARY(*YES *INT2) + CASE(*MIXED) EXPR(*YES) MAX(150) + PROMPT('Resolve entity') /* Additional catalog files. */ PARM KWD(CATALOG) TYPE(*PNAME) LEN(5000) VARY(*YES *INT2) + CASE(*MIXED) EXPR(*YES) MAX(150) DFT(*DEFAULT) + CHOICE('Catalog stream file path') + PROMPT('Additional catalog file') SPCVAL( + (*DEFAULT '/etc/xml/catalog') + (*NONE '') + ) /* Conditional prompting. */ TYPEXML: PMTCTL CTL(KIND) COND((*EQ '')) TYPESGML: PMTCTL CTL(KIND) COND((*NE ''))