1/* XMLCATALOG CL command. */ 2/* */ 3/* See Copyright for the status of this software. */ 4/* */ 5/* Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A. */ 6 7/* Interface to program XMLCATLGCL */ 8 9 CMD PROMPT('XML/SGML catalog tool') 10 11 /* Catalog file path. */ 12 13 PARM KWD(INSTMF) TYPE(*PNAME) LEN(5000) VARY(*YES *INT2) + 14 CASE(*MIXED) EXPR(*YES) MIN(1) SPCVAL((*NEW '')) + 15 CHOICE('Stream file path') + 16 PROMPT('XML/SGML catalog file') 17 18 /* Catalog kind: XML/SGML. */ 19 20 PARM KWD(KIND) TYPE(*CHAR) LEN(7) VARY(*YES *INT2) + 21 EXPR(*YES) RSTD(*YES) DFT(*XML) + 22 SPCVAL((*XML '') (*SGML '--sgml')) + 23 PROMPT('Catalog kind') 24 25 /* Output file. */ 26 27 PARM KWD(OUTSTMF) TYPE(*PNAME) LEN(5000) VARY(*YES *INT2) + 28 CASE(*MIXED) EXPR(*YES) DFT(*STDOUT) + 29 SPCVAL((*STDOUT '') (*INSTMF X'00')) + 30 CHOICE('*STDOUT, *INSTMF or file path') + 31 PROMPT('Output stream file path') 32 33 /* Convert SGML to XML catalog. */ 34 35 PARM KWD(CONVERT) TYPE(*CHAR) LEN(10) VARY(*YES *INT2) + 36 RSTD(*YES) SPCVAL((*YES '--convert') (*NO '')) + 37 EXPR(*YES) DFT(*NO) PMTCTL(TYPEXML) + 38 PROMPT('Convert SGML to XML catalog') 39 40 /* SGML super catalog update. */ 41 42 PARM KWD(SUPERUPD) TYPE(*CHAR) LEN(17) VARY(*YES *INT2) + 43 SPCVAL((*YES '') (*NO '--no-super-update')) + 44 EXPR(*YES) DFT(*YES) RSTD(*YES) PMTCTL(TYPESGML) + 45 PROMPT('Update the SGML super catalog') 46 47 /* Verbose/debug output. */ 48 49 PARM KWD(VERBOSE) TYPE(*CHAR) LEN(4) VARY(*YES *INT2) + 50 RSTD(*YES) SPCVAL((*YES '-v') (*NO '')) + 51 EXPR(*YES) DFT(*NO) + 52 PROMPT('Output debugging information') 53 54 /* Interactive shell not supported. */ 55 56 /* Values to delete. */ 57 58 PARM KWD(DELETE) TYPE(*PNAME) LEN(256) VARY(*YES *INT2) + 59 CASE(*MIXED) MAX(64) EXPR(*YES) + 60 CHOICE('Identifier value') + 61 PROMPT('Delete System/URI identifier') 62 63 /* Values to add. */ 64 65 PARM KWD(ADD) TYPE(XMLELEM) MAX(10) PMTCTL(TYPEXML) + 66 PROMPT('Add definition') 67XMLELEM: ELEM TYPE(*CHAR) LEN(16) VARY(*YES *INT2) DFT(*PUBLIC) + 68 PROMPT('Entry type') + 69 EXPR(*YES) RSTD(*YES) SPCVAL( + 70 (*PUBLIC 'public') + 71 (*SYSTEM 'system') + 72 (*URI 'uri') + 73 (*REWRITESYSTEM 'rewriteSystem') + 74 (*REWRITEURI 'rewriteURI') + 75 (*DELEGATEPUBLIC 'delegatePublic') + 76 (*DELEGATESYSTEM 'delegateSystem') + 77 (*DELEGATEURI 'delegateURI') + 78 (*NEXTCATALOG 'nextCatalog') + 79 ) 80 ELEM TYPE(*PNAME) LEN(256) VARY(*YES *INT2) EXPR(*YES) + 81 CASE(*MIXED) PROMPT('Original reference/file name') 82 ELEM TYPE(*PNAME) LEN(256) VARY(*YES *INT2) EXPR(*YES) + 83 CASE(*MIXED) PROMPT('Replacement entity URI') 84 85 PARM KWD(SGMLADD) TYPE(SGMLELEM) MAX(10) + 86 PMTCTL(TYPESGML) PROMPT('Add SGML definition') 87SGMLELEM: ELEM TYPE(*PNAME) LEN(256) VARY(*YES *INT2) EXPR(*YES) + 88 CASE(*MIXED) PROMPT('SGML catalog file name') 89 ELEM TYPE(*PNAME) LEN(256) VARY(*YES *INT2) EXPR(*YES) + 90 CASE(*MIXED) PROMPT('SGML definition') 91 92 /* Entities to resolve. */ 93 94 PARM KWD(ENTITY) TYPE(*PNAME) LEN(256) VARY(*YES *INT2) + 95 CASE(*MIXED) EXPR(*YES) MAX(150) + 96 PROMPT('Resolve entity') 97 98 /* Additional catalog files. */ 99 100 PARM KWD(CATALOG) TYPE(*PNAME) LEN(5000) VARY(*YES *INT2) + 101 CASE(*MIXED) EXPR(*YES) MAX(150) DFT(*DEFAULT) + 102 CHOICE('Catalog stream file path') + 103 PROMPT('Additional catalog file') SPCVAL( + 104 (*DEFAULT '/etc/xml/catalog') + 105 (*NONE '') + 106 ) 107 108 109 /* Conditional prompting. */ 110 111TYPEXML: PMTCTL CTL(KIND) COND((*EQ '')) 112TYPESGML: PMTCTL CTL(KIND) COND((*NE '')) 113