Implementing a zero-knowledge proof I'm trying to get my head around zero-knowledge proofs and my definition of a zero-knowledge proof is as follows.


  A zero-knowledge proof is a method by which one party can prove to
  another party that they know a secret value, without sharing any
  data about this secret value.


To implement a zero-knowledge proof some data will need to be exchanged.

With that in mind, is the following assertion correct? 


To implement a zero-knowledge proof, data can be exchanged but this data should not contain any information about the secret value?


If the above holds true, could a digital signature be classified as a zero-knowledge proof?
Your initial definition is imprecise

A zero-knowledge proof is a method by which one party can prove to
another party that they know a secret value, without sharing any data
about this secret value.

This is not merely a zero-knowledge proof, but it is a zero-knowledge proof of knowledge. A zero-knowledge proof is more general, it can be proving a statement that may or may not relate to a secret.

Is the following assertion correct?
To implement a zero-knowledge proof, data can be exchanged but this
data should not contain any information about the secret value?

No this assertion is too loose. Not only the data must not contain any information about the secret value, but it must not contain any new information, or anything that could not have been generated without knowing the secret.
A digital signature is a piece of data that cannot be generated without knowledge of the secret. It is a proof of knowledge, but it is not zero-knowledge because it is leaking some information.
I can take that signature and use it on its own, to claim the following statement: &quot;someone knows the secret&quot;. This was not possible before the exchange.
All of the data exchanged must be trivial to create on its own, the proof is only valid from the point of view of the verifier producing the challenges, in a statistical sense.