/ libxml2 / os400 / xmlcatalog.cmd
xmlcatalog.cmd
  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')
 67  XMLELEM:     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')
 87  SGMLELEM:    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  
111  TYPEXML:     PMTCTL     CTL(KIND) COND((*EQ ''))
112  TYPESGML:    PMTCTL     CTL(KIND) COND((*NE ''))