diff options
Diffstat (limited to 'ACE/ACEXML/tests/NamespaceSupport_Test.cpp')
-rw-r--r-- | ACE/ACEXML/tests/NamespaceSupport_Test.cpp | 150 |
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; +} |