diff --git a/ndn-cpp/c/encoding/BinaryXMLKey.h b/ndn-cpp/c/encoding/BinaryXMLKey.h
index 8896dd6..8ccbcac 100644
--- a/ndn-cpp/c/encoding/BinaryXMLKey.h
+++ b/ndn-cpp/c/encoding/BinaryXMLKey.h
@@ -18,27 +18,27 @@
 /**
  * Encode the ndn_KeyLocator struct using Binary XML.  If keyLocator->type is -1, then do nothing. 
  * @param keyLocator pointer to the ndn_KeyLocator struct
- * @param encoder pointer to the ndn_BinaryXMLEncoder struct
+ * @param encoder pointer to the ndn_BinaryXmlEncoder struct
  * @return 0 for success, else an error code
  */
-ndn_Error ndn_encodeBinaryXMLKeyLocator(struct ndn_KeyLocator *keyLocator, struct ndn_BinaryXMLEncoder *encoder);
+ndn_Error ndn_encodeBinaryXmlKeyLocator(struct ndn_KeyLocator *keyLocator, struct ndn_BinaryXmlEncoder *encoder);
 
 /**
  * Expect the next element to be a Binary XML KeyLocator and decode into the ndn_KeyLocator struct.
  * @param keyLocator pointer to the ndn_KeyLocator struct
- * @param decoder pointer to the ndn_BinaryXMLDecoder struct
+ * @param decoder pointer to the ndn_BinaryXmlDecoder struct
  * @return 0 for success, else an error code, including if the next element is not KeyLocator.
  */
-ndn_Error ndn_decodeBinaryXMLKeyLocator(struct ndn_KeyLocator *keyLocator, struct ndn_BinaryXMLDecoder *decoder);
+ndn_Error ndn_decodeBinaryXmlKeyLocator(struct ndn_KeyLocator *keyLocator, struct ndn_BinaryXmlDecoder *decoder);
 
 /**
  * Peek the next element and if it is a Binary XML KeyLocator and decode into the ndn_KeyLocator struct.
  * Otherwise, set the ndn_KeyLocator struct to none.
  * @param keyLocator pointer to the ndn_KeyLocator struct
- * @param decoder pointer to the ndn_BinaryXMLDecoder struct
+ * @param decoder pointer to the ndn_BinaryXmlDecoder struct
  * @return 0 for success, else an error code, including if the next element is not KeyLocator.
  */
-ndn_Error ndn_decodeOptionalBinaryXMLKeyLocator(struct ndn_KeyLocator *keyLocator, struct ndn_BinaryXMLDecoder *decoder);
+ndn_Error ndn_decodeOptionalBinaryXmlKeyLocator(struct ndn_KeyLocator *keyLocator, struct ndn_BinaryXmlDecoder *decoder);
 
 #ifdef	__cplusplus
 }
