There are pretty ugly solutions to this.
You can use the itemref attribute for the country, but you need to add dummy untyped itemscope so that the addressCountry property addressCountry not added to the Person element:
<table> <tr itemscope itemtype="http://schema.org/Person"> <td itemprop="name"> Name </td> <td itemprop="address" itemscope itemtype="http://schema.org/PostalAddress" itemref="country"> <span itemprop="streetAddress">123 main</span> </td> <td itemscope> <span itemprop="addressCountry" id="country">USA</span> </td> </tr> </table>
You can use itemref for just about anything, so you don't need to add dummy itemscope , but the markup becomes more complex and you have to outsource the Person element:
<meta itemscope itemtype="http://schema.org/Person" itemref="person-name person-address" /> <table> <tr> <td itemprop="name" id="person-name"> Name </td> <td itemprop="address" itemscope itemtype="http://schema.org/PostalAddress" id="person-address" itemref="address-country"> <span itemprop="streetAddress">123 main</span> </td> <td itemprop="addressCountry" id="address-country"> USA </td> </tr> </table>
Or else Person in table , adding it to the first td :
<table> <tr> <td itemscope itemtype="http://schema.org/Person" itemref="person-address"> <span itemprop="name">Name</span> </td> <td itemprop="address" itemscope itemtype="http://schema.org/PostalAddress" id="person-address" itemref="address-country"> <span itemprop="streetAddress">123 main</span> </td> <td itemprop="addressCountry" id="address-country"> USA </td> </tr> </table>
unor
source share