Actually it's not yet clear about McCain. Persons born to two US Citizens, while the father (or now the mother) were acting as representatives of their country, or serving in it's armed forces, may be in considered to have been born "within the Nation" even if not on it's territory. Certainly their parents were Subject to the jurisdiction thereof, more than most folks in fact.
John Sydney McCain was born in a public hospital in the city of Colon, Republic of Panama (as per the birth certificate posted on his internet site during the campaign). He was born on foreign soil. Because his parents were both U.S. citizens he has always been considered a native born citizen. But he is ineligible to be President.
This lack of eligibility is why he was pushed by Democrat cross-over voters early in the primary, so the Republicans couldn’t challenge Obama later on the natural born citizen issue.
Diabolical, wasn’t it?