[svn-commits] bkruse: branch group/appdocsxml r128199 - in /team/group/appdocsxml: ./ apps/...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Sat Jul 5 14:58:49 CDT 2008


Author: bkruse
Date: Sat Jul  5 14:58:48 2008
New Revision: 128199

URL: http://svn.digium.com/view/asterisk?view=rev&rev=128199
Log:
No more iksemel, now using mxml!

Updated the dial documentation xml to fix
an xml error, I need to figure out how to
catch these with mxml.

Modified:
    team/group/appdocsxml/Makefile
    team/group/appdocsxml/apps/app_dial.c
    team/group/appdocsxml/main/Makefile
    team/group/appdocsxml/main/pbx.c

Modified: team/group/appdocsxml/Makefile
URL: http://svn.digium.com/view/asterisk/team/group/appdocsxml/Makefile?view=diff&rev=128199&r1=128198&r2=128199
==============================================================================
--- team/group/appdocsxml/Makefile (original)
+++ team/group/appdocsxml/Makefile Sat Jul  5 14:58:48 2008
@@ -294,7 +294,7 @@
 
 # if use xml documentation?
   ASTCFLAGS+=-DXML_DOCUMENTATION
-  LIBS+=-liksemel
+  LIBS+=-lmxml
 
 ifneq ($(findstring darwin,$(OSARCH)),)
   ASTCFLAGS+=-D__Darwin__
@@ -484,7 +484,8 @@
 
 documentation:
 	@echo "Building Documentation."
-	@echo "<docs>" > documentation.xml
+	@echo "<?xml version="1.0" encoding="ISO-8859-1"?>" > documentation.xml
+	@echo "<docs>" >> documentation.xml
 	@for x in $(MOD_SUBDIRS); do \
 		for i in $$x/*.c; do \
 			$(AWK) -f build_tools/get_documentation $$i >> documentation.xml ; \

Modified: team/group/appdocsxml/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/team/group/appdocsxml/apps/app_dial.c?view=diff&rev=128199&r1=128198&r2=128199
==============================================================================
--- team/group/appdocsxml/apps/app_dial.c (original)
+++ team/group/appdocsxml/apps/app_dial.c Sat Jul  5 14:58:48 2008
@@ -122,6 +122,7 @@
 		<option name="c">
 			If DIAL cancels this call, always set the flag to tell the channel
 			driver that the call is answered elsewhere.
+		</option>
 		<option name="d">
 			Allow the calling user to dial a 1 digit extension while waiting for
 			a call to be answered. Exit to that extension if it exists in the

Modified: team/group/appdocsxml/main/Makefile
URL: http://svn.digium.com/view/asterisk/team/group/appdocsxml/main/Makefile?view=diff&rev=128199&r1=128198&r2=128199
==============================================================================
--- team/group/appdocsxml/main/Makefile (original)
+++ team/group/appdocsxml/main/Makefile Sat Jul  5 14:58:48 2008
@@ -43,7 +43,7 @@
 
 AST_LIBS += $(SSL_LIB)
 AST_LIBS += $(BKTR_LIB)
-AST_LIBS += -liksemel
+AST_LIBS += -lmxml -L../menuselect/mxml
 
 ifeq ($(POLL_AVAILABLE),)
   OBJS+=poll.o

Modified: team/group/appdocsxml/main/pbx.c
URL: http://svn.digium.com/view/asterisk/team/group/appdocsxml/main/pbx.c?view=diff&rev=128199&r1=128198&r2=128199
==============================================================================
--- team/group/appdocsxml/main/pbx.c (original)
+++ team/group/appdocsxml/main/pbx.c Sat Jul  5 14:58:48 2008
@@ -16,10 +16,6 @@
  * at the top of the source tree.
  */
 
-/*** MODULEINFO
-	<depend>iksemel</depend>
- ***/
-
 /*! \file
  *
  * \brief Core PBX routines.
@@ -31,7 +27,7 @@
 
 ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
-#include <iksemel.h>
+#include "../menuselect/mxml/mxml.h"
 
 #include "asterisk/_private.h"
 #include "asterisk/paths.h"	/* use ast_config_AST_SYSTEM_NAME */
@@ -335,8 +331,7 @@
 static unsigned int hashtab_hash_labels(const void *obj);
 static void __ast_internal_context_destroy( struct ast_context *con);
 #ifdef XML_DOCUMENTATION
-static int xml_tag(void *udata, char *name, char **atts, int type); 
-static int xml_cdata(void *udata, char *data, size_t len); 
+mxml_node_t *documentation_tree;
 #endif
 
 /* a func for qsort to use to sort a char array */
@@ -4314,36 +4309,6 @@
 	return 0;
 }
 
-/*! \brief Throwing away cdata, don't care now. */
-static int xml_cdata(void *udata, char *data, size_t len) {
-	return IKS_OK;
-}
-
-/*! \brief Debug out the information loaded from the document. */
-static int xml_tag(void *udata, char *name, char **atts, int type) {
-
-	switch(type) {
-		case IKS_OPEN:
-			ast_log(LOG_DEBUG, "TAG <%s>\n", name);
-			break;
-		case IKS_CLOSE:
-			ast_log(LOG_DEBUG, "TAG </%s>\n", name);
-			break;
-		case IKS_SINGLE:
-			ast_log(LOG_DEBUG, "TAG <%s/>\n", name);
-			break;
-	}
-
-	if(atts) {
-		int i = 0;
-		while(atts[i]) {
-			ast_log(LOG_DEBUG, " ATTRIB %s='%s'\n", atts[i], atts[i+1]);
-			i += 2;
-		}	
-	}
-	return 0;
-}
-
 /* todo: If we cannot read the file, don't allow people to try to register
  * with ast_register_application_xml */
 
@@ -4351,15 +4316,11 @@
 static int ast_load_documentation(void) {
 
 	FILE *xmldoc;
-	iksparser *p;
-	char *buf;
-	long length;
+	mxml_node_t *node;
 
 	ast_log(LOG_DEBUG, "************** LOADING XML DOCUMENTATION ********************\n");
 
 	/* For now, I just throw away cdata */
-	p = iks_sax_new(NULL, xml_tag, xml_cdata);	
-
 	xmldoc = fopen(FILE_XML_DOC, "r");
 
 	if(!xmldoc) {
@@ -4367,37 +4328,16 @@
 		return 1;
 	}
 
-	/* Get filesize, alloc space */
-	fseek(xmldoc, 0, SEEK_END);
-	/* We should have some sort of bounds checking */
-	length = ftell(xmldoc); 
-	fseek(xmldoc, 0, SEEK_SET);
-
-	buf = (char *)malloc(length);
-
-	fread(buf, length, 1, xmldoc);
+	documentation_tree = mxmlLoadFile(NULL, xmldoc, MXML_TEXT_CALLBACK);
+
 	fclose(xmldoc);
 
-	ast_log(LOG_ERROR, "test: %s\n", buf);
+	node = mxmlFindElement(documentation_tree, documentation_tree, "application", "name", "Dial", MXML_DESCEND);
+
+	ast_log(LOG_WARNING, "Testing: ********** '%s'", node->value.opaque);
+
 	/* Ok, let's now process it. */
 	/* Check for errors in loading the doc */
-	switch(iks_parse(p, buf, 0, 1)) {
-		case IKS_OK:
-			/* looks good, no more error checking */
-			ast_log(LOG_DEBUG, "Document Successfully Parsed\n");
-			break;
-		case IKS_NOMEM:
-			ast_log(LOG_ERROR, "Not enough memory to parse the xml document.\n");
-			return 1;
-		case IKS_BADXML:
-			ast_log(LOG_ERROR, "Bad XML Format in the xml document.\n");
-			return 1;
-		case IKS_HOOK:
-			ast_log(LOG_ERROR, "XML hooking problem? idk.\n");
-			return 1;
-	} 	
-
-	iks_parser_delete(p);
 
 	return 0;
 }




More information about the svn-commits mailing list