Open SCAP Library
text_priv.h
1 /*
2  * Copyright 2009 Red Hat Inc., Durham, North Carolina.
3  * All Rights Reserved.
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18  *
19  * Authors:
20  * "David Niemoller" <David.Niemoller@g2-inc.com>
21  * Lukas Kuklinek <lkuklinek@redhat.com>
22  */
23 
24 #pragma once
25 #ifndef OSCAP_TEXT_PRIV_H_
26 #define OSCAP_TEXT_PRIV_H_
27 
28 #include "public/oscap_text.h"
29 #include "elements.h"
30 #include <libxml/xmlreader.h>
31 #include <libxml/xmlwriter.h>
32 
33 
39  bool override_given : 1;
40  bool html : 1;
41  bool can_override : 1;
42  bool can_substitute : 1;
43  bool overrides : 1;
44 };
45 
46 struct oscap_text {
47  char *lang;
48  char *text;
49  struct oscap_text_traits traits;
50 };
51 
52 struct oscap_list;
53 
55 extern const struct oscap_text_traits OSCAP_TEXT_TRAITS_PLAIN;
57 extern const struct oscap_text_traits OSCAP_TEXT_TRAITS_HTML;
58 
65 struct oscap_text *oscap_text_new_full(struct oscap_text_traits traits, const char *string, const char *lang);
66 
70 struct oscap_text *oscap_text_new_parse(struct oscap_text_traits traits, xmlTextReaderPtr reader);
71 
72 xmlNode *oscap_text_to_dom(struct oscap_text *text, xmlNode *parent, const char *elname);
73 bool oscap_text_export(struct oscap_text *text, xmlTextWriter *writer, const char *elname);
74 bool oscap_textlist_export(struct oscap_text_iterator *texts, xmlTextWriter *writer, const char *elname);
75 
76 char *_xhtml_to_plaintext(const char *xhtml_in);
77 
78 
79 #endif
bool can_substitute
can proces the sub element and such
Definition: text_priv.h:42
bool can_override
 can override parent&#39;s value.
Definition: text_priv.h:41
bool html
XHTML-formatted text.
Definition: text_priv.h:40
Internationalized string iterator.
Definition: list.h:53
bool overrides
overrides parent&#39;s value
Definition: text_priv.h:43
Multilingual text processing interface.
bool override_given
override attribute given
Definition: text_priv.h:39
Representation of internationalizable character strings.
Definition: text_priv.h:46
oscap_text traits
Definition: text_priv.h:38