63
63
cong_util_is_docbook (CongDocument *doc)
65
const CongXMLChar* dtd_public_id;
65
const gchar* dtd_public_id;
67
67
g_return_val_if_fail(doc, FALSE);
174
174
* Returns: a freshly-allocated string, cleaned up as described above
177
cong_util_text_header (const xmlChar *text,
177
cong_util_text_header (const gchar *text,
178
178
guint truncation_length)
180
180
CongTextCache* text_cache;
392
392
cong_util_make_dtd (xmlDocPtr xml_doc,
393
const xmlChar *root_element,
394
const xmlChar *ExternalID,
395
const xmlChar *SystemID)
393
const gchar *root_element,
394
const gchar *ExternalID,
395
const gchar *SystemID)
398
398
xmlDtdPtr dtd_ptr;
400
g_message ("Trying to load DTD with PUBLIC \"%s\" SYSTEM \"%s\"", ExternalID, SystemID);
400
/* g_message ("Trying to load DTD with PUBLIC \"%s\" SYSTEM \"%s\"", ExternalID, SystemID); */
402
dtd_ptr = xmlParseDTD (ExternalID,
402
dtd_ptr = xmlParseDTD ((const xmlChar*)ExternalID,
403
(const xmlChar*)SystemID);
406
g_message ("Succeeded");
406
/* g_message ("Succeeded"); */
408
408
/* Then set the document and the root_element: */
409
409
cong_node_recursive_set_doc ((CongNodePtr)dtd_ptr,
412
412
if (dtd_ptr->name) {
413
413
xmlFree ((char*)dtd_ptr->name);
415
dtd_ptr->name = xmlStrdup(root_element);
415
dtd_ptr->name = xmlStrdup((const xmlChar*)root_element);
417
417
/* Set up ptr within the xml_doc: */
418
418
xml_doc->extSubset = dtd_ptr;
455
455
cong_util_add_external_dtd (xmlDocPtr xml_doc,
456
const xmlChar *root_element,
457
const xmlChar *ExternalID,
458
const xmlChar *SystemID)
456
const gchar *root_element,
457
const gchar *ExternalID,
458
const gchar *SystemID)
460
460
xmlDtdPtr xml_dtd;
589
589
if (xml_ns1 == NULL || xml_ns2 == NULL)
592
return cong_util_ns_uri_equality (xml_ns1->href,
592
return cong_util_ns_uri_equality ((const gchar*)xml_ns1->href,
593
(const gchar*)xml_ns2->href);
720
720
g_return_val_if_fail (node->type == XML_ELEMENT_NODE, NULL);
723
return cong_element_description_new (node->ns->href,
723
return cong_element_description_new ((const gchar*)node->ns->href,
724
(const gchar*)node->name);
726
726
return cong_element_description_new (NULL,
727
(const gchar*)node->name);
822
if (0!=strcmp(node->name, element_desc->local_name)) {
822
if (0!=strcmp((const char*)node->name, element_desc->local_name)) {
827
return cong_util_ns_uri_equality (node->ns->href, element_desc->ns_uri);
827
return cong_util_ns_uri_equality ((const gchar*)node->ns->href, element_desc->ns_uri);
829
829
return (NULL == element_desc->ns_uri);
1524
1524
cong_util_get_qualified_attribute_name(const xmlNs *namespace,
1525
const xmlChar *local_attribute_name)
1525
const gchar *local_attribute_name)
1527
1527
g_return_val_if_fail(local_attribute_name != NULL, NULL);
1636
1636
_("Associate with DTD"),
1638
1638
cong_command_add_set_external_dtd (cmd,
1639
cong_document_get_root_element (doc)->name,
1639
(const gchar*)cong_document_get_root_element (doc)->name,
1642
1642
cong_document_end_command (doc,
1798
* cong_util_dup_and_free_xml_string
1801
* Returns: makes a copy of the string using the GLib allocator, and frees the input using the libxml2 deallocator
1804
cong_util_dup_and_free_xml_string (xmlChar *xml_string)
1806
gchar *result = g_strdup ((const gchar*)xml_string);
1807
xmlFree (xml_string);
1812
cong_util_new_xml_doc (void)
1814
return xmlNewDoc((const xmlChar*)"1.0");
1818
cong_util_new_xml_element (xmlDocPtr xml_doc, const gchar* local_name)
1820
g_return_val_if_fail (xml_doc, NULL);
1821
g_return_val_if_fail (local_name, NULL);
1823
return xmlNewDocNode(xml_doc,
1824
NULL, /* xmlNsPtr ns, */
1825
(const xmlChar*)local_name,
1830
cong_util_set_attribute_bool (xmlNodePtr xml_node, const gchar* name, gboolean value)
1832
g_return_if_fail (xml_node);
1833
g_return_if_fail (name);
1835
xmlSetProp (xml_node, (const xmlChar*)name, (const xmlChar*)cong_util_bool_to_string (value));
1840
cong_util_set_attribute_int (xmlNodePtr xml_node, const gchar* name, int value)
1842
gchar *textual_value;
1844
g_return_if_fail (xml_node);
1845
g_return_if_fail (name);
1847
textual_value = g_strdup_printf("%i", value);
1848
xmlSetProp (xml_node, (const xmlChar*)name, (const xmlChar*)textual_value);
1849
g_free(textual_value);