yumapro  24.10-2
YumaPro SDK
Loading...
Searching...
No Matches
xml_val.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2008 - 2012, Andy Bierman, All Rights Reserved.
3 * Copyright (c) 2012 - 2021, YumaWorks, Inc., All Rights Reserved.
4 *
5 * Unless required by applicable law or agreed to in writing,
6 * software distributed under the License is distributed on an
7 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8 * KIND, either express or implied. See the License for the
9 * specific language governing permissions and limitations
10 * under the License.
11 */
12#ifndef _H_xml_val
13#define _H_xml_val
14
15/* FILE: xml_val.h
16*********************************************************************
17* *
18* P U R P O S E *
19* *
20*********************************************************************/
21
27/*********************************************************************
28* *
29* C H A N G E H I S T O R Y *
30* *
31*********************************************************************
32
33date init comment
34----------------------------------------------------------------------
3524-nov-06 abb Begun; split from xsd.c
3616-jan-07 abb Moved from ncxdump/xml_val_util.h
37*/
38
39#include <xmlstring.h>
40
41#ifndef _H_status
42#include "status.h"
43#endif
44
45#ifndef _H_val
46#include "val.h"
47#endif
48
49#ifndef _H_xmlns
50#include "xmlns.h"
51#endif
52
53#ifdef __cplusplus
54extern "C" {
55#endif
56
57/********************************************************************
58* *
59* F U N C T I O N S *
60* *
61*********************************************************************/
62
63
87extern xmlChar *
89 const xmlChar *name);
90
91
100extern uint32
102 const xmlChar *name);
103
104
114extern uint32
115 xml_val_sprintf_qname (xmlChar *buff,
116 uint32 bufflen,
117 xmlns_id_t nsid,
118 const xmlChar *name);
119
120
131extern status_t
132 xml_val_add_attr (const xmlChar *name,
133 xmlns_id_t nsid,
134 xmlChar *attrval,
135 val_value_t *val);
136
137
148extern status_t
149 xml_val_add_cattr (const xmlChar *name,
150 xmlns_id_t nsid,
151 const xmlChar *cattrval,
152 val_value_t *val);
153
154
166extern val_value_t *
167 xml_val_new_struct (const xmlChar *name,
168 xmlns_id_t nsid);
169
170
182extern val_value_t *
183 xml_val_new_struct2 (const xmlChar *name,
184 xmlns_id_t nsid);
185
186
199extern val_value_t *
200 xml_val_new_root (const xmlChar *name,
201 xmlns_id_t nsid);
202
203
218extern val_value_t *
219 xml_val_new_string (const xmlChar *name,
220 xmlns_id_t nsid,
221 xmlChar *strval);
222
223
238extern val_value_t *
239 xml_val_new_cstring (const xmlChar *name,
240 xmlns_id_t nsid,
241 const xmlChar *strval);
242
243
258extern val_value_t *
259 xml_val_new_cstring2 (const xmlChar *name,
260 xmlns_id_t nsid,
261 const xmlChar *strval);
262
263
278extern val_value_t *
279 xml_val_new_leaflist_string (const xmlChar *name,
280 xmlns_id_t nsid,
281 xmlChar *strval);
282
283
296extern val_value_t *
297 xml_val_new_flag (const xmlChar *name,
298 xmlns_id_t nsid);
299
300
313extern val_value_t *
314 xml_val_new_flag2 (const xmlChar *name,
315 xmlns_id_t nsid);
316
317
331extern val_value_t *
332 xml_val_new_boolean (const xmlChar *name,
333 xmlns_id_t nsid,
334 boolean boo);
335
336
351extern val_value_t *
352 xml_val_new_number (const xmlChar *name,
353 xmlns_id_t nsid,
354 ncx_num_t *num,
355 ncx_btype_t btyp);
356
360#ifdef __cplusplus
361} /* end extern 'C' */
362#endif
363
364#endif /* _H_xml_val */
status_t
global error return code
Definition: status_enum.h:210
uint16 xmlns_id_t
integer handle for registered namespaces
Definition: xmlns.h:89
uint32 xml_val_sprintf_qname(xmlChar *buff, uint32 bufflen, xmlns_id_t nsid, const xmlChar *name)
construct a QName into a buffer
Definition: xml_val.c:207
status_t xml_val_add_cattr(const xmlChar *name, xmlns_id_t nsid, const xmlChar *cattrval, val_value_t *val)
Set up a new attr val and add it to the specified val const version copies string.
Definition: xml_val.c:292
val_value_t * xml_val_new_flag(const xmlChar *name, xmlns_id_t nsid)
Set up a new flag (NCX_NT_EMPTY)
Definition: xml_val.c:553
val_value_t * xml_val_new_struct2(const xmlChar *name, xmlns_id_t nsid)
Set up a new generic struct; copy the name.
Definition: xml_val.c:354
uint32 xml_val_qname_len(xmlns_id_t nsid, const xmlChar *name)
Determine the length of the qname string that would be generated with the xml_val_make_qname function...
Definition: xml_val.c:178
val_value_t * xml_val_new_cstring2(const xmlChar *name, xmlns_id_t nsid, const xmlChar *strval)
Set up a new string from a const string copy a const string; malloc the name!
Definition: xml_val.c:486
val_value_t * xml_val_new_cstring(const xmlChar *name, xmlns_id_t nsid, const xmlChar *strval)
Set up a new string from a const string copy a const string.
Definition: xml_val.c:451
status_t xml_val_add_attr(const xmlChar *name, xmlns_id_t nsid, xmlChar *attrval, val_value_t *val)
Set up a new attr val and add it to the specified val hand off a malloced attribute string.
Definition: xml_val.c:252
val_value_t * xml_val_new_flag2(const xmlChar *name, xmlns_id_t nsid)
Set up a new flag; malloc name!
Definition: xml_val.c:587
val_value_t * xml_val_new_leaflist_string(const xmlChar *name, xmlns_id_t nsid, xmlChar *strval)
Set up a new string element; reuse the value instead of copying it hand off a malloced string.
Definition: xml_val.c:527
val_value_t * xml_val_new_boolean(const xmlChar *name, xmlns_id_t nsid, boolean boo)
Set up a new boolean.
Definition: xml_val.c:625
val_value_t * xml_val_new_struct(const xmlChar *name, xmlns_id_t nsid)
Set up a new generic struct.
Definition: xml_val.c:323
xmlChar * xml_val_make_qname(xmlns_id_t nsid, const xmlChar *name)
Make a Q-name string.
Definition: xml_val.c:134
val_value_t * xml_val_new_root(const xmlChar *name, xmlns_id_t nsid)
Set up a new struct as an ncx:root.
Definition: xml_val.c:390
val_value_t * xml_val_new_string(const xmlChar *name, xmlns_id_t nsid, xmlChar *strval)
Set up a new string element; reuse the value instead of copying it hand off a malloced string.
Definition: xml_val.c:423
val_value_t * xml_val_new_number(const xmlChar *name, xmlns_id_t nsid, ncx_num_t *num, ncx_btype_t btyp)
Set up a new number.
Definition: xml_val.c:657
ncx_btype_t
enumeration of the built-in NCX types These types cannot be overridden and cannot be imported
Definition: ncxtypes.h:213
Global error messages for status code enumerations.
one value to match one type
Definition: val.h:912
union of all the basic number types if float not supported, then it is stored as an int64
Definition: ncxtypes.h:784
Value Node Basic Support.
XML namespace support.