• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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@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/xmlTypesC"
14      /include "libxmlrpg/xmlstring"
15
16      * Define our typedefs and structures
17
18     d xmlChSRangePtr  s               *   based(######typedef######)
19
20     d xmlChSRange     ds                  based(xmlChSRangePtr)
21     d                                     align qualified
22     d  low                                like(xmlCushort)
23     d  high                               like(xmlCushort)
24
25     d xmlChLRangePtr  s               *   based(######typedef######)
26
27     d xmlChLRange     ds                  based(xmlChLRangePtr)
28     d                                     align qualified
29     d  low                          10u 0
30     d  high                         10u 0
31
32     d xmlChRangeGroupPtr...
33     d                 s               *   based(######typedef######)
34
35     d xmlChRangeGroup...
36     d                 ds                  based(xmlChRangeGroupPtr)
37     d                                     align qualified
38     d  nbShortRange                 10i 0
39     d  nbLongRange                  10i 0
40     d  shortRange                         like(xmlChSRangePtr)
41     d  longRange                          like(xmlChLRangePtr)
42
43      * Range checking routine
44
45     d xmlCharInRange  pr            10i 0 extproc('xmlCharInRange')
46     d val                           10u 0 value
47     d group                               like(xmlChRangeGroupPtr)             const
48
49     d xmlIsBaseCharGroup...
50     d                 ds                  import('xmlIsBaseCharGroup')
51     d                                     likeds(xmlChRangeGroup)              const
52
53     d xmlIsCharGroup...
54     d                 ds                  import('xmlIsCharGroup')
55     d                                     likeds(xmlChRangeGroup)              const
56
57     d xmlIsCombiningGroup...
58     d                 ds                  import('xmlIsCombiningGroup')
59     d                                     likeds(xmlChRangeGroup)              const
60
61     d xmlIsDigitGroup...
62     d                 ds                  import('xmlIsDigitGroup')
63     d                                     likeds(xmlChRangeGroup)              const
64
65     d xmlIsExtenderGroup...
66     d                 ds                  import('xmlIsExtenderGroup')
67     d                                     likeds(xmlChRangeGroup)              const
68
69     d xmlIsIdeographicGroup...
70     d                 ds                  import('xmlIsIdeographicGroup')
71     d                                     likeds(xmlChRangeGroup)              const
72
73     d xmlIsBaseChar   pr            10i 0 extproc('xmlIsBaseChar')
74     d ch                            10u 0 value
75
76     d xmlIsBlank      pr            10i 0 extproc('xmlIsBlank')
77     d ch                            10u 0 value
78
79     d xmlIsChar       pr            10i 0 extproc('xmlIsChar')
80     d ch                            10u 0 value
81
82     d xmlIsCombining  pr            10i 0 extproc('xmlIsCombining')
83     d ch                            10u 0 value
84
85     d xmlIsDigit      pr            10i 0 extproc('xmlIsDigit')
86     d ch                            10u 0 value
87
88     d xmlIsExtender   pr            10i 0 extproc('xmlIsExtender')
89     d ch                            10u 0 value
90
91     d xmlIsIdeographic...
92     d                 pr            10i 0 extproc('xmlIsIdeographic')
93     d ch                            10u 0 value
94
95     d xmlIsPubidChar  pr            10i 0 extproc('xmlIsPubidChar')
96     d ch                            10u 0 value
97
98      /endif                                                                    XML_CHVALID_H__
99