aboutsummaryrefslogtreecommitdiffstats
path: root/xmlparser-test/main.cpp
diff options
context:
space:
mode:
authorPatrick Benavoli <patrickx.benavoli@intel.com>2011-11-07 20:32:51 +0100
committerDavid Wagner <david.wagner@intel.com>2014-02-10 17:14:59 +0100
commit95ac034b72580306e9246f7efa3f7ba709a02183 (patch)
tree9dc36b32d1ff881132b3424d761aa3b06c06717d /xmlparser-test/main.cpp
parent99041c5b5ed90dd66c65fa1903a74f5f3f9a8fdc (diff)
downloadexternal_parameter-framework-95ac034b72580306e9246f7efa3f7ba709a02183.zip
external_parameter-framework-95ac034b72580306e9246f7efa3f7ba709a02183.tar.gz
external_parameter-framework-95ac034b72580306e9246f7efa3f7ba709a02183.tar.bz2
PFW: file organization
BZ: 12888, 12925, 13285, 13289 - Removed hard coded paths from source files - Separated test related resources and programs into a test subfolder - Schemas folder at root containing the schemas, a symbolic link to that folder might be a good way to enable schema aware editing - Now global configuration file path is passed from the hosting platform instead of the class name. - Global configuration path contains only the relevant class related descriptions (plugin paths, structure, settings) - .user environment file eclipsed through git-ignore (and removed from projects) - Removed system class configuration obsolete files Change-Id: I99b783ba22bca05238a760b2127939a91e976be8 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/25404 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
Diffstat (limited to 'xmlparser-test/main.cpp')
-rw-r--r--xmlparser-test/main.cpp210
1 files changed, 0 insertions, 210 deletions
diff --git a/xmlparser-test/main.cpp b/xmlparser-test/main.cpp
deleted file mode 100644
index a399b9c..0000000
--- a/xmlparser-test/main.cpp
+++ /dev/null
@@ -1,210 +0,0 @@
-/* <auto_header>
- * <FILENAME>
- *
- * INTEL CONFIDENTIAL
- * Copyright © 2011 Intel
- * Corporation All Rights Reserved.
- *
- * The source code contained or described herein and all documents related to
- * the source code ("Material") are owned by Intel Corporation or its suppliers
- * or licensors. Title to the Material remains with Intel Corporation or its
- * suppliers and licensors. The Material contains trade secrets and proprietary
- * and confidential information of Intel or its suppliers and licensors. The
- * Material is protected by worldwide copyright and trade secret laws and
- * treaty provisions. No part of the Material may be used, copied, reproduced,
- * modified, published, uploaded, posted, transmitted, distributed, or
- * disclosed in any way without Intel’s prior express written permission.
- *
- * No license under any patent, copyright, trade secret or other intellectual
- * property right is granted to or conferred upon you by disclosure or delivery
- * of the Materials, either expressly, by implication, inducement, estoppel or
- * otherwise. Any license under such intellectual property rights must be
- * express and approved by Intel in writing.
- *
- * AUTHOR: Patrick Benavoli (patrickx.benavoli@intel.com)
- * CREATED: 2011-06-01
- * UPDATED: 2011-07-27
- *
- *
- * </auto_header>
- */
-/**
- * section: Tree
- * synopsis: Navigates a tree to print element names
- * purpose: Parse a file to a tree, use xmlDocGetRootElement() to
- * get the root element, then walk the document and print
- * all the element name in document order.
- * usage: tree1 filename_or_URL
- * test: tree1 test2.xml > tree1.tmp ; diff tree1.tmp tree1.res ; rm tree1.tmp
- * author: Dodji Seketeli
- * copy: see Copyright for the status of this software.
- */
-#include <stdio.h>
-#include <stdarg.h>
-#include <libxml/parser.h>
-#include <libxml/tree.h>
-#include <libxml/xmlschemas.h>
-
-/*
- *To compile this file using gcc you can type
- *gcc `xml2-config --cflags --libs` -o xmlexample libxml2-example.c
- */
-static void schemaValidityErrorFunc(void *ctx, const char *msg, ...)
-{
- char acBuffer[256];
- va_list listPointer;
-
- (void)ctx;
-
- va_start( listPointer, msg );
- //vprintf(msg, listPointer);
-
- vsnprintf(acBuffer, sizeof(acBuffer), msg, listPointer);
-
- va_end( listPointer );
-
- puts(acBuffer);
-}
-
-static void schemaValidityWarningFunc(void *ctx, const char *msg, ...)
-{
- char acBuffer[256];
- va_list listPointer;
-
- (void)ctx;
-
- va_start( listPointer, msg );
-
- vsnprintf(acBuffer, sizeof(acBuffer), msg, listPointer);
-
- va_end( listPointer );
-
- puts(acBuffer);
-}
-
-static int is_valid(const xmlDocPtr doc, const char *schema_filename)
-{
-#ifdef LIBXML_SCHEMAS_ENABLED
- xmlDocPtr schema_doc = xmlReadFile(schema_filename, NULL, XML_PARSE_NONET);
- if (schema_doc == NULL) {
- /* the schema cannot be loaded or is not well-formed */
- return -1;
- }
- xmlSchemaParserCtxtPtr parser_ctxt = xmlSchemaNewDocParserCtxt(schema_doc);
- if (parser_ctxt == NULL) {
- /* unable to create a parser context for the schema */
- xmlFreeDoc(schema_doc);
- return -2;
- }
-
- xmlSchemaPtr schema = xmlSchemaParse(parser_ctxt);
- if (schema == NULL) {
- /* the schema itself is not valid */
- xmlSchemaFreeParserCtxt(parser_ctxt);
- xmlFreeDoc(schema_doc);
- return -3;
- }
- xmlSchemaValidCtxtPtr valid_ctxt = xmlSchemaNewValidCtxt(schema);
- if (valid_ctxt == NULL) {
- /* unable to create a validation context for the schema */
- xmlSchemaFree(schema);
- xmlSchemaFreeParserCtxt(parser_ctxt);
- xmlFreeDoc(schema_doc);
- return -4;
- }
- xmlSchemaSetValidErrors(valid_ctxt, schemaValidityErrorFunc, schemaValidityWarningFunc, NULL);
-
- int is_valid = (xmlSchemaValidateDoc(valid_ctxt, doc) == 0);
- xmlSchemaFreeValidCtxt(valid_ctxt);
- xmlSchemaFree(schema);
- xmlSchemaFreeParserCtxt(parser_ctxt);
- xmlFreeDoc(schema_doc);
-
- /* force the return value to be non-negative on success */
- return is_valid ? 1 : 0;
-#else
- return 1;
-#endif
-}
-
-/**
- * print_element_names:
- * @a_node: the initial xml node to consider.
- *
- * Prints the names of the all the xml elements
- * that are siblings or children of a given xml node.
- */
-static void
-print_element_names(xmlNode * a_node, int iLevel = 0)
-{
- xmlNode *cur_node = NULL;
-
- for (cur_node = a_node; cur_node; cur_node = cur_node->next) {
-
- int iIndent = iLevel;
-
- while (iIndent--) {
- printf(" ");
- }
-
- if (cur_node->type == XML_ELEMENT_NODE) {
-
- printf("node type: Element, name: %s\n", cur_node->name);
- }
- print_element_names(cur_node->children, iLevel + 1);
- }
-}
-
-
-/**
- * Simple example to parse a file called "file.xml",
- * walk down the DOM, and print the name of the
- * xml elements nodes.
- */
-int
-main(int argc, char **argv)
-{
- xmlDoc *doc = NULL;
- xmlNode *root_element = NULL;
-
- if (argc != 3)
- return(1);
-
- /*
- * this initialize the library and check potential ABI mismatches
- * between the version it was compiled for and the actual shared
- * library used.
- */
- LIBXML_TEST_VERSION
-
- /*parse the file and get the DOM */
- doc = xmlReadFile(argv[1], NULL, 0);
-
- if (doc == NULL) {
- printf("error: could not parse file %s\n", argv[1]);
- }
- // Validate
- if (!is_valid(doc, argv[2])) {
- printf("error: doc is not valid\n");
-
- return -1;
- }
-
-
- /*Get the root element node */
- root_element = xmlDocGetRootElement(doc);
-
-
- print_element_names(root_element);
-
- /*free the document */
- xmlFreeDoc(doc);
-
- /*
- *Free the global variables that may
- *have been allocated by the parser.
- */
- xmlCleanupParser();
-
- return 0;
-}