| /* 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 '')) |