Home | History | Annotate | Download | only in libxml2

Lines Matching refs:ctxt

326  * @ctxt: the saving context
331 xmlSaveCtxtInit(xmlSaveCtxtPtr ctxt)
336 if (ctxt == NULL) return;
337 if ((ctxt->encoding == NULL) && (ctxt->escape == NULL))
338 ctxt->escape = xmlEscapeEntities;
341 memset(&ctxt->indent[0], 0, MAX_INDENT + 1);
343 ctxt->indent_size = len;
344 ctxt->indent_nr = MAX_INDENT / ctxt->indent_size;
345 for (i = 0;i < ctxt->indent_nr;i++)
346 memcpy(&ctxt->indent[i * ctxt->indent_size], xmlTreeIndentString,
347 ctxt->indent_size);
348 ctxt->indent[ctxt->indent_nr * ctxt->indent_size] = 0;
352 ctxt->options |= XML_SAVE_NO_EMPTY;
362 xmlFreeSaveCtxt(xmlSaveCtxtPtr ctxt)
364 if (ctxt == NULL) return;
365 if (ctxt->encoding != NULL)
366 xmlFree((char *) ctxt->encoding);
367 if (ctxt->buf != NULL)
368 xmlOutputBufferClose(ctxt->buf);
369 xmlFree(ctxt);
556 static int xmlSaveSwitchEncoding(xmlSaveCtxtPtr ctxt, const char *encoding) {
557 xmlOutputBufferPtr buf = ctxt->buf;
580 static int xmlSaveClearEncoding(xmlSaveCtxtPtr ctxt) {
581 xmlOutputBufferPtr buf = ctxt->buf;
592 xhtmlNodeDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur);
594 static void xmlNodeListDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur);
595 static void xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur);
597 static int xmlDocContentDumpOutput(xmlSaveCtxtPtr ctxt, xmlDocPtr cur);
601 * @ctxt: The save context
602 * @extra: Number of extra indents to apply to ctxt->level
607 xmlOutputBufferWriteWSNonSig(xmlSaveCtxtPtr ctxt, int extra)
610 if ((ctxt == NULL) || (ctxt->buf == NULL))
612 xmlOutputBufferWrite(ctxt->buf, 1, "\n");
613 for (i = 0; i < (ctxt->level + extra); i += ctxt->indent_nr) {
614 xmlOutputBufferWrite(ctxt->buf, ctxt->indent_size *
615 ((ctxt->level + extra - i) > ctxt->indent_nr ?
616 ctxt->indent_nr : (ctxt->level + extra - i)),
617 ctxt->indent);
625 * @ctxt: the output save context. Optional.
629 * If @ctxt is supplied, @buf should be its buffer.
632 xmlNsDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur, xmlSaveCtxtPtr ctxt) {
638 if (ctxt != NULL && ctxt->format == 2)
639 xmlOutputBufferWriteWSNonSig(ctxt, 2);
656 * @ctxt: the save context
663 xmlNsDumpOutputCtxt(xmlSaveCtxtPtr ctxt, xmlNsPtr cur) {
664 xmlNsDumpOutput(ctxt->buf, cur, ctxt);
669 * @ctxt: the save context
676 xmlNsListDumpOutputCtxt(xmlSaveCtxtPtr ctxt, xmlNsPtr cur) {
678 xmlNsDumpOutput(ctxt->buf, cur, ctxt);
707 xmlDtdDumpOutput(xmlSaveCtxtPtr ctxt, xmlDtdPtr dtd) {
713 if ((ctxt == NULL) || (ctxt->buf == NULL))
715 buf = ctxt->buf;
743 format = ctxt->format;
744 level = ctxt->level;
745 doc = ctxt->doc;
746 ctxt->format = 0;
747 ctxt->level = -1;
748 ctxt->doc = dtd->doc;
749 xmlNodeListDumpOutput(ctxt, dtd->children);
750 ctxt->format = format;
751 ctxt->level = level;
752 ctxt->doc = doc;
764 xmlAttrDumpOutput(xmlSaveCtxtPtr ctxt, xmlAttrPtr cur) {
768 buf = ctxt->buf;
770 if (ctxt->format == 2)
771 xmlOutputBufferWriteWSNonSig(ctxt, 2);
794 xmlAttrListDumpOutput(xmlSaveCtxtPtr ctxt, xmlAttrPtr cur) {
797 xmlAttrDumpOutput(ctxt, cur);
811 xmlNodeListDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
815 buf = ctxt->buf;
817 if ((ctxt->format == 1) && (xmlIndentTreeOutput) &&
821 xmlOutputBufferWrite(buf, ctxt->indent_size *
822 (ctxt->level > ctxt->indent_nr ?
823 ctxt->indent_nr : ctxt->level),
824 ctxt->indent);
825 xmlNodeDumpOutputInternal(ctxt, cur);
826 if (ctxt->format == 1) {
841 htmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
843 const xmlChar *oldctxtenc = ctxt->encoding;
844 const xmlChar *encoding = ctxt->encoding;
845 xmlOutputBufferPtr buf = ctxt->buf;
854 if (ctxt->encoding != NULL) {
855 doc->encoding = BAD_CAST ctxt->encoding;
869 if (xmlSaveSwitchEncoding(ctxt, (const char*) encoding) < 0) {
875 if (ctxt->options & XML_SAVE_FORMAT)
885 xmlSaveClearEncoding(ctxt);
900 xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
907 buf = ctxt->buf;
914 xmlDocContentDumpOutput(ctxt, (xmlDocPtr) cur);
918 if (ctxt->options & XML_SAVE_XHTML) {
919 xhtmlNodeDumpOutput(ctxt, cur);
924 ((ctxt->options & XML_SAVE_AS_XML) == 0)) ||
925 (ctxt->options & XML_SAVE_AS_HTML)) {
926 htmlNodeDumpOutputInternal(ctxt, cur);
931 xmlDtdDumpOutput(ctxt, (xmlDtdPtr) cur);
935 xmlNodeListDumpOutput(ctxt, cur->children);
953 xmlOutputBufferWriteEscape(buf, cur->content, ctxt->escape);
969 if (ctxt->format == 2)
970 xmlOutputBufferWriteWSNonSig(ctxt, 0);
979 if (ctxt->format == 2)
980 xmlOutputBufferWriteWSNonSig(ctxt, 0);
1024 xmlAttrDumpOutput(ctxt, (xmlAttrPtr) cur);
1028 xmlNsDumpOutputCtxt(ctxt, (xmlNsPtr) cur);
1032 format = ctxt->format;
1039 ctxt->format = 0;
1053 xmlNsListDumpOutputCtxt(ctxt, cur->nsDef);
1055 xmlAttrListDumpOutput(ctxt, cur->properties);
1058 (cur->children == NULL) && ((ctxt->options & XML_SAVE_NO_EMPTY) == 0)) {
1059 if (ctxt->format == 2)
1060 xmlOutputBufferWriteWSNonSig(ctxt, 0);
1062 ctxt->format = format;
1065 if (ctxt->format == 2)
1066 xmlOutputBufferWriteWSNonSig(ctxt, 1);
1069 xmlOutputBufferWriteEscape(buf, cur->content, ctxt->escape);
1072 if (ctxt->format == 1) xmlOutputBufferWrite(buf, 1, "\n");
1073 if (ctxt->level >= 0) ctxt->level++;
1074 xmlNodeListDumpOutput(ctxt, cur->children);
1075 if (ctxt->level > 0) ctxt->level--;
1076 if ((xmlIndentTreeOutput) && (ctxt->format == 1))
1077 xmlOutputBufferWrite(buf, ctxt->indent_size *
1078 (ctxt->level > ctxt->indent_nr ?
1079 ctxt->indent_nr : ctxt->level),
1080 ctxt->indent);
1089 if (ctxt->format == 2)
1090 xmlOutputBufferWriteWSNonSig(ctxt, 0);
1092 ctxt->format = format;
1102 xmlDocContentDumpOutput(xmlSaveCtxtPtr ctxt, xmlDocPtr cur) {
1108 const xmlChar *oldctxtenc = ctxt->encoding;
1109 const xmlChar *encoding = ctxt->encoding;
1110 xmlCharEncodingOutputFunc oldescape = ctxt->escape;
1111 xmlCharEncodingOutputFunc oldescapeAttr = ctxt->escapeAttr;
1112 xmlOutputBufferPtr buf = ctxt->buf;
1122 if (ctxt->encoding != NULL) {
1123 cur->encoding = BAD_CAST ctxt->encoding;
1132 ((ctxt->options & XML_SAVE_AS_XML) == 0) &&
1133 ((ctxt->options & XML_SAVE_XHTML) == 0)) ||
1134 (ctxt->options & XML_SAVE_AS_HTML)) {
1144 if (xmlSaveSwitchEncoding(ctxt, (const char*) encoding) < 0) {
1149 if (ctxt->options & XML_SAVE_FORMAT)
1155 if (ctxt->encoding != NULL)
1162 (ctxt->options & XML_SAVE_AS_XML) ||
1163 (ctxt->options & XML_SAVE_XHTML)) {
1167 ((ctxt->options & XML_SAVE_NO_DECL) == 0)) {
1176 if (xmlSaveSwitchEncoding(ctxt, (const char*) encoding) < 0) {
1182 if (ctxt
1183 ctxt->escape = NULL;
1184 if (ctxt->escapeAttr == xmlEscapeEntities)
1185 ctxt->escapeAttr = NULL;
1192 if ((ctxt->options & XML_SAVE_NO_DECL) == 0) {
1214 if (ctxt->options & XML_SAVE_XHTML)
1216 if ((ctxt->options & XML_SAVE_NO_XHTML) == 0) {
1228 ctxt->level = 0;
1231 xhtmlNodeDumpOutput(ctxt, child);
1234 xmlNodeDumpOutputInternal(ctxt, child);
1245 xmlSaveClearEncoding(ctxt);
1246 ctxt->escape = oldescape;
1247 ctxt->escapeAttr = oldescapeAttr;
1334 xhtmlAttrListDumpOutput(xmlSaveCtxtPtr ctxt, xmlAttrPtr cur) {
1343 buf = ctxt->buf;
1369 xmlAttrDumpOutput(ctxt, cur);
1420 xhtmlNodeListDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
1424 buf = ctxt->buf;
1426 if ((ctxt->format == 1) && (xmlIndentTreeOutput) &&
1428 xmlOutputBufferWrite(buf, ctxt->indent_size *
1429 (ctxt->level > ctxt->indent_nr ?
1430 ctxt->indent_nr : ctxt->level),
1431 ctxt->indent);
1432 xhtmlNodeDumpOutput(ctxt, cur);
1433 if (ctxt->format == 1) {
1452 xhtmlNodeDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
1461 xmlDocContentDumpOutput(ctxt, (xmlDocPtr) cur);
1469 xmlNsDumpOutputCtxt(ctxt, (xmlNsPtr) cur);
1473 xmlDtdDumpOutput(ctxt, (xmlDtdPtr) cur);
1477 xhtmlNodeListDumpOutput(ctxt, cur->children);
1480 buf = ctxt->buf;
1497 xmlOutputBufferWriteEscape(buf, cur->content, ctxt->escape);
1562 xmlAttrDumpOutput(ctxt, (xmlAttrPtr) cur);
1566 format = ctxt->format;
1586 xmlNsListDumpOutputCtxt(ctxt, cur->nsDef);
1596 xhtmlAttrListDumpOutput(ctxt, cur->properties);
1634 if (ctxt->format == 1) {
1637 xmlOutputBufferWrite(buf, ctxt->indent_size *
1638 (ctxt->level + 1 > ctxt->indent_nr ?
1639 ctxt->indent_nr : ctxt->level + 1), ctxt->indent);
1643 if (ctxt->encoding) {
1644 xmlOutputBufferWriteString(buf, (const char *)ctxt->encoding);
1649 if (ctxt->format == 1)
1669 if (ctxt->format == 1) {
1672 xmlOutputBufferWrite(buf, ctxt->indent_size *
1673 (ctxt->level + 1 > ctxt->indent_nr ?
1674 ctxt->indent_nr : ctxt->level + 1), ctxt->indent);
1678 if (ctxt->encoding) {
1679 xmlOutputBufferWriteString(buf, (const char *)ctxt->encoding);
1686 xmlOutputBufferWriteEscape(buf, cur->content, ctxt->escape);
1711 int level = ctxt->level;
1712 int indent = ctxt->format;
1714 ctxt->level = 0;
1715 ctxt->format = 0;
1719 ctxt->level = level;
1720 ctxt->format = indent;
1747 int level = ctxt->level;
1748 int indent = ctxt->format;
1750 ctxt->level = 0;
1751 ctxt->format = 0;
1752 xhtmlNodeDumpOutput(ctxt, child);
1753 ctxt->level = level;
1754 ctxt->format = indent;
1762 int indent = ctxt->format;
1765 if (ctxt->level >= 0) ctxt->level++;
1766 ctxt->format = format;
1767 xhtmlNodeListDumpOutput(ctxt, cur->children);
1768 if (ctxt->level > 0) ctxt->level--;
1769 ctxt->format = indent;
1771 xmlOutputBufferWrite(buf, ctxt->indent_size *
1772 (ctxt->level > ctxt->indent_nr ?
1773 ctxt->indent_nr : ctxt->level),
1774 ctxt->indent);
1921 * @ctxt: a document saving context
1931 xmlSaveDoc(xmlSaveCtxtPtr ctxt, xmlDocPtr doc)
1935 if ((ctxt == NULL) || (doc == NULL)) return(-1);
1936 if (xmlDocContentDumpOutput(ctxt, doc) < 0)
1943 * @ctxt: a document saving context
1953 xmlSaveTree(xmlSaveCtxtPtr ctxt, xmlNodePtr node)
1957 if ((ctxt == NULL) || (node == NULL)) return(-1);
1958 xmlNodeDumpOutputInternal(ctxt, node);
1964 * @ctxt: a document saving context
1972 xmlSaveFlush(xmlSaveCtxtPtr ctxt)
1974 if (ctxt == NULL) return(-1);
1975 if (ctxt->buf == NULL) return(-1);
1976 return(xmlOutputBufferFlush(ctxt->buf));
1981 * @ctxt: a document saving context
1989 xmlSaveClose(xmlSaveCtxtPtr ctxt)
1993 if (ctxt == NULL) return(-1);
1994 ret = xmlSaveFlush(ctxt);
1995 xmlFreeSaveCtxt(ctxt);
2001 * @ctxt: a document saving context
2009 xmlSaveSetEscape(xmlSaveCtxtPtr ctxt, xmlCharEncodingOutputFunc escape)
2011 if (ctxt == NULL) return(-1);
2012 ctxt->escape = escape;
2018 * @ctxt: a document saving context
2026 xmlSaveSetAttrEscape(xmlSaveCtxtPtr ctxt, xmlCharEncodingOutputFunc escape)
2028 if (ctxt == NULL) return(-1);
2029 ctxt->escapeAttr = escape;
2352 xmlSaveCtxt ctxt;
2365 memset(&ctxt, 0, sizeof(ctxt));
2366 ctxt.doc = doc;
2367 ctxt.buf = buf;
2368 ctxt.level = level;
2369 ctxt.format = format ? 1 : 0;
2370 ctxt.encoding = (const xmlChar *) encoding;
2371 xmlSaveCtxtInit(&ctxt);
2372 ctxt.options |= XML_SAVE_AS_XML;
2383 xhtmlNodeDumpOutput(&ctxt, cur);
2386 xmlNodeDumpOutputInternal(&ctxt, cur);
2408 xmlSaveCtxt ctxt;
2451 memset(&ctxt, 0, sizeof(ctxt));
2452 ctxt.doc = out_doc;
2453 ctxt.buf = out_buff;
2454 ctxt.level = 0;
2455 ctxt.format = format ? 1 : 0;
2456 ctxt.encoding = (const xmlChar *) txt_encoding;
2457 xmlSaveCtxtInit(&ctxt);
2458 ctxt.options |= XML_SAVE_AS_XML;
2459 xmlDocContentDumpOutput(&ctxt, out_doc);
2545 xmlSaveCtxt ctxt;
2570 memset(&ctxt, 0, sizeof(ctxt));
2571 ctxt.doc = cur;
2572 ctxt.buf = buf;
2573 ctxt.level = 0;
2574 ctxt.format = format ? 1 : 0;
2575 ctxt.encoding = (const xmlChar *) encoding;
2576 xmlSaveCtxtInit(&ctxt);
2577 ctxt.options |= XML_SAVE_AS_XML;
2578 xmlDocContentDumpOutput(&ctxt, cur);
2612 xmlSaveCtxt ctxt;
2620 memset(&ctxt, 0, sizeof(ctxt));
2621 ctxt.doc = cur;
2622 ctxt.buf = buf;
2623 ctxt.level = 0;
2624 ctxt.format = 0;
2625 ctxt.encoding = (const xmlChar *) encoding;
2626 xmlSaveCtxtInit(&ctxt);
2627 ctxt.options |= XML_SAVE_AS_XML;
2628 xmlDocContentDumpOutput(&ctxt, cur);
2650 xmlSaveCtxt ctxt;
2660 memset(&ctxt, 0, sizeof(ctxt));
2661 ctxt.doc = cur;
2662 ctxt.buf = buf;
2663 ctxt.level = 0;
2664 ctxt.format = format ? 1 : 0;
2665 ctxt.encoding = (const xmlChar *) encoding;
2666 xmlSaveCtxtInit(&ctxt);
2667 ctxt.options |= XML_SAVE_AS_XML;
2668 xmlDocContentDumpOutput(&ctxt, cur);
2689 xmlSaveCtxt ctxt;
2715 memset(&ctxt, 0, sizeof(ctxt));
2716 ctxt.doc = cur;
2717 ctxt.buf = buf;
2718 ctxt.level = 0;
2719 ctxt.format = format ? 1 : 0;
2720 ctxt.encoding = (const xmlChar *) encoding;
2721 xmlSaveCtxtInit(&ctxt);
2722 ctxt.options |= XML_SAVE_AS_XML;
2724 xmlDocContentDumpOutput(&ctxt, cur);