IBM Support

PM85035: XML IMPROVEMENTS

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • Details to follow.
    *
    The fix for PM87347 is required to support the related PTF.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V4.2 with the      *
    *                 COMPILE option XMLPARSE(XMLSS)               *
    *                                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: Users of the XML PARSE verb need a way  *
    *                      to determine whether the XML events     *
    *                      ATTRIBUTE-CHARACTERS and                *
    *                      CONTENT-CHARACTERS are complete or      *
    *                      continued.                              *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF and the Language      *
    *                 Environment PTF containing APAR PM87347.     *
    *                                                              *
    ****************************************************************
    Users are not able to determine if the XML events
    ATTRIBUTE-CHARACTERS and CONTENT-CHARACTERS are complete or
    continued.
    

Problem conclusion

Temporary fix

Comments

  • Add a way that the programmer can determine if the XML events
    ATTRIBUTE-CHARACTERS and CONTENT-CHARACTERS are complete or
    continued with a subsequent ATTRIBUTE-CHARACTERS OR
    CONTENT-CHARACTERS XML event. The special register
    XML-INFORMATION is added.  XML-INFORMATION is set to 1 when the
    XML events ATTRIBUTE-CHARACTERS OR CONTENT-CHARACTERS XML-EVENT
    are complete or 2 when continued.
    
    +--------------------------------------------------------------+
    | Start of changes for:                                        |
    | Enterprise COBOL Language Reference, SC23-8528-01            |
    
       Preface, Summary of changes,
         Version 4 Release 2, add:
    
    | A new special register, XML-INFORMATION, provides a mechanism
    | to easily determine whether the XML content delivered for an
    | XML event is complete or will be continued on the next event.
    
       Chapter 3. Character-strings
        Special registers, add:
    
    |   XML-INFORMATION
    
       Table 3. XML events and associated special register contents
        add footnote 7.
    
    |7. The value in the XML-INFORMATION special register indicates
    |whether the value in XML-TEXT or XML-NTEXT is continued, and is
    |thus a substring of the complete content, or is the final or
    |only segment of the content.
    
       AFTER Table 3. XML events and associated special register
        contents,  and before XML-NAMESPACE add:
    
    | XML-INFORMATION
    |
    |     The XML-INFORMATION special register is used to provide
    |     additional information to an XML PARSE processing
    |     procedure about the status of the parse.
    |
    |     The XML-INFORMATION special register has the implicit
    |     definition:
    |     01 XML-INFORMATION PICTURE S9(9) USAGE BINARY VALUE 0.
    |
    |     This register provides a mechanism to easily determine
    |     whether an XML event is complete.  Sometimes XML content
    |     might be split across multiple events and the application
    |     must concatenate the pieces of content together. The
    |     XML-INFORMATION register is used to indicate whether or
    |     not content of the XML event is complete.
    |
    |     The value of the
    |     XML-INFORMATION register is set as follows for the
    |     various XML events:
    |
    |     v ATTRIBUTE-CHARACTERS
    |       - 1 indicates that the attribute value in XML-TEXT
    |           or XML-NTEXT special register is complete
    |       - 2 indicates that the attribute value in XML-TEXT
    |           or XML-NTEXT special register is not complete
    |       - 4, 8, 16, ... are reserved for future use
    |     v CONTENT-CHARACTERS
    |       - 1 indicates that the content value in XML-TEXT
    |           or XML-NTEXT special register is complete
    |       - 2 indicates that the content value in XML-TEXT
    |           or XML-NTEXT special register is not complete
    |       - 4, 8, 16, ... are reserved for future use
    |     v All other events
    |       - 0 indicates that no additional information is
    |           currently available
    |       - 2, 4, 8, 16, ... are reserved for future
    |      use.
    
       Appendix A. IBM extension Table 58. IBM extension language
        elements, in Special registers add:
    
    |   XML-INFORMATION
    
       Appendix E. IBM extension Table 62. Reserved Words
        add an entry:
    
    |   XML-INFORMATION    with an X in the Reserved column only.
    
    | End of changes for:                                          |
    | Enterprise COBOL Language Reference, SC23-8528-01            |
    +--------------------------------------------------------------+
    
    +--------------------------------------------------------------+
    | Start of changes for:                                        |
    | Enterprise COBOL Programming Guide, SC23-8529-01             |
    
      Preface, Summary of changes
      Version 4 release 2  add:
    
    | A new special register, XML-INFORMATION, provides a mechanism
    | to easily determine whether the XML content delivered for an
    | XML event is complete, or will be continued on the next
    | event.
    
      Chapter 28. Processing XML input,
       in bullet:
       Special registers to exchange information between the
       parser and the processing procedure:  after - XML-EVENT
       add:
    
    | XML-INFORMATION provides a mechanism to easily determine
    | whether an XML event is complete
    
      Table 68. Special registers used by the XML parser
        After XML-CODE add entry:
    
    | XML-INFORMATION (note 1) | PICTURE S9(9) USAGE BINARY VALUE 0|
    | A mechanism to easily determine whether an XML EVENT is
      complete |
    
      Chapter 28. Processing XML input,
        Parsing XML documents, Writing procedures to process XML,
        XML events, before XML-TEXT and XML-NTEXT, add:
    
    | XML-INFORMATION
    | For most XML events, the parser sets XML-INFORMATION to
    | indicate whether an XML event is complete or whether the XML
    | content spans multiple events.  The application program logic
    | can use the XML-INFORMATION special register to concatenate
    | pieces of parsed XML content together.
    
      Chapter 28. Processing XML input,
       After Parsing XML documents one segment at a time, add:
    
    | Handling splits using the XML-INFORMATION special register
    |
    | You can parse large XML documents by using the
    | XML-INFORMATION special register.
    |
    | About this task
    |
    | Splits in character content might occur at arbitrary points
    | in the XML data stream, even with unsegmented input. The
    | XML-INFORMATION special register simplifies the reassembly of
    | content. This register may be required for any and all
    | attribute values and element character content.
    |
    | The length of the parse data item is evaluated for each
    | segment, and determines the segment length.
    |
    | The example, Example: program for processing XML, (with
    | XML-INFORMATION) demonstrates various ways of assigning
    | values obtained from the XML document to program data items
    | for later processing.
    |
    | The XML data is provided to the parser in 40-byte records,
    | imitating the way an XML document might be acquired from an
    | external source such as a data file. The record boundaries are
    | designed so that all data splits but one are accommodated by
    | the parser. For example, the sample treats as an error a split
    | in any content except the content of the "filling" element.
    |
    | In the example, the XML-INFORMATION special register is only
    | used to simplify the reassembly of content for the "filling"
    | element. This register could be used for any attribute values
    | and element character content. An XML-INFORMATION value of 2
    | indicates that the character data for an ATTRIBUTE-CHARACTERS
    | or CONTENT-CHARACTERS XML event is continued in a subsequent
    | XML event, and should thus be buffered in order to accumulate
    | the complete character string. A subsequent XML event of the
    | same type with an XML-INFORMATION value of 1 indicates that
    | XML-TEXT or XML-NTEXT contains the final piece of the
    | character content, and that the complete string can be moved
    | to the appropriate data item.
    |
    | In the example, the STRING ...  WITH POINTER statement
    | accumulates and describes properly the complete character
    | value for assignment to the "filling" identifier.
    |
    |      String xml-text delimited by size into
    |          content-buffer with pointer tally
    |        On overflow
    |          Display 'content  buffer ('
    |             length of content-buffer
    |             ' bytes) is too small'
    |          Move -1 to xml-code
    |      End-string
    
      Table 125. SYSADATA token record (continued)
         add entry after 819
    
    | 0820 XML-INFORMATION
    
    | End of changes for:                                          |
    | Enterprise COBOL Programming Guide, SC23-8529-01             |
    +--------------------------------------------------------------+
    
    +--------------------------------------------------------------+
    | Start of changes for:                                        |
    | Enterprise COBOL for z/OS Migration Guide, GC23-8527-01      |
    
      Changes in IBM Enterprise COBOL for z/OS, Version 4 Release 2
    
      New and enhanced XML PARSE capabilities are available when
      you use the z/OS XML System Services parser:
      add sub bullit:
    
    | - XML parsing support has been enhanced with a special
    | register, XML-INFORMATION, to easily determine whether the
    | XML content delivered for an XML event is complete or will
    | be continued on the next event.
    
      Table 33. New reserved words, by compiler, as compared to VS
      COBOL II.
        Entry: Enterprise COBOL V4R2
      add
    
    | XML-INFORMATION
    
      Table 36. New reserved words, by compiler, as compared to VS
      COBOL II.
        Entry: Enterprise COBOL V4R2
      add
    
    | XML-INFORMATION
    
      Table 42. New reserved words, by compiler, as compared to VS
      COBOL II.
        Entry: Enterprise COBOL V4R2
      add
    
    | XML-INFORMATION
    
      Change:
       Enterprise COBOL Version 4 Release 2 introduces one
       reserved word compared to Enterprise COBOL Version 4
       Release 1. The new reserved word is:
          XML-SCHEMA
      to
    
    |  Enterprise COBOL Version 4 Release 2 introduces two
    |  reserved word compared to Enterprise COBOL Version 4
    |  Release 1. The new reserved words are:
    |     XML-SCHEMA
    |     XML-INFORMATION
    
      Upgrading Enterprise COBOL Version 4 Release 1 programs that
      have XML PARSE statements and that use the XMLPARSE(XMLSS)
      compiler option,
    
      New reserved words,
      after XML-NNAMESPACE-PREFIX
       add an additional bullet:
    |  XML-INFORMATION
    
       Table 49. Reserved word comparison,
       after the entry for XML-EVENT add an entry for:
    
    |  XML-INFORMATION X****      -      -      -
    
    | End of changes for:                                          |
    | Enterprise COBOL for z/OS Migration Guide, GC23-8527-01      |
    +--------------------------------------------------------------+
    PUBS CLOSING CODE: DEVCHNG
    

APAR Information

  • APAR number

    PM85035

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655S7100

  • Reported release

    420

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    YesSpecatt / New Function

  • Submitted date

    2013-03-18

  • Closed date

    2013-06-24

  • Last modified date

    2013-07-02

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UK95359

Modules/Macros

  • IGYCCICS IGYCRWT  IGYDPR01 IGYGCNTL IGYNDATA IGYPXPS  IGYQMETA
    IGYQPR13 IGY8CICS IGY8RWRD
    

Publications Referenced
SC23852801SC23852901GC23852701  

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655S7100

Applicable component levels

  • R420 PSY UK95359

       UP13/06/27 P F306

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"4.2","Edition":"","Line of Business":{"code":"LOB17","label":"Mainframe TPS"}}]

Document Information

Modified date:
02 July 2013