NamespaceSupport_Test.cpp File Reference

#include "ACEXML/common/NamespaceSupport.h"
#include "ace/OS_main.h"

Include dependency graph for NamespaceSupport_Test.cpp:

Include dependency graph

Go to the source code of this file.

Functions

int ACE_TMAIN (int, ACE_TCHAR *[])


Function Documentation

int ACE_TMAIN int  ,
ACE_TCHAR []
 

Definition at line 6 of file NamespaceSupport_Test.cpp.

References ACE_DEBUG, ACE_TEXT, ACEXML_Char, ACEXML_STR_LIST, ACE_Unbounded_Queue< T >::begin(), ACEXML_NamespaceSupport::declarePrefix(), ACEXML_NamespaceSupport::getDeclaredPrefixes(), ACEXML_NamespaceSupport::getPrefix(), ACEXML_NamespaceSupport::getPrefixes(), ACEXML_NamespaceSupport::getURI(), ACEXML_NamespaceSupport::init(), LM_DEBUG, LM_ERROR, ACEXML_NamespaceSupport::popContext(), ACEXML_NamespaceSupport::processName(), ACEXML_NamespaceSupport::pushContext(), and ACE_Unbounded_Queue< T >::reset().

00007 {
00008   ACEXML_NamespaceSupport xmlns;
00009   if (xmlns.init() == -1)
00010     {
00011       ACE_DEBUG ((LM_DEBUG,
00012                   ACE_TEXT ("Error in initializing namespace support.")));
00013       return 1;
00014     }
00015   xmlns.pushContext();
00016   xmlns.declarePrefix(ACE_TEXT (""),
00017                       ACE_TEXT ("http://www.w3.org/1999/xhtml"));
00018   xmlns.declarePrefix(ACE_TEXT ("dc"),
00019                       ACE_TEXT ("http://www.purl.org/dc#"));
00020   xmlns.declarePrefix(ACE_TEXT ("xc"),
00021                       ACE_TEXT ("http://www.purl.org/dc#"));
00022 
00023   const ACEXML_Char *lName, *uri;
00024   const ACEXML_Char *n1 = ACE_TEXT ("p");
00025 
00026   ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("*** Checking processName:\n")));
00027   if (xmlns.processName (n1, uri, lName, 0) != 0)
00028     ACE_DEBUG ((LM_ERROR,
00029                 ACE_TEXT ("Fail to resolve namespace name %s\n"),
00030                 n1));
00031   else
00032     ACE_DEBUG ((LM_DEBUG,
00033                 ACE_TEXT ("Namespace URI: %s\nLocal name: %s\nRaw name: %s\n"),
00034                 uri, lName, n1));
00035 
00036   const ACEXML_Char *n2 = ACE_TEXT ("dc:title");
00037   if (xmlns.processName(n2, uri, lName, 0) != 0)
00038     ACE_DEBUG ((LM_ERROR,
00039                 ACE_TEXT ("Fail to resolve namespace name %S\n"),
00040                 n2));
00041   else
00042     ACE_DEBUG ((LM_DEBUG,
00043                 ACE_TEXT ("Namespace URI: %s\nLocal name: %s\nRaw name: %s\n"),
00044                 uri, lName, n2));
00045 
00046   const ACEXML_Char *n3 = ACE_TEXT ("xml:title");
00047   if (xmlns.processName(n3, uri, lName, 0) != 0)
00048     ACE_DEBUG ((LM_ERROR,
00049                 ACE_TEXT ("Fail to resolve namespace name %S\n"),
00050                 n3));
00051   else
00052     ACE_DEBUG ((LM_DEBUG,
00053                 ACE_TEXT ("Namespace URI: %s\nLocal name: %s\nRaw name: %s\n"),
00054                 uri, lName, n3));
00055 
00056   ACE_DEBUG ((LM_DEBUG,
00057               ACE_TEXT ("\n*** Checking getDeclaredPrefixes\n")));
00058 
00059   ACEXML_STR_LIST prefixes;
00060   if (xmlns.getDeclaredPrefixes (prefixes) != 0)
00061     ACE_DEBUG ((LM_ERROR,
00062                 ACE_TEXT ("Fail to get a list of declared prefixes\n")));
00063   else
00064     {
00065       ACEXML_STR_LIST::ITERATOR iter = prefixes.begin ();
00066       const ACEXML_Char **prefix = 0;
00067 
00068       for (; iter.next (prefix);iter.advance ())
00069         ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("prefix: \"%s\"\n"), *prefix));
00070     }
00071 
00072   ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getPrefix\n")));
00073   const ACEXML_Char *prefix = 0;
00074 
00075   if ((prefix = xmlns.getPrefix (ACE_TEXT ("http://www.purl.org/dc#"))) == 0)
00076     ACE_DEBUG ((LM_ERROR,
00077                 ACE_TEXT ("Fail to get prefix of http://www.purl.org/dc#\n")));
00078   else
00079     ACE_DEBUG ((LM_DEBUG,
00080                 ACE_TEXT ("Prefix of http://www.purl.org/dc# is %s\n"),
00081                 prefix));
00082 
00083   if ((prefix = xmlns.getPrefix (ACE_TEXT ("http://www.w3.org/1999/xhtml"))) == 0)
00084     ACE_DEBUG ((LM_DEBUG,
00085                 ACE_TEXT ("Fail to get prefix of http://www.w3.org/1999/xhtml which is okay\n")));
00086   else
00087     ACE_DEBUG ((LM_ERROR,
00088                 ACE_TEXT ("ERROR: Prefix of http://www.w3.org/1999/xhtml is %s\n"),
00089                 prefix));
00090 
00091   if ((prefix = xmlns.getPrefix (ACE_TEXT ("http://www.w3.org/XML/1998/namespace"))) == 0)
00092     ACE_DEBUG ((LM_ERROR,
00093                 ACE_TEXT ("Fail to get prefix of http://www.w3.org/XML/1998/namespace\n")));
00094   else
00095     ACE_DEBUG ((LM_DEBUG,
00096                 ACE_TEXT ("Prefix of http://www.w3.org/XML/1998/namespace is %s\n"),
00097                 prefix));
00098 
00099   ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getPrefixes with known URI\n")));
00100   prefixes.reset ();
00101 
00102   if (xmlns.getPrefixes (ACE_TEXT ("http://www.purl.org/dc#"), prefixes) != 0)
00103     ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to getPrefixes based on known URI\n")));
00104   else
00105     {
00106       ACEXML_STR_LIST::ITERATOR iter = prefixes.begin ();
00107       const ACEXML_Char **prefix = 0;
00108 
00109       for (; iter.next (prefix);iter.advance ())
00110         ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("prefix: \"%s\"\n"), *prefix));
00111     }
00112 
00113   ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getPrefixes\n")));
00114   prefixes.reset ();
00115 
00116   if (xmlns.getPrefixes (prefixes) != 0)
00117     ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to getPrefixes\n")));
00118   else
00119     {
00120       ACEXML_STR_LIST::ITERATOR iter = prefixes.begin ();
00121       const ACEXML_Char **prefix = 0;
00122 
00123       for (; iter.next (prefix);iter.advance ())
00124         ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("prefix: \"%s\"\n"), *prefix));
00125     }
00126 
00127   ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getURI\n")));
00128   const ACEXML_Char *URI = 0;
00129 
00130   if ((URI = xmlns.getURI (ACE_TEXT ("dc"))) == 0)
00131     ACE_DEBUG((LM_ERROR, ACE_TEXT ("Fail to get URI for \"dc\"\n")));
00132   else
00133     ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for \"dc\" is %s\n"), URI));
00134   if ((URI = xmlns.getURI (ACE_TEXT ("xc"))) == 0)
00135     ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to get URI for \"xc\"\n")));
00136   else
00137     ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for \"xc\" is %s\n"), URI));
00138   if ((URI = xmlns.getURI (ACE_TEXT ("xml"))) == 0)
00139     ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to get URI for \"xml\"\n")));
00140   else
00141     ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for \"xml\" is %s\n"), URI));
00142   if ((URI = xmlns.getURI (ACE_TEXT (""))) == 0)
00143     ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to get default namespace URI\n")));
00144   else
00145     ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for default namespace is %s\n"), URI));
00146 
00147   xmlns.popContext();
00148 
00149   return 0;
00150 }


Generated on Thu Nov 9 11:46:59 2006 for ACEXML by doxygen 1.3.6