Home | History | Annotate | Download | only in libxmlrpg
      1       * Summary: Unicode character range checking
      2       * Description: this module exports interfaces for the character
      3       *               range validation APIs
      4       *
      5       * Copy: See Copyright for the status of this software.
      6       *
      7       * Author: Patrick Monnerat <pm (a] datasphere.ch>, DATASPHERE S.A.
      8 
      9       /if not defined(XML_CHVALID_H__)
     10       /define XML_CHVALID_H__
     11 
     12       /include "libxmlrpg/xmlversion"
     13       /include "libxmlrpg/xmlstring"
     14 
     15       * Define our typedefs and structures
     16 
     17      d xmlChSRangePtr  s               *   based(######typedef######)
     18 
     19      d xmlChSRange     ds                  based(xmlChSRangePtr)
     20      d                                     align qualified
     21      d  low                           5u 0
     22      d  high                          5u 0
     23 
     24      d xmlChLRangePtr  s               *   based(######typedef######)
     25 
     26      d xmlChLRange     ds                  based(xmlChLRangePtr)
     27      d                                     align qualified
     28      d  low                          10u 0
     29      d  high                         10u 0
     30 
     31      d xmlChRangeGroupPtr...
     32      d                 s               *   based(######typedef######)
     33 
     34      d xmlChRangeGroup...
     35      d                 ds                  based(xmlChRangeGroupPtr)
     36      d                                     align qualified
     37      d  nbShortRange                 10i 0
     38      d  nbLongRange                  10i 0
     39      d  shortRange                         like(xmlChSRangePtr)
     40      d  longRange                          like(xmlChLRangePtr)
     41 
     42       * Range checking routine
     43 
     44      d xmlCharInRange  pr            10i 0 extproc('xmlCharInRange')
     45      d val                           10u 0 value
     46      d group                               like(xmlChRangeGroupPtr)             const
     47 
     48      d xmlIsBaseCharGroup...
     49      d                 ds                  import('xmlIsBaseCharGroup')
     50      d                                     likeds(xmlChRangeGroup)              const
     51 
     52      d xmlIsCharGroup...
     53      d                 ds                  import('xmlIsCharGroup')
     54      d                                     likeds(xmlChRangeGroup)              const
     55 
     56      d xmlIsCombiningGroup...
     57      d                 ds                  import('xmlIsCombiningGroup')
     58      d                                     likeds(xmlChRangeGroup)              const
     59 
     60      d xmlIsDigitGroup...
     61      d                 ds                  import('xmlIsDigitGroup')
     62      d                                     likeds(xmlChRangeGroup)              const
     63 
     64      d xmlIsExtenderGroup...
     65      d                 ds                  import('xmlIsExtenderGroup')
     66      d                                     likeds(xmlChRangeGroup)              const
     67 
     68      d xmlIsIdeographicGroup...
     69      d                 ds                  import('xmlIsIdeographicGroup')
     70      d                                     likeds(xmlChRangeGroup)              const
     71 
     72      d xmlIsBaseChar   pr            10i 0 extproc('xmlIsBaseChar')
     73      d ch                            10u 0 value
     74 
     75      d xmlIsBlank      pr            10i 0 extproc('xmlIsBlank')
     76      d ch                            10u 0 value
     77 
     78      d xmlIsChar       pr            10i 0 extproc('xmlIsChar')
     79      d ch                            10u 0 value
     80 
     81      d xmlIsCombining  pr            10i 0 extproc('xmlIsCombining')
     82      d ch                            10u 0 value
     83 
     84      d xmlIsDigit      pr            10i 0 extproc('xmlIsDigit')
     85      d ch                            10u 0 value
     86 
     87      d xmlIsExtender   pr            10i 0 extproc('xmlIsExtender')
     88      d ch                            10u 0 value
     89 
     90      d xmlIsIdeographic...
     91      d                 pr            10i 0 extproc('xmlIsIdeographic')
     92      d ch                            10u 0 value
     93 
     94      d xmlIsPubidChar  pr            10i 0 extproc('xmlIsPubidChar')
     95      d ch                            10u 0 value
     96 
     97       /endif                                                                    XML_CHVALID_H__
     98