1      * Summary: library of generic URI related routines
2      * Description: library of generic URI related routines
3      *              Implements RFC 2396
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_URI_H__)
10      /define XML_URI_H__
11
12      /include "libxmlrpg/xmlversion"
13      /include "libxmlrpg/xmlTypesC"
14      /include "libxmlrpg/tree"
15
16      * xmlURI:
17      *
18      * A parsed URI reference. This is a struct containing the various fields
19      * as described in RFC 2396 but separated for further processing.
20      *
21      * Note: query is a deprecated field which is incorrectly unescaped.
22      * query_raw takes precedence over query if the former is set.
23      * See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00127
24
25     d xmlURIPtr       s               *   based(######typedef######)
26
27     d xmlURI          ds                  based(xmlURIPtr)
28     d                                     align qualified
29     d  scheme                         *                                        char *
30     d  opaque                         *                                        char *
31     d  authority                      *                                        char *
32     d  server                         *                                        char *
33     d  user                           *                                        char *
34     d  port                               like(xmlCint)
35     d  path                           *                                        char *
36     d  query                          *                                        char *
37     d  fragment                       *                                        char *
38     d  cleanup                            like(xmlCint)
39     d  query_raw                      *                                        char *
40
41     d xmlCreateURI    pr                  extproc('xmlCreateURI')
42     d                                     like(xmlURIPtr)
43
44     d xmlBuildURI     pr              *   extproc('xmlBuildURI')               xmlChar *
45     d  URI                            *   value options(*string)               const xmlChar *
46     d  base                           *   value options(*string)               const xmlChar *
47
48     d xmlBuildRelativeURI...
49     d                 pr              *   extproc('xmlBuildRelativeURI')       xmlChar *
50     d  URI                            *   value options(*string)               const xmlChar *
51     d  base                           *   value options(*string)               const xmlChar *
52
53     d xmlParseURI     pr                  extproc('xmlParseURI')
54     d                                     like(xmlURIPtr)
55     d  str                            *   value options(*string)               const char *
56
57     d xmlParseURIRaw  pr                  extproc('xmlParseURIRaw')
58     d                                     like(xmlURIPtr)
59     d  str                            *   value options(*string)               const char *
60     d  raw                                value like(xmlCint)
61
62     d xmlParseURIReference...
63     d                 pr                  extproc('xmlParseURIReference')
64     d                                     like(xmlCint)
65     d  uri                                value like(xmlURIPtr)
66     d  str                            *   value options(*string)               const char *
67
68     d xmlSaveUri      pr              *   extproc('xmlSaveUri')                xmlChar *
69     d  uri                                value like(xmlURIPtr)
70
71     d xmlPrintURI     pr                  extproc('xmlPrintURI')
72     d  stream                         *   value                                FILE *
73     d  uri                                value like(xmlURIPtr)
74
75     d xmlURIEscapeStr...
76     d                 pr              *   extproc('xmlURIEscapeStr')           xmlChar *
77     d  str                            *   value options(*string)               const xmlChar *
78     d  list                           *   value options(*string)               const xmlChar *
79
80     d xmlURIUnescapeString...
81     d                 pr              *   extproc('xmlURIUnescapeString')      char *
82     d  str                            *   value options(*string)               const char *
83     d  len                                value like(xmlCint)
84     d  target                         *   value options(*string)               char *
85
86     d xmlNormalizeURIPath...
87     d                 pr                  extproc('xmlNormalizeURIPath')
88     d                                     like(xmlCint)
89     d  path                           *   value options(*string)               char *
90
91     d xmlURIEscape    pr              *   extproc('xmlURIEscape')              xmlChar *
92     d  str                            *   value options(*string)               const xmlChar *
93
94     d xmlFreeURI      pr                  extproc('xmlFreeURI')
95     d  uri                                value like(xmlURIPtr)
96
97     d xmlCanonicPath  pr              *   extproc('xmlCanonicPath')            xmlChar *
98     d  path                           *   value options(*string)               const xmlChar *
99
100     d xmlPathToURI    pr              *   extproc('xmlPathToURI')              xmlChar *
101     d  path                           *   value options(*string)               const xmlChar *
102
103      /endif                                                                    XML_URI_H__
104