I also have this problem and could only come up by accident with this partial solution. I hope it's not the actual way of doing it.
The problem is you need to have more than one porkchop in your inventory slot; then, when you right click on the dog, two porkchops will be consumed: the first by you, the second by the dog. You'll be able to see this is working because:
- You consume two porkchops per right click.
- The dog's tail raises.
- The dog does not toggle between sitting and standing stance (like it usually would do when "just" right clicking).
Basically:
- Right click on dog to order him to sit.
- Select porkchops.
- Right click on dog until he stands up.
Now you have traded (a lot of) bacon for a fully healthy dog.
According to Minecraft Wiki > Ocelot#Taming:
When the fish is held, the Ocelot will slowly approach the player, and when it stops, right-clicking raw fish on the Ocelot will begin to tame it. The Ocelot will begin emitting hearts when fed, but is not actually tamed until it changes to a cat. Taming an Ocelot is likely to take more than one fish, sometimes up to five.
If Right-clicked and nothing happens, then:
- The player is chasing it.
- The player is not within 5 blocks of the Ocelot.
- The player or the Ocelot is in a minecart.
- The Ocelot cannot escape (if it is on a structure that is more than 4 blocks high).
- The player has already moved or taken damage from a hostile mob.
And in Minecraft Wiki > Ocelot#Trivia:
If you fail to tame an ocelot, it will still show heart particles. Dinnerbone states that it was because they like you for giving them fish, but still want more. Studying the game shows that they are actually going into breeding mode, and if there are two such ocelots in the area they will spawn a baby.
(Emphasis mine)
So, it is true that ocelots will want to breed. To really tame it, you shall keep on giving it fish until it is finally tamed and turns into a cat. Also, prevent moving or rotating the camera too quickly. If it is not accepting fish, it may be frightened or it is too far from you (see above).
In the screenshot you provided, it seems that the ocelot is more than 5 blocks away from you. This might be the cause of it not accepting more fish from you (since you can't give it fish when it is too far away). Also, it looks like being frightened by you. If you have moved or rotated the camera, that would explain.
Best Answer
With the new 1.14 update you can no-longer tame ocelots but rather you need to find a stay cat in a village, the taming process is just the same though, (approaching the cat slowly with fish). I recommend having 5-10+ fish on you.