summaryrefslogtreecommitdiff
path: root/ACE/ACEXML/tests/NamespaceSupport_Test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/ACEXML/tests/NamespaceSupport_Test.cpp')
-rw-r--r--ACE/ACEXML/tests/NamespaceSupport_Test.cpp150
1 files changed, 150 insertions, 0 deletions
diff --git a/ACE/ACEXML/tests/NamespaceSupport_Test.cpp b/ACE/ACEXML/tests/NamespaceSupport_Test.cpp
new file mode 100644
index 00000000000..2632c6dc571
--- /dev/null
+++ b/ACE/ACEXML/tests/NamespaceSupport_Test.cpp
@@ -0,0 +1,150 @@
+// $Id$
+
+#include "ACEXML/common/NamespaceSupport.h"
+#include "ace/OS_main.h"
+
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ ACEXML_NamespaceSupport xmlns;
+ if (xmlns.init() == -1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Error in initializing namespace support.")));
+ return 1;
+ }
+ xmlns.pushContext();
+ xmlns.declarePrefix(ACE_TEXT (""),
+ ACE_TEXT ("http://www.w3.org/1999/xhtml"));
+ xmlns.declarePrefix(ACE_TEXT ("dc"),
+ ACE_TEXT ("http://www.purl.org/dc#"));
+ xmlns.declarePrefix(ACE_TEXT ("xc"),
+ ACE_TEXT ("http://www.purl.org/dc#"));
+
+ const ACEXML_Char *lName, *uri;
+ const ACEXML_Char *n1 = ACE_TEXT ("p");
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("*** Checking processName:\n")));
+ if (xmlns.processName (n1, uri, lName, 0) != 0)
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("Fail to resolve namespace name %s\n"),
+ n1));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Namespace URI: %s\nLocal name: %s\nRaw name: %s\n"),
+ uri, lName, n1));
+
+ const ACEXML_Char *n2 = ACE_TEXT ("dc:title");
+ if (xmlns.processName(n2, uri, lName, 0) != 0)
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("Fail to resolve namespace name %S\n"),
+ n2));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Namespace URI: %s\nLocal name: %s\nRaw name: %s\n"),
+ uri, lName, n2));
+
+ const ACEXML_Char *n3 = ACE_TEXT ("xml:title");
+ if (xmlns.processName(n3, uri, lName, 0) != 0)
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("Fail to resolve namespace name %S\n"),
+ n3));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Namespace URI: %s\nLocal name: %s\nRaw name: %s\n"),
+ uri, lName, n3));
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("\n*** Checking getDeclaredPrefixes\n")));
+
+ ACEXML_STR_LIST prefixes;
+ if (xmlns.getDeclaredPrefixes (prefixes) != 0)
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("Fail to get a list of declared prefixes\n")));
+ else
+ {
+ ACEXML_STR_LIST::ITERATOR iter = prefixes.begin ();
+ const ACEXML_Char **prefix = 0;
+
+ for (; iter.next (prefix);iter.advance ())
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("prefix: \"%s\"\n"), *prefix));
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getPrefix\n")));
+ const ACEXML_Char *prefix = 0;
+
+ if ((prefix = xmlns.getPrefix (ACE_TEXT ("http://www.purl.org/dc#"))) == 0)
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("Fail to get prefix of http://www.purl.org/dc#\n")));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Prefix of http://www.purl.org/dc# is %s\n"),
+ prefix));
+
+ if ((prefix = xmlns.getPrefix (ACE_TEXT ("http://www.w3.org/1999/xhtml"))) == 0)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Fail to get prefix of http://www.w3.org/1999/xhtml which is okay\n")));
+ else
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("ERROR: Prefix of http://www.w3.org/1999/xhtml is %s\n"),
+ prefix));
+
+ if ((prefix = xmlns.getPrefix (ACE_TEXT ("http://www.w3.org/XML/1998/namespace"))) == 0)
+ ACE_DEBUG ((LM_ERROR,
+ ACE_TEXT ("Fail to get prefix of http://www.w3.org/XML/1998/namespace\n")));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Prefix of http://www.w3.org/XML/1998/namespace is %s\n"),
+ prefix));
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getPrefixes with known URI\n")));
+ prefixes.reset ();
+
+ if (xmlns.getPrefixes (ACE_TEXT ("http://www.purl.org/dc#"), prefixes) != 0)
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to getPrefixes based on known URI\n")));
+ else
+ {
+ ACEXML_STR_LIST::ITERATOR iter = prefixes.begin ();
+ const ACEXML_Char **prefix = 0;
+
+ for (; iter.next (prefix);iter.advance ())
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("prefix: \"%s\"\n"), *prefix));
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getPrefixes\n")));
+ prefixes.reset ();
+
+ if (xmlns.getPrefixes (prefixes) != 0)
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to getPrefixes\n")));
+ else
+ {
+ ACEXML_STR_LIST::ITERATOR iter = prefixes.begin ();
+ const ACEXML_Char **prefix = 0;
+
+ for (; iter.next (prefix);iter.advance ())
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("prefix: \"%s\"\n"), *prefix));
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getURI\n")));
+ const ACEXML_Char *URI = 0;
+
+ if ((URI = xmlns.getURI (ACE_TEXT ("dc"))) == 0)
+ ACE_DEBUG((LM_ERROR, ACE_TEXT ("Fail to get URI for \"dc\"\n")));
+ else
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for \"dc\" is %s\n"), URI));
+ if ((URI = xmlns.getURI (ACE_TEXT ("xc"))) == 0)
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to get URI for \"xc\"\n")));
+ else
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for \"xc\" is %s\n"), URI));
+ if ((URI = xmlns.getURI (ACE_TEXT ("xml"))) == 0)
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to get URI for \"xml\"\n")));
+ else
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for \"xml\" is %s\n"), URI));
+ if ((URI = xmlns.getURI (ACE_TEXT (""))) == 0)
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to get default namespace URI\n")));
+ else
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for default namespace is %s\n"), URI));
+
+ xmlns.popContext();
+
+ return 0;
+}