Revert "work on figuring more stuff out--may want to revert this commit"
[pspp] / parse-xml.c
index 0c00abd908a57678cfae6f47db31b45df5cd1f66..3a32ee36e2731b317fe6a083b77b4d0f23373e80 100644 (file)
@@ -36,26 +36,15 @@ print_containment (xmlNode *node)
     {
       if (node->type == XML_ELEMENT_NODE)
         {
-          const char *child_names[5000];
-          int child_name_cnt[5000];
+          const char *child_names[512];
+          int child_name_cnt[512];
           int n_names = 0;
           for (xmlNode *child = node->children; child; child = child->next)
             {
               const char *name;
 
               if (child->type == XML_ELEMENT_NODE)
-                {
-                  name = (char *) child->name;
-                  if (!strcmp((char *) node->name, "derivedVariable")
-                      && !strcmp((char *) name, "extension"))
-                    {
-                      char *p;
-                      asprintf(&p, "%s/%s", 
-                               (char *) xmlGetProp (child, (xmlChar *) "from"),
-                               (char *) xmlGetProp (child, (xmlChar *) "helpId"));
-                      name = p;
-                    }
-                }
+                name = (char *) child->name;
               else if (child->type == XML_TEXT_NODE)
                 name = "<text>";
               else if (child->type == XML_CDATA_SECTION_NODE)
@@ -69,19 +58,17 @@ print_containment (xmlNode *node)
               else
                 name = "<other>";
 
-#if 0
               for (int i = 0; i < n_names; i++)
                 if (!strcmp(name, child_names[i]))
                   {
                     child_name_cnt[i]++;
                     goto next;
                   }
-#endif
               child_names[n_names] = name;
               child_name_cnt[n_names] = 1;
               n_names++;
 
-              //next:;
+            next:;
             }
 
           printf ("%s", node->name);
@@ -117,14 +104,6 @@ print_labels (xmlNode *node)
     }
 }
 
-static int
-compare_strings(const void *a_, const void *b_)
-{
-  const void *const *ap = a_;
-  const void *const *bp = b_;
-  return strcmp (*ap, *bp);
-}
-
 static void
 print_attributes (xmlNode * a_node)
 {
@@ -132,19 +111,9 @@ print_attributes (xmlNode * a_node)
     {
       if (node->type == XML_ELEMENT_NODE)
         {
-          printf ("%s<-%s", node->name, node->parent->name);
-
-          char *attrs[500];
-          int n_attrs = 0;
+          printf ("%s", node->name);
           for (xmlAttr *attr = node->properties; attr; attr = attr->next)
-            if (!strcmp((char *) attr->name, "baseFormat"))
-              printf(" baseFormat=%s", attr->children->content);
-            else
-              attrs[n_attrs++] = (char *) attr->name;
-          qsort(attrs, n_attrs, sizeof *attrs, compare_strings);
-
-          for (int i = 0; i < n_attrs; i++)
-            printf (" %s", attrs[i]);
+            printf (" %s", attr->name);
           putchar ('\n');
         }