(1) Only if you pay a premium over par for the bond and then sell it at a higher price. (2) You could buy a bond at a discount to par, hold it until maturity and receive your principal and capital gain without selling before maturity.
imo not only. if you bought bond at discount(below price at maturity or 1000) then difference between your purchase price and price at maturity imo will be also qualified as capital gain. such difference in price also included in YTM. http://www.investopedia.com/terms/y/yieldtomaturity.asp