Hi there,
You can use separate sitemaps along with a sitemap index but when you use you hreflang annotations you must specify all alternates for the URL. or they may not be understood correctly. You’re fine to use a sitemap for all of your content which you don’t wish to add the hreflang tags to, and another for the URLs with hreflang tags.
Just remember to specify every version of each page you mention in your hreflang sitemap along with a <loc>entry all wrapped in a <url>tag:</url></loc>
<url><loc>http://example.com</loc>
<xhtml:link rel="”alternate”" hreflang="”x-default”" href="”http://example.com”">//for users with no version specified
<xhtml:link rel="”alternate”" hreflang="”en”" href="”<a">http://example.com” /> //for English users in any country
<xhtml:link rel="”alternate”" hreflang="”en-us”" href="”<a">http://example.com” /> //us english
<xhtml:link rel="”alternate”" hreflang="”en-gb”" href="”<a">http://example.co.uk” /> //uk english
<xhtml:link rel="”alternate”" hreflang="”it-it”" href="”<a">http://example.it” /> //Italian users in Italy
<xhtml:link rel="”alternate”" hreflang="”it”" href="”<a">http://it.example.com” /> //Italian users anywhere</xhtml:link></xhtml:link></xhtml:link></xhtml:link></xhtml:link></xhtml:link></url>
You cannot have one sitemap for hreflang=”en” and another for hreflang=”it” but you can use a separate sitemap on example.it specifying static pages on that domain:
<loc>example.it <loc><loc>example.it/page2</loc></loc></loc>
Your hreflang sitemap on example.it would have the same hreflang tags as the .com, but with the Italian domain specified in <loc>:</loc>
<url><loc>http://example.it</loc>
<xhtml:link rel="”alternate”" hreflang="”x-default”" href="”<a">http://example.com” /> //for users with no version specified
<xhtml:link rel="”alternate”" hreflang="”en”" href="”<a">http://example.com” /> //for English users in any country
<xhtml:link rel="”alternate”" hreflang="”en-us”" href="”<a">http://example.com” /> //us english
<xhtml:link rel="”alternate”" hreflang="”en-gb”" href="”<a">http://example.co.uk” /> //uk english
<xhtml:link rel="”alternate”" hreflang="”it-it”" href="”<a">http://example.it” /> //Italian users in Italy
<xhtml:link rel="”alternate”" hreflang="”it”" href="”<a">http://it.example.com” /> //Italian users anywhere else</xhtml:link></xhtml:link></xhtml:link></xhtml:link></xhtml:link></xhtml:link></url>
So, each domain would need its own ‘sitemap 1’ (the hreflang sitemap) and its own sitemap 2 specifying the pages which weren’t in the hreflang sitemap, and its own sitemap index pointing to both sitemaps. Unless you verify both properties under the same WMT account, then you could use a sitemap containing every <loc>from all different sites, along with all their international variations, and reference that 1 international sitemap in your sitemap index for every site – this post will explain multiple domains: https://support.google.com/webmasters/answer/75712</loc>
This webmaster help pages explains about sitemap hreflang implementation: https://support.google.com/webmasters/answer/2620865?hl=en
Hope that helps,
Tom