Make toEscapedString public static.
diff --git a/ndn-cpp/name.cpp b/ndn-cpp/name.cpp
index 9e60ca9..2886d1a 100644
--- a/ndn-cpp/name.cpp
+++ b/ndn-cpp/name.cpp
@@ -4,7 +4,6 @@
  */
 
 #include <stdexcept>
-#include <sstream>
 #include <algorithm>
 #include "name.hpp"
 
@@ -12,51 +11,6 @@
 
 namespace ndn {
 
-/**
- * Write the value to result, escaping characters according to the NDN URI Scheme.
- * This also adds "..." to a value with zero or more ".".
- * @param value the buffer with the value to escape
- * @param result the string stream to write to.
- */
-static void toEscapedString(const vector<unsigned char> &value, ostringstream &result)
-{
-  bool gotNonDot = false;
-  for (unsigned i = 0; i < value.size(); ++i) {
-    if (value[i] != 0x2e) {
-      gotNonDot = true;
-      break;
-    }
-  }
-  if (!gotNonDot) {
-    // Special case for component of zero or more periods.  Add 3 periods.
-    result << "...";
-    for (unsigned int i = 0; i < value.size(); ++i)
-      result << '.';
-  }
-  else {
-    // In case we need to escape, set to upper case hex and save the previous flags.
-    ios::fmtflags saveFlags = result.flags(ios::hex | ios::uppercase);
-    
-    for (unsigned int i = 0; i < value.size(); ++i) {
-      unsigned char x = value[i];
-      // Check for 0-9, A-Z, a-z, (+), (-), (.), (_)
-      if (x >= 0x30 && x <= 0x39 || x >= 0x41 && x <= 0x5a ||
-        x >= 0x61 && x <= 0x7a || x == 0x2b || x == 0x2d || 
-        x == 0x2e || x == 0x5f)
-        result << x;
-      else {
-        result << '%';
-        if (x < 16)
-          result << '0';
-        result << (unsigned int)x;
-      }
-    }
-    
-    // Restore.
-    result.flags(saveFlags);
-  }  
-}
-
 static const char *WHITESPACE_CHARS = " \n\r\t";
 
 /**
@@ -298,4 +252,43 @@
 	return true;
 }
 
+void Name::toEscapedString(const vector<unsigned char> &value, ostringstream &result)
+{
+  bool gotNonDot = false;
+  for (unsigned i = 0; i < value.size(); ++i) {
+    if (value[i] != 0x2e) {
+      gotNonDot = true;
+      break;
+    }
+  }
+  if (!gotNonDot) {
+    // Special case for component of zero or more periods.  Add 3 periods.
+    result << "...";
+    for (unsigned int i = 0; i < value.size(); ++i)
+      result << '.';
+  }
+  else {
+    // In case we need to escape, set to upper case hex and save the previous flags.
+    ios::fmtflags saveFlags = result.flags(ios::hex | ios::uppercase);
+    
+    for (unsigned int i = 0; i < value.size(); ++i) {
+      unsigned char x = value[i];
+      // Check for 0-9, A-Z, a-z, (+), (-), (.), (_)
+      if (x >= 0x30 && x <= 0x39 || x >= 0x41 && x <= 0x5a ||
+        x >= 0x61 && x <= 0x7a || x == 0x2b || x == 0x2d || 
+        x == 0x2e || x == 0x5f)
+        result << x;
+      else {
+        result << '%';
+        if (x < 16)
+          result << '0';
+        result << (unsigned int)x;
+      }
+    }
+    
+    // Restore.
+    result.flags(saveFlags);
+  }  
+}
+
 }