Changeset 186 for trunk/src/helpers/xml.c
- Timestamp:
- Jul 6, 2002, 11:12:59 PM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/helpers/xml.c
r169 r186 2601 2601 } 2602 2602 2603 #ifdef __DEBUG__ 2604 2605 /* 2606 *@@ Dump: 2607 * 2608 *@@added V0.9.20 (2002-07-03) [umoeller] 2609 */ 2610 2611 static VOID Dump(int iIndent, 2612 PDOMNODE pDomNode) 2613 { 2614 PLISTNODE pChildNode; 2615 int i; 2616 for (i = 0; 2617 i < iIndent; 2618 ++i) 2619 { 2620 printf(" "); 2621 } 2622 2623 switch (pDomNode->NodeBase.ulNodeType) 2624 { 2625 #define DUMPTYPE(t) case t: printf(#t); break; 2626 DUMPTYPE(DOMNODE_ELEMENT) 2627 DUMPTYPE(DOMNODE_ATTRIBUTE) 2628 DUMPTYPE(DOMNODE_TEXT) 2629 DUMPTYPE(DOMNODE_PROCESSING_INSTRUCTION) 2630 DUMPTYPE(DOMNODE_COMMENT) 2631 DUMPTYPE(DOMNODE_DOCUMENT) 2632 DUMPTYPE(DOMNODE_DOCUMENT_TYPE) 2633 DUMPTYPE(ELEMENTPARTICLE_EMPTY) 2634 DUMPTYPE(ELEMENTPARTICLE_ANY) 2635 DUMPTYPE(ELEMENTPARTICLE_MIXED) 2636 DUMPTYPE(ELEMENTPARTICLE_CHOICE) 2637 DUMPTYPE(ELEMENTPARTICLE_SEQ) 2638 DUMPTYPE(ELEMENTPARTICLE_NAME) 2639 DUMPTYPE(ATTRIBUTE_DECLARATION_BASE) 2640 DUMPTYPE(ATTRIBUTE_DECLARATION) 2641 DUMPTYPE(ATTRIBUTE_DECLARATION_ENUM) 2642 } 2643 2644 printf(" \"%s\"\n", STRINGORNULL(pDomNode->NodeBase.strNodeName.psz)); 2645 2646 ++iIndent; 2647 for (pChildNode = lstQueryFirstNode(&pDomNode->llChildren); 2648 pChildNode; 2649 pChildNode = pChildNode->pNext) 2650 { 2651 Dump(iIndent, (PDOMNODE)pChildNode->pItemData); 2652 } 2653 --iIndent; 2654 } 2655 2656 #endif 2657 2658 /* 2659 *@@ xmlDump: 2660 * debug function which dumps the DOM to stdout. 2661 * 2662 *@@added V0.9.20 (2002-07-03) [umoeller] 2663 */ 2664 2665 VOID xmlDump(PXMLDOM pDom) 2666 { 2667 #ifdef __DEBUG__ 2668 if (!pDom) 2669 { 2670 printf(__FUNCTION__ ": pDom is NULL\n"); 2671 return; 2672 } 2673 2674 printf(__FUNCTION__ ": dumping document node "); 2675 2676 Dump(0, (PDOMNODE)pDom->pDocumentNode); 2677 #endif 2678 } 2679 2603 2680 /* 2604 2681 *@@ xmlFreeDOM: … … 2746 2823 * 2747 2824 *@@added V0.9.11 (2001-04-22) [umoeller] 2825 *@@changed V0.9.20 (2002-07-03) [umoeller]: this never worked with DTDs, fixed 2748 2826 */ 2749 2827 … … 2757 2835 ) 2758 2836 { 2759 return ((PDOMNODE)pListNode->pItemData); 2837 // V0.9.20 (2002-07-03) [umoeller]: 2838 // we can't just return the first node on the 2839 // list, because if we have DTD, this might 2840 // be the doctype... so loop until we find 2841 // an element, which must be the root element 2842 while (pListNode) 2843 { 2844 PDOMNODE pDomNode = (PDOMNODE)pListNode->pItemData; 2845 if (pDomNode->NodeBase.ulNodeType == DOMNODE_ELEMENT) 2846 return (pDomNode); 2847 2848 pListNode = pListNode->pNext; 2849 } 2760 2850 } 2761 2851 … … 2843 2933 const char *pcszName) 2844 2934 { 2845 // APIRET arc = NO_ERROR;2846 2847 2935 PLINKLIST pll = lstCreate(FALSE); // no free 2848 2936 if (pll)
Note:
See TracChangeset
for help on using the changeset viewer.