 /*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
 /*                                                                   */
 /* Copyright (c) 1999-2000 The Apache Software Foundation.  All      */
 /* rights reserved.                                                  */
 /*                                                                   */
 /* Redistribution and use in source and binary forms, with or without*/
 /* modification, are permitted provided that the following conditions*/
 /* are met:                                                          */
 /*                                                                   */
 /* 1. Redistributions of source code must retain the above copyright */
 /*    notice, this list of conditions and the following disclaimer.  */
 /*                                                                   */
 /* 2. Redistributions in binary form must reproduce the above copyrig*/
 /*    notice, this list of conditions and the following disclaimer in*/
 /*    the documentation and/or other materials provided with the     */
 /*    distribution.                                                  */
 /*                                                                   */
 /* 3. The end-user documentation included with the redistribution,   */
 /*    if any, must include the following acknowledgment:             */
 /*       "This product includes software developed by the            */
 /*        Apache Software Foundation (http://www.apache.org/)."      */
 /*    Alternately, this acknowledgment may appear in the software    */
 /*    itself if and wherever such third-party acknowledgments        */
 /*    normally appear.                                               */
 /*                                                                   */
 /* 4. The names "Xerces" and "Apache Software Foundation" must       */
 /*    not be used to endorse or promote products derived from this   */
 /*    software without prior written permission. For written         */
 /*    permission, please contact apache\@apache.org.                 */
 /*                                                                   */
 /* 5. Products derived from this software may not be called "Apache",*/
 /*    nor may "Apache" appear in their name, without prior written   */
 /*    permission of the Apache Software Foundation.                  */
 /*                                                                   */
 /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED  */
 /* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES */
 /* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE       */
 /* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR  */
 /* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,  */
 /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT  */
 /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF  */
 /* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED & */
 /* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,*/
 /* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT*/
 /* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF*/
 /* SUCH DAMAGE.                                                      */
 /* ==================================================================*/
 /*                                                                   */
 /* This software consists of voluntary contributions made by many    */
 /* individuals on behalf of the Apache Software Foundation, and was  */
 /* originally based on software copyright (c) 1999, International    */
 /* Business Machines, Inc., http://www.ibm.com . For more information*/
 /* on the Apache Software Foundation, please see                     */
 /* <http://www.apache.org/>.                                         */
 /*                                                                   */
 /*                                                                   */
 /* $Log$
  * Revision 1.2  2004/09/08 13:56:34  peiyongz
  * Apache License Version 2.0
  *
 /* Revision 1.1.1.1  2002/02/01 22:22:22  peiyongz
 /* sane_include
 /*
 /* Revision 1.3  2000/02/11 17:48:19  abagchi
 /* Message change for some Panic return codes
 /*
 /* Revision 1.2  2000/02/10 00:15:02  abagchi
 /* Added Apache Copyright notice
 /*                                  */
 /* Revision 1.2  2000/02/06 07:48:23  swan                           */
 /* Year 2K copyright swat.                                           */
 /*                                                                   */
 /*********************************************************************/
 /*   The following CL source program creates a message file and      */
 /*   adds to the message file the XML parser messages.  If the       */
 /*   message file already exists, it just adds the parser messages.  */
 /*                                                                   */
 /*   Copy the stream file to an AS/400 source physical file using    */
 /*        CPYFRMSTMF command.   Make sure the target source physical */
 /*        file has record length of 200 to avoid truncation          */
 /*        Use CRTSRCPF.                                              */
 /*   After creating the CL program,  call it with two argument:      */
 /*        1)  Message file name (recommend QXMLMSG)                  */
 /*        2)  Message file library  (recommend your product library) */
 /*   The XML MsgLoader support assumes parser messages are in:       */
 /*        QXMLMSG   *LIBL                                            */
 /*   If you specify a different target message file then QXMLMSG,    */
 /*   you must update the following cpp source to reference the       */
 /*   changed message file name. If you do not run with your product  */
 /*   library in the library list you will also need to change the    */
 /*   library qualifier.                                              */
 /*                                                                   */
 /*  <xml directory>/src/util/MsgLoaders/MsgFile/MsgLoader.cpp        */
 /*  <xml directory>/src/util/Platforms/OS400/OS400PlatformUtils.cpp  */
 /*********************************************************************/

             PGM        PARM(&FILENAME &LIBNAME)
             DCL        VAR(&FILENAME) TYPE(*CHAR) LEN(10)
             DCL        VAR(&LIBNAME) TYPE(*CHAR) LEN(10)
             MONMSG     MSGID(CPF0000)

             CRTMSGF    MSGF(&LIBNAME/&FILENAME)
             RMVMSGD    MSGID(XMLBE00) MSGF(&LIBNAME/&FILENAME)

             ADDMSGD    MSGID(XMLBE00) MSGF(&LIBNAME/&FILENAME) MSG('Expected comment or CDATA') SEV(20) DMPLST(*NONE) LVL('12/03/99' 81) ALROPT(*NO) LOGPRB(*NO) CCSID(*JOB)

             RMVMSGD    MSGID(XMLBE01) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE01) MSGF(&LIBNAME/&FILENAME) MSG('Expected attribute name') SEV(10) DMPLST(*NONE) LVL('12/03/99' 81) ALROPT(*NO) LOGPRB(*NO) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE02) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE02) MSGF(&LIBNAME/&FILENAME) MSG('Expected notation name') SEV(20) DMPLST(*NONE) LVL('12/03/99' 81) ALROPT(*NO) LOGPRB(*NO) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE03) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE03) MSGF(&LIBNAME/&FILENAME) MSG('Repetition of individual elements is not legal for mixed content models') SEV(20) DMPLST(*NONE) LVL('12/03/99' 81) +
                          ALROPT(*NO) LOGPRB(*NO) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE04) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE04) MSGF(&LIBNAME/&FILENAME) MSG('Bad default attribute declaration') SEV(20) DMPLST(*NONE) LVL('12/03/99' 81) ALROPT(*NO) LOGPRB(*NO) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE05) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE05) MSGF(&LIBNAME/&FILENAME) MSG('Expected default attribute declaration, assuming #IMPLIED') SEV(20) DMPLST(*NONE) LVL('12/03/99' 81) ALROPT(*NO) +
                          LOGPRB(*NO) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE06) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE06) MSGF(&LIBNAME/&FILENAME) MSG('Attribute list syntax error') SEV(20) DMPLST(*NONE) LVL('12/03/99' 81) ALROPT(*NO) LOGPRB(*NO) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE07) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE07) MSGF(&LIBNAME/&FILENAME) MSG('Expected equal sign') SEV(20) DMPLST(*NONE) LVL('12/03/99' 81) ALROPT(*NO) LOGPRB(*NO) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE08) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE08) MSGF(&LIBNAME/&FILENAME) MSG('Duplicated attribute name') SEV(20) DMPLST(*NONE) LVL('12/03/99' 81) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE09) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE09) MSGF(&LIBNAME/&FILENAME) MSG('Bad ID ''&1'' for xml:lang attribute') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('12/03/99' 81) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE0A) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE0A) MSGF(&LIBNAME/&FILENAME) MSG('Expected element name') SEV(20) DMPLST(*NONE) LVL('12/03/99' 81) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE0B) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE0B) MSGF(&LIBNAME/&FILENAME) MSG('Must start with an XMLDecl') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE0C) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE0C) MSGF(&LIBNAME/&FILENAME) MSG('Comments must start with <!--') SEV(20) DMPLST(*NONE) LVL('01/14/00' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE0D) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE0D) MSGF(&LIBNAME/&FILENAME) MSG('Invalid document structure') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE0E) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE0E) MSGF(&LIBNAME/&FILENAME) MSG('Expected ''version='', ''encoding='', or ''standalone=''') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE0F) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE0F) MSGF(&LIBNAME/&FILENAME) MSG('Bad XML version string') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE10) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE10) MSGF(&LIBNAME/&FILENAME) MSG('Unsupported XML version, ''&1''') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE11) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE11) MSGF(&LIBNAME/&FILENAME) MSG('Unterminated XML decl') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE12) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE12) MSGF(&LIBNAME/&FILENAME) MSG('Bad XML encoding declaration') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE13) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE13) MSGF(&LIBNAME/&FILENAME) MSG('Bad standalone declaration') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE14) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE14) MSGF(&LIBNAME/&FILENAME) MSG('Unterminated comment') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE15) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE15) MSGF(&LIBNAME/&FILENAME) MSG('Processing instruction name expected') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE16) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE16) MSGF(&LIBNAME/&FILENAME) MSG('Unterminated processing instruction') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE17) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE17) MSGF(&LIBNAME/&FILENAME) MSG('Invalid character (Unicode: 0x&1)') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE18) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE18) MSGF(&LIBNAME/&FILENAME) MSG('Unexpected end of file exception. Message: &1') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/14/00' 76) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE19) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE19) MSGF(&LIBNAME/&FILENAME) MSG('Unexpected text before root element') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE1A) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE1A) MSGF(&LIBNAME/&FILENAME) MSG('Unterminated start tag, ''&1''') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE1B) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE1B) MSGF(&LIBNAME/&FILENAME) MSG('Expected attribute value') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE1C) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE1C) MSGF(&LIBNAME/&FILENAME) MSG('Unterminated end tag') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE1D) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE1D) MSGF(&LIBNAME/&FILENAME) MSG('Expected attribute type (CDATA, ID, NMTOKEN, ...), for attribute ''&1'' of element ''&2''') SEV(20) FMT((*CHAR *VARY +
                          2) (*CHAR *VARY 2)) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE1E) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE1E) MSGF(&LIBNAME/&FILENAME) MSG('Expected end of tag ''&1''') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 73) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE1F) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE1F) MSGF(&LIBNAME/&FILENAME) MSG('Expected tag name, comment, PI, or other markup') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE20) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE20) MSGF(&LIBNAME/&FILENAME) MSG('Not valid after content') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE21) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE21) MSGF(&LIBNAME/&FILENAME) MSG('Expected comment') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE22) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE22) MSGF(&LIBNAME/&FILENAME) MSG('Expected comment or processing instruction') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE23) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE23) MSGF(&LIBNAME/&FILENAME) MSG('Expected whitespace') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE24) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE24) MSGF(&LIBNAME/&FILENAME) MSG('No root element in DOCTYPE') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE25) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE25) MSGF(&LIBNAME/&FILENAME) MSG('Expected quoted string') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE26) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE26) MSGF(&LIBNAME/&FILENAME) MSG('Expected public id') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE27) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE27) MSGF(&LIBNAME/&FILENAME) MSG('Invalid character in public id (Unicode: 0x&1)') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('12/03/99' 83) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE28) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE28) MSGF(&LIBNAME/&FILENAME) MSG('Unterminated DOCTYPE declaration') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE29) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE29) MSGF(&LIBNAME/&FILENAME) MSG('Invalid character in internal subset (Unicode: 0x&1)') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('12/03/99' 83) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE2A) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE2A) MSGF(&LIBNAME/&FILENAME) MSG('Expected CDATA section') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE2B) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE2B) MSGF(&LIBNAME/&FILENAME) MSG('Invalid initial name character') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE2C) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE2C) MSGF(&LIBNAME/&FILENAME) MSG('Invalid name character') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE2D) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE2D) MSGF(&LIBNAME/&FILENAME) MSG('Unexpected whitespace') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE2E) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE2E) MSGF(&LIBNAME/&FILENAME) MSG('Invalid character in attribute value (Unicode: 0x&1)') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('12/03/99' 83) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE2F) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE2F) MSGF(&LIBNAME/&FILENAME) MSG('Expected a markup declaration') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE30) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE30) MSGF(&LIBNAME/&FILENAME) MSG('Text declaration not legal here') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE31) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE31) MSGF(&LIBNAME/&FILENAME) MSG('Conditional section in internal subset') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE32) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE32) MSGF(&LIBNAME/&FILENAME) MSG('Expected parameter entity name') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE33) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE33) MSGF(&LIBNAME/&FILENAME) MSG('Unterminated entity declaration, ''&1''') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE34) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE34) MSGF(&LIBNAME/&FILENAME) MSG('Invalid character reference') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE35) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE35) MSGF(&LIBNAME/&FILENAME) MSG('Unterminated character reference') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE36) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE36) MSGF(&LIBNAME/&FILENAME) MSG('Expected entity name for reference') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE37) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE37) MSGF(&LIBNAME/&FILENAME) MSG('Entity ''&1'' was not found') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 71) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE38) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE38) MSGF(&LIBNAME/&FILENAME) MSG('Unparsed entity references, ''&1'', not valid here') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/14/00' 76) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE39) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE39) MSGF(&LIBNAME/&FILENAME) MSG('Unterminated entity reference') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE3A) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE3A) MSGF(&LIBNAME/&FILENAME) MSG('Recursive entity expansion') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE3B) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE3B) MSGF(&LIBNAME/&FILENAME) MSG('Partial markup in entity value') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE3C) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE3C) MSGF(&LIBNAME/&FILENAME) MSG('Unterminated element declaration, ''&1''') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE3D) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE3D) MSGF(&LIBNAME/&FILENAME) MSG('Expected content specification expression for element ''&1''') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) +
                          LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE3E) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE3E) MSGF(&LIBNAME/&FILENAME) MSG('Expected asterisk') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE3F) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE3F) MSGF(&LIBNAME/&FILENAME) MSG('Unterminated Content model') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE40) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE40) MSGF(&LIBNAME/&FILENAME) MSG('Expected system id') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE41) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE41) MSGF(&LIBNAME/&FILENAME) MSG('Expected system or public id') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE42) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE42) MSGF(&LIBNAME/&FILENAME) MSG('Unterminated notation declaration') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE43) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE43) MSGF(&LIBNAME/&FILENAME) MSG('Expected '','', ''|'', or '')'' characters') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE44) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE44) MSGF(&LIBNAME/&FILENAME) MSG('Expected ''|'' or '')'' characters') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE45) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE45) MSGF(&LIBNAME/&FILENAME) MSG('Expected '','' or '')'' characters in content model of element ''&1''') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) +
                          LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE46) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE46) MSGF(&LIBNAME/&FILENAME) MSG('Could not open DTD file ''&1''') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 71) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE47) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE47) MSGF(&LIBNAME/&FILENAME) MSG('Attribute ''&1'' has a value, ''&2'' that does not match its #FIXED value, ''&3''') SEV(20) FMT((*CHAR *VARY 2) +
                          (*CHAR *VARY 2) (*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 71) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE48) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE48) MSGF(&LIBNAME/&FILENAME) MSG('Expected enumeration value for attribute ''&1''') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('12/03/99' 83) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE49) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE49) MSGF(&LIBNAME/&FILENAME) MSG('Expected | enumeration separator, or closing parenthesis') SEV(20) DMPLST(*NONE) LVL('01/14/00' 76) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE4A) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE4A) MSGF(&LIBNAME/&FILENAME) MSG('Could not open external entity ''&1''') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/14/00' 76) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE4B) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE4B) MSGF(&LIBNAME/&FILENAME) MSG('Unterminated entity literal') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE4C) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE4C) MSGF(&LIBNAME/&FILENAME) MSG('There are more end tags than start tags') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE4D) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE4D) MSGF(&LIBNAME/&FILENAME) MSG('Reference to external declaration in standalone document. Entity = ''&1''') SEV(20) FMT((*CHAR *VARY 2)) +
                          DMPLST(*NONE) LVL('01/13/00' 71) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE4E) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE4E) MSGF(&LIBNAME/&FILENAME) MSG('Expected an open parenthesis') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE4F) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE4F) MSGF(&LIBNAME/&FILENAME) MSG('A system exception occurred during processing') SEV(20) DMPLST(*NONE) LVL('01/14/00' 78) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE50) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE50) MSGF(&LIBNAME/&FILENAME) MSG('The attribute ''&1'' is already used in element ''&2''') SEV(20) FMT((*CHAR *VARY 2) (*CHAR *VARY 2)) DMPLST(*NONE) +
                          LVL('01/13/00' 71) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE51) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE51) MSGF(&LIBNAME/&FILENAME) MSG('A ''<'' character cannot be used in an attribute ''&1'', except through &lt;') SEV(20) FMT((*CHAR *VARY 2)) +
                          DMPLST(*NONE) LVL('01/14/00' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE52) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE52) MSGF(&LIBNAME/&FILENAME) MSG('An exception occurred! Type: &1, Message: &2') SEV(20) FMT((*CHAR *VARY 2) (*CHAR *VARY 2)) DMPLST(*NONE) +
                          LVL('01/14/00' 78) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE53) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE53) MSGF(&LIBNAME/&FILENAME) MSG('A leading surrogate character was not followed by a legal second character') SEV(20) DMPLST(*NONE) LVL('12/03/99' +
                          83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE54) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE54) MSGF(&LIBNAME/&FILENAME) MSG('Expected '']]>'' to end a conditional section') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE55) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE55) MSGF(&LIBNAME/&FILENAME) MSG('Expected INCLUDE or IGNORE here') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE56) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE56) MSGF(&LIBNAME/&FILENAME) MSG('Expected [ to follow INCLUDE or IGNORE') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE57) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE57) MSGF(&LIBNAME/&FILENAME) MSG('Expected a TextDecl here: <?xml ....') SEV(20) DMPLST(*NONE) LVL('01/14/00' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE58) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE58) MSGF(&LIBNAME/&FILENAME) MSG('Expected a XMLDecl here: <?xml ....') SEV(20) DMPLST(*NONE) LVL('01/14/00' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE59) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE59) MSGF(&LIBNAME/&FILENAME) MSG('Unexpected end of entity ''&1''') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 72) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE5A) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE5A) MSGF(&LIBNAME/&FILENAME) MSG('A PE propagated out of the int/ext subset, discarding extra text') SEV(20) DMPLST(*NONE) LVL('01/14/00' 78) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE5B) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE5B) MSGF(&LIBNAME/&FILENAME) MSG('An extra ] character was found and ignored') SEV(20) DMPLST(*NONE) LVL('01/14/00' 78) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE5C) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE5C) MSGF(&LIBNAME/&FILENAME) MSG('PE refs are not allowed inside markup in the internal subset') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE5D) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE5D) MSGF(&LIBNAME/&FILENAME) MSG('An entity propagated out of the content section into Miscellaneous') SEV(20) DMPLST(*NONE) LVL('01/14/00' 78) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE5E) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE5E) MSGF(&LIBNAME/&FILENAME) MSG('Expected &amp;# to be followed by a numeric character value') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE5F) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE5F) MSGF(&LIBNAME/&FILENAME) MSG('Expected an open bracket (''['') here') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE60) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE60) MSGF(&LIBNAME/&FILENAME) MSG('The sequence '']]>'' is not allowed in character data') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE61) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE61) MSGF(&LIBNAME/&FILENAME) MSG('Illegal sequence ''--'' in comment') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE62) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE62) MSGF(&LIBNAME/&FILENAME) MSG('Unterminated CDATA section') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE63) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE63) MSGF(&LIBNAME/&FILENAME) MSG('Expected NDATA') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE64) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE64) MSGF(&LIBNAME/&FILENAME) MSG('NDATA is not legal for parameter entities') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE65) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE65) MSGF(&LIBNAME/&FILENAME) MSG('Hex radix character refs must use ''x'', not ''X''') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE66) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE66) MSGF(&LIBNAME/&FILENAME) MSG('''&1'' has already been set. Ignoring redundant setting') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' +
                          72) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE67) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE67) MSGF(&LIBNAME/&FILENAME) MSG('The XMLDecl strings must be in the order: version, encoding, standalone') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE68) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE68) MSGF(&LIBNAME/&FILENAME) MSG('External entities cannot be referred to from attribute values') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE69) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE69) MSGF(&LIBNAME/&FILENAME) MSG('The XML or Text decl must start with ''<?xml '', not ''<?XML ''') SEV(20) DMPLST(*NONE) LVL('01/14/00' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE6A) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE6A) MSGF(&LIBNAME/&FILENAME) MSG('Expected a literal entity value or PUBLIC/SYSTEM id') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE6B) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE6B) MSGF(&LIBNAME/&FILENAME) MSG('''&1'' is not a valid digit for the indicated radix') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 72) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE6C) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE6C) MSGF(&LIBNAME/&FILENAME) MSG('The input ended before all started tags were ended. Last tag started was ''&1''') SEV(20) FMT((*CHAR *VARY 2)) +
                          DMPLST(*NONE) LVL('01/14/00' 78) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE6D) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE6D) MSGF(&LIBNAME/&FILENAME) MSG('The content model for element ''&1'' is ambiguous') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 72) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE6E) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE6E) MSGF(&LIBNAME/&FILENAME) MSG('Nested CDATA sections are not allowed') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE6F) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE6F) MSGF(&LIBNAME/&FILENAME) MSG('A DOCTYPE was seen but the installed validator does not understand DTDs') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE70) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE70) MSGF(&LIBNAME/&FILENAME) MSG('The prefix ''&1'' has not been mapped to any URI') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 72) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE71) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE71) MSGF(&LIBNAME/&FILENAME) MSG('Unknown element ''&1''') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 72) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE72) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE72) MSGF(&LIBNAME/&FILENAME) MSG('Attribute ''&1'' not defined') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 72) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE73) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE73) MSGF(&LIBNAME/&FILENAME) MSG('Notation ''&1'' was referenced but never declared') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 90) +
                          CCSID(*JOB)
             RMVMSGD MSGID(XMLBE74) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE74) MSGF(&LIBNAME/&FILENAME) MSG('Root element different from DOCTYPE') SEV(20) DMPLST(*NONE) LVL('12/03/99' 82) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE75) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE75) MSGF(&LIBNAME/&FILENAME) MSG('Required attribute ''&1'' was not provided') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 90) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE76) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE76) MSGF(&LIBNAME/&FILENAME) MSG('Element ''&1'' is not valid for content model: ''&2''') SEV(20) FMT((*CHAR *VARY 2) (*CHAR *VARY 2)) DMPLST(*NONE) +
                          LVL('01/13/00' 90) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE77) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE77) MSGF(&LIBNAME/&FILENAME) MSG('ID attributes must be #IMPLIED or #REQUIRED') SEV(20) DMPLST(*NONE) LVL('01/14/00' 79) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE78) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE78) MSGF(&LIBNAME/&FILENAME) MSG('This type of attribute cannot have an empty value') SEV(20) DMPLST(*NONE) LVL('01/14/00' 78) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE79) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE79) MSGF(&LIBNAME/&FILENAME) MSG('Element ''&1'' has already been declared') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 90) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE7A) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE7A) MSGF(&LIBNAME/&FILENAME) MSG('Element ''&1'' has more than one ID attribute') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 90) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE7B) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE7B) MSGF(&LIBNAME/&FILENAME) MSG('ID ''&1'' has already been used') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 90) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE7C) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE7C) MSGF(&LIBNAME/&FILENAME) MSG('ID attribute ''&1'' was referenced but never declared') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' +
                          90) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE7D) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE7D) MSGF(&LIBNAME/&FILENAME) MSG('Attribute ''&1'' refers to an unknown notation ''&2''') SEV(20) FMT((*CHAR *VARY 2) (*CHAR *VARY 2)) DMPLST(*NONE) +
                          LVL('01/13/00' 90) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE7E) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE7E) MSGF(&LIBNAME/&FILENAME) MSG('Element ''&1'' was used in the DOCTYPE but never declared') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) +
                          LVL('01/13/00' 90) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE7F) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE7F) MSGF(&LIBNAME/&FILENAME) MSG('Empty content not valid for content model: ''&1''') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 90) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE80) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE80) MSGF(&LIBNAME/&FILENAME) MSG('Attribute ''&1'' is not declared for element ''&2''') SEV(20) FMT((*CHAR *VARY 2) (*CHAR *VARY 2)) DMPLST(*NONE) +
                          LVL('01/14/00' 80) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE81) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE81) MSGF(&LIBNAME/&FILENAME) MSG('Attributes of type ENTITY/ENTITIES must refer to an external, unparsed entity') SEV(20) DMPLST(*NONE) LVL('12/03/99' +
                          83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE82) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE82) MSGF(&LIBNAME/&FILENAME) MSG('Attribute ''&1'' refers to an unknown entity ''&2''') SEV(20) FMT((*CHAR *VARY 2) (*CHAR *VARY 2)) DMPLST(*NONE) +
                          LVL('01/13/00' 90) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE83) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE83) MSGF(&LIBNAME/&FILENAME) MSG('Not enough elements to match content model : &1') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('12/03/99' 83) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE84) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE84) MSGF(&LIBNAME/&FILENAME) MSG('No processing instruction starts with ''xml''') SEV(10) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE85) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE85) MSGF(&LIBNAME/&FILENAME) MSG('Notation ''&1'' has already been declared') SEV(10) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 90) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE86) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE86) MSGF(&LIBNAME/&FILENAME) MSG('Attribute ''&1'' has already been declared for element ''&2''') SEV(10) FMT((*CHAR *VARY 2) (*CHAR *VARY 2)) +
                          DMPLST(*NONE) LVL('01/13/00' 90) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE87) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE87) MSGF(&LIBNAME/&FILENAME) MSG('Encoding (&1, from XMLDecl or manually set) contradicts the auto-sensed encoding, ignoring it') SEV(10) FMT((*CHAR +
                          *VARY 2)) DMPLST(*NONE) LVL('01/14/00' 80) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE88) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE88) MSGF(&LIBNAME/&FILENAME) MSG('Element ''&1'' was referenced in a content model but never declared') SEV(10) FMT((*CHAR *VARY 2)) DMPLST(*NONE) +
                          LVL('01/13/00' 90) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE89) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE89) MSGF(&LIBNAME/&FILENAME) MSG('Element ''&1'' was referenced in an attlist but never declared') SEV(10) FMT((*CHAR *VARY 2)) DMPLST(*NONE) +
                          LVL('01/13/00' 90) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE8A) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE8A) MSGF(&LIBNAME/&FILENAME) MSG('The index is beyond the array bounds') SEV(20) DMPLST(*NONE) LVL('12/03/99' 83) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE8B) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE8B) MSGF(&LIBNAME/&FILENAME) MSG('The new size is less than the old one') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE8C) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE8C) MSGF(&LIBNAME/&FILENAME) MSG('The pointer has not been set') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE8D) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE8D) MSGF(&LIBNAME/&FILENAME) MSG('The enumerator contains no more elements') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE8E) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE8E) MSGF(&LIBNAME/&FILENAME) MSG('Could not open file: &1') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/14/00' 80) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE8F) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE8F) MSGF(&LIBNAME/&FILENAME) MSG('Could not query the current file position') SEV(30) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE90) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE90) MSGF(&LIBNAME/&FILENAME) MSG('Could not close the file') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE91) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE91) MSGF(&LIBNAME/&FILENAME) MSG('Could not seek to end of file') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE92) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE92) MSGF(&LIBNAME/&FILENAME) MSG('Could not seek to required position in file') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE93) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE93) MSGF(&LIBNAME/&FILENAME) MSG('Could not duplicate the handle') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE94) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE94) MSGF(&LIBNAME/&FILENAME) MSG('Could not read data from file') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE95) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE95) MSGF(&LIBNAME/&FILENAME) MSG('Could not reset file to beginning') SEV(20) DMPLST(*NONE) LVL('12/03/99' 84) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE96) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE96) MSGF(&LIBNAME/&FILENAME) MSG('Could not ascertain the file size') SEV(20) DMPLST(*NONE) LVL('01/14/00' 79) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE97) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE97) MSGF(&LIBNAME/&FILENAME) MSG('Could not determine base pathname of the file') SEV(20) DMPLST(*NONE) LVL('12/03/99' 85) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE98) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE98) MSGF(&LIBNAME/&FILENAME) MSG('The hash modulus cannot be zero') SEV(20) DMPLST(*NONE) LVL('12/03/99' 85) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE99) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE99) MSGF(&LIBNAME/&FILENAME) MSG('Hashing the key returned an invalid bad hash value') SEV(20) DMPLST(*NONE) LVL('12/03/99' 85) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE9A) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE9A) MSGF(&LIBNAME/&FILENAME) MSG('The key ''&1'' could not be found in the hash table') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 90) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE9B) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE9B) MSGF(&LIBNAME/&FILENAME) MSG('Could not create mutex') SEV(20) DMPLST(*NONE) LVL('12/03/99' 85) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE9C) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE9C) MSGF(&LIBNAME/&FILENAME) MSG('Could not close mutex') SEV(20) DMPLST(*NONE) LVL('12/03/99' 85) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE9D) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE9D) MSGF(&LIBNAME/&FILENAME) MSG('Could not lock mutex') SEV(20) DMPLST(*NONE) LVL('12/03/99' 85) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE9E) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE9E) MSGF(&LIBNAME/&FILENAME) MSG('Could not unlock mutex') SEV(20) DMPLST(*NONE) LVL('12/03/99' 85) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBE9F) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBE9F) MSGF(&LIBNAME/&FILENAME) MSG('Could not destroy mutex') SEV(20) DMPLST(*NONE) LVL('12/03/99' 85) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEA0) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEA0) MSGF(&LIBNAME/&FILENAME) MSG('The element ''&1'' already exists') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/13/00' 90) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEA1) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEA1) MSGF(&LIBNAME/&FILENAME) MSG('Hashing the key returned an invalid bad hash value') SEV(20) DMPLST(*NONE) LVL('12/03/99' 85) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEA2) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEA2) MSGF(&LIBNAME/&FILENAME) MSG('The passed id is not valid for this pool') SEV(20) DMPLST(*NONE) LVL('12/03/99' 85) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEA3) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEA3) MSGF(&LIBNAME/&FILENAME) MSG('The modulus value cannot be zero') SEV(20) DMPLST(*NONE) LVL('12/03/99' 85) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEA4) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEA4) MSGF(&LIBNAME/&FILENAME) MSG('The index is past the top of stack') SEV(20) DMPLST(*NONE) LVL('12/03/99' 85) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEA5) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEA5) MSGF(&LIBNAME/&FILENAME) MSG('The stack is empty, cannot access members') SEV(20) DMPLST(*NONE) LVL('12/03/99' 85) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEA6) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEA6) MSGF(&LIBNAME/&FILENAME) MSG('The target buffer cannot have a max size of zero') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEA7) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEA7) MSGF(&LIBNAME/&FILENAME) MSG('The given radix is not supported. Use 2, 8, 10, or 16') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEA8) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEA8) MSGF(&LIBNAME/&FILENAME) MSG('The target buffer is too small to accept the results') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEA9) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEA9) MSGF(&LIBNAME/&FILENAME) MSG('The start index is past the end of the string') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEAA) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEAA) MSGF(&LIBNAME/&FILENAME) MSG('Could not write to standard err') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEAB) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEAB) MSGF(&LIBNAME/&FILENAME) MSG(' Could not write to standard out') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEAC) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEAC) MSGF(&LIBNAME/&FILENAME) MSG('Could not write to console') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEAD) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEAD) MSGF(&LIBNAME/&FILENAME) MSG('String pool id was not legal') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEAE) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEAE) MSGF(&LIBNAME/&FILENAME) MSG('The URL was not correctly formed') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEAF) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEAF) MSGF(&LIBNAME/&FILENAME) MSG('The URL used an unsupported protocol') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEB0) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEB0) MSGF(&LIBNAME/&FILENAME) MSG('Only localhost is supported at this time') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEB1) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEB1) MSGF(&LIBNAME/&FILENAME) MSG('The passed index is past the end of the vector') SEV(20) DMPLST(*NONE) LVL('01/14/00' 79) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEB2) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEB2) MSGF(&LIBNAME/&FILENAME) MSG('Unexpected end of input') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEB3) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEB3) MSGF(&LIBNAME/&FILENAME) MSG('Parse may not be called while parsing') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEB4) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEB4) MSGF(&LIBNAME/&FILENAME) MSG('The index given was beyond the max attribute index') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEB5) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEB5) MSGF(&LIBNAME/&FILENAME) MSG('The element stack is empty') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEB6) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEB6) MSGF(&LIBNAME/&FILENAME) MSG('The element stack index given was beyond the stack top') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEB7) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEB7) MSGF(&LIBNAME/&FILENAME) MSG('The element stack was already empty when a pop request occurred') SEV(20) DMPLST(*NONE) LVL('01/14/00' 79) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEB8) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEB8) MSGF(&LIBNAME/&FILENAME) MSG('A parent operation was requested, but only one element is on the stack') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEB9) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEB9) MSGF(&LIBNAME/&FILENAME) MSG('The indicated reader id was never found') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEBA) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEBA) MSGF(&LIBNAME/&FILENAME) MSG('The auto encoding enum has an unknown value') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEBB) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEBB) MSGF(&LIBNAME/&FILENAME) MSG('Could not create a converter for encoding:  &1') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/14/00' 79) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEBC) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEBC) MSGF(&LIBNAME/&FILENAME) MSG('Could not decode first line of entity: &1') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/14/00' 79) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEBD) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEBD) MSGF(&LIBNAME/&FILENAME) MSG('End of input was hit in the middle of a multibyte sequence') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEBE) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEBE) MSGF(&LIBNAME/&FILENAME) MSG('This encoding (&1) should have had a transcoder') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/14/00' 79) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEBF) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEBF) MSGF(&LIBNAME/&FILENAME) MSG('Invalid second byte of a UTF-8 character sequence') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEC0) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEC0) MSGF(&LIBNAME/&FILENAME) MSG('Invalid surrogate character found in UTF-8 data') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEC1) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEC1) MSGF(&LIBNAME/&FILENAME) MSG('The primary document entity could not be opened. Id = &1') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/14/00' +
                          79) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEC2) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEC2) MSGF(&LIBNAME/&FILENAME) MSG('Unbalanced start/end tags found, cannot continue') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEC3) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEC3) MSGF(&LIBNAME/&FILENAME) MSG('The passed AttTypes value is not known') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEC4) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEC4) MSGF(&LIBNAME/&FILENAME) MSG('The passed DefAttTypes value is not known') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEC5) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEC5) MSGF(&LIBNAME/&FILENAME) MSG('The buffer manager cannot provide any more buffers') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEC6) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEC6) MSGF(&LIBNAME/&FILENAME) MSG('The passed buffer was not found in this manager''s pool') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEC7) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEC7) MSGF(&LIBNAME/&FILENAME) MSG('The passed recognizer encoding was not known') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEC8) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEC8) MSGF(&LIBNAME/&FILENAME) MSG('The block of XML data could not be transcoded') SEV(20) DMPLST(*NONE) LVL('12/03/99' 86) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEC9) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEC9) MSGF(&LIBNAME/&FILENAME) MSG('Could not create a default transcoder') SEV(20) DMPLST(*NONE) LVL('12/03/99' 87) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBECA) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBECA) MSGF(&LIBNAME/&FILENAME) MSG('The bit index was beyond the set size') SEV(20) DMPLST(*NONE) LVL('12/03/99' 87) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBECB) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBECB) MSGF(&LIBNAME/&FILENAME) MSG('The binary operation node had a unary node type') SEV(20) DMPLST(*NONE) LVL('12/03/99' 87) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBECC) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBECC) MSGF(&LIBNAME/&FILENAME) MSG('The content type must be mixed or children') SEV(20) DMPLST(*NONE) LVL('12/03/99' 87) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBECD) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBECD) MSGF(&LIBNAME/&FILENAME) MSG('PCDATA nodes are not valid here') SEV(20) DMPLST(*NONE) LVL('12/03/99' 87) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBECE) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBECE) MSGF(&LIBNAME/&FILENAME) MSG('The ''&1'' operation is invalid for the spec type') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/14/00' 79) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBECF) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBECF) MSGF(&LIBNAME/&FILENAME) MSG('The unary operation node had a binary node type') SEV(20) DMPLST(*NONE) LVL('12/03/99' 87) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBED0) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBED0) MSGF(&LIBNAME/&FILENAME) MSG('Unknown content model type') SEV(20) DMPLST(*NONE) LVL('12/03/99' 87) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBED1) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBED1) MSGF(&LIBNAME/&FILENAME) MSG('Unknown content spec type') SEV(20) DMPLST(*NONE) LVL('12/03/99' 87) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBED2) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBED2) MSGF(&LIBNAME/&FILENAME) MSG('The element id was invalid') SEV(20) DMPLST(*NONE) LVL('12/03/99' 87) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBED3) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBED3) MSGF(&LIBNAME/&FILENAME) MSG('Stream file could not be opened') SECLVL('&N Recovery  . . . :   Failure opening file &1. See following messages for +
                          additional information.') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('12/03/99' 81) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBED4) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBED4) MSGF(&LIBNAME/&FILENAME) MSG('Conversion failure for converter &1') SECLVL('&N Recovery  . . . :   See following messages for additional +
                          information.') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('12/03/99' 81) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBED5) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBED5) MSGF(&LIBNAME/&FILENAME) MSG('ICONV Converter not supported for &1') SECLVL('&N Recovery  . . . :   AS/400 does not support conversion of the +
                          requested document.') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('12/03/99' 81) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBED6) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBED6) MSGF(&LIBNAME/&FILENAME) MSG('Got an unexpected trailing surrogate character') SEV(20) DMPLST(*NONE) LVL('01/13/00' 87) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBED7) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBED7) MSGF(&LIBNAME/&FILENAME) MSG('The XML or Text declaration must start at line/column 1/1') SEV(20) DMPLST(*NONE) LVL('01/14/00' 60) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBED8) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBED8) MSGF(&LIBNAME/&FILENAME) MSG('The ''version='' string is required in an XMLDecl') SEV(20) DMPLST(*NONE) LVL('01/14/00' 60) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBED9) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBED9) MSGF(&LIBNAME/&FILENAME) MSG('The ''standalone='' string is only allowed in the main XML entity') SEV(20) DMPLST(*NONE) LVL('01/14/00' 60) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEDA) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEDA) MSGF(&LIBNAME/&FILENAME) MSG('When namespaces are enabled, a name can have only one colon character') SEV(20) DMPLST(*NONE) LVL('01/14/00' 60) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEDB) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEDB) MSGF(&LIBNAME/&FILENAME) MSG('When namespaces are enabled, the colon cannot be the first or last character') SEV(20) DMPLST(*NONE) LVL('01/14/00' +
                          60) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEDC) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEDC) MSGF(&LIBNAME/&FILENAME) MSG('Colons are not allowed in this name when namespaces are enabled') SEV(20) DMPLST(*NONE) LVL('01/14/00' 60) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEDD) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEDD) MSGF(&LIBNAME/&FILENAME) MSG('Element types cannot be duplicated in Mixed content models') SEV(20) DMPLST(*NONE) LVL('01/14/00' 60) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEDE) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEDE) MSGF(&LIBNAME/&FILENAME) MSG('When reusing the validator, no internal subset is allowed') SEV(20) DMPLST(*NONE) LVL('01/14/00' 60) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEDF) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEDF) MSGF(&LIBNAME/&FILENAME) MSG('The call to scanNext() is illegal at this time') SEV(20) DMPLST(*NONE) LVL('01/14/00' 60) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEE0) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEE0) MSGF(&LIBNAME/&FILENAME) MSG('No protocol prefix present') SEV(20) DMPLST(*NONE) LVL('01/14/00' 60) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEE1) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEE1) MSGF(&LIBNAME/&FILENAME) MSG('Expected // after protocol') SEV(20) DMPLST(*NONE) LVL('01/14/00' 60) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEE2) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEE2) MSGF(&LIBNAME/&FILENAME) MSG('% must be followed by two hex digits') SEV(20) DMPLST(*NONE) LVL('01/14/00' 60) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEE3) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEE3) MSGF(&LIBNAME/&FILENAME) MSG('Unterminated host component') SEV(20) DMPLST(*NONE) LVL('01/14/00' 60) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEE4) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEE4) MSGF(&LIBNAME/&FILENAME) MSG('Unsupported URL protocol: ''&1''') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/14/00' 60) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEE5) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEE5) MSGF(&LIBNAME/&FILENAME) MSG('No character data is allowed by content model') SEV(20) DMPLST(*NONE) LVL('01/14/00' 61) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEE6) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEE6) MSGF(&LIBNAME/&FILENAME) MSG('Attribute ''&1'' does not match its defined enumeration or notation list') SEV(20) FMT((*CHAR *VARY 2)) +
                          DMPLST(*NONE) LVL('01/14/00' 61) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEE7) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEE7) MSGF(&LIBNAME/&FILENAME) MSG('The values for attribute ''&1'' must be names or name tokens') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) +
                          LVL('01/14/00' 61) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEE8) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEE8) MSGF(&LIBNAME/&FILENAME) MSG('Attribute ''&1'' does not support multiple values') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/14/00' 61) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEE9) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEE9) MSGF(&LIBNAME/&FILENAME) MSG('The start and the end tag were in the different entities') SEV(20) DMPLST(*NONE) LVL('01/14/00' 61) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEEA) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEEA) MSGF(&LIBNAME/&FILENAME) MSG('The main XML document cannot be empty') SEV(20) DMPLST(*NONE) LVL('01/14/00' 61) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEEB) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEEB) MSGF(&LIBNAME/&FILENAME) MSG('CDATA is not allowed outside the root element') SEV(20) DMPLST(*NONE) LVL('01/14/00' 61) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEEC) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEEC) MSGF(&LIBNAME/&FILENAME) MSG('Only numeric character entities or special character entities are legal here') SEV(20) DMPLST(*NONE) LVL('01/14/00' +
                          61) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEED) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEED) MSGF(&LIBNAME/&FILENAME) MSG('Unable to correctly initialize parser, reason code is &1.') SECLVL('&N Cause . . . . . :   The Xerces-C system could +
                          not be initialized. If you are using ICU, then the most likely reason for this failure is the inability to find the ICU coverter files. The converter files +
                          have the extension .cnv and exist in a directory ''icu/data'' relative to the Xerces-C shared library. If you have installed the converter files in a +
                          different location, you need to set up the environment variable ICU_DATA'' to point directly to the directory containing the converter files. Reason codes +
                          are: 0 -- Unable to load transcoding service 1 -- Unable to create default transcoder 2 -- Unable to locate complete parser 3 -- Customer-messaging choice not +
                          compiled 4 -- Could not load customer messaging correctly   5 -- Unable to synchronize system or mutex  6 -- Unable to initialize system or mutex  +
                          &N Recovery  . . . :   Correct any errors, and then try request again') SEV(20) FMT((*CHAR *VARY +
                          2)) DMPLST(*NONE) LVL('01/14/00' 61) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEEF) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEEF) MSGF(&LIBNAME/&FILENAME) MSG('Error on &1 NetAccessor. Msg: &2') SEV(20) FMT((*CHAR *VARY 2) (*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/14/00' 61) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEF0) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEF0) MSGF(&LIBNAME/&FILENAME) MSG('The current transcoding service does not support source offset information') SEV(20) DMPLST(*NONE) LVL('01/14/00' +
                          61) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEF1) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEF1) MSGF(&LIBNAME/&FILENAME) MSG('The maximum size to xlat is larger than the declared block size') SEV(20) DMPLST(*NONE) LVL('01/14/00' 61) CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEF2) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEF2) MSGF(&LIBNAME/&FILENAME) MSG('Got an representable code point for encoding &1') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) LVL('01/14/00' 61) +
                          CCSID(*JOB)
             RMVMSGD    MSGID(XMLBEF3) MSGF(&LIBNAME/&FILENAME)
             ADDMSGD    MSGID(XMLBEF3) MSGF(&LIBNAME/&FILENAME) MSG('A source character was not in the code point set for encoding &1') SEV(20) FMT((*CHAR *VARY 2)) DMPLST(*NONE) +
                          LVL('01/14/00' 61) CCSID(*JOB)
             ENDPGM
