Nutty
Deity
Well... It's true that it's not possible with XML, but it's possible (and frankly a whole lot easier) with SQL. For bonus points, the trigger makes it work without worrying about mod load order or mucking about with references.Nope...

3 statements are the entirety of the mod (2 statements to replace all the XML that you did, @Enginseer, and one more for the trigger):
Code:
INSERT INTO Unit_FreePromotions (UnitType, PromotionType)
SELECT Type, 'PROMOTION_RIVAL_TERRITORY_SHIP' FROM Units
WHERE CombatClass IN ('UNITCOMBAT_NAVALRANGED', 'UNITCOMBAT_NAVALMELEE');
INSERT INTO UnitPromotions_UnitCombats (PromotionType, UnitCombatType)
VALUES
('PROMOTION_RIVAL_TERRITORY_SHIP', 'UNITCOMBAT_NAVALRANGED'),
('PROMOTION_RIVAL_TERRITORY_SHIP', 'UNITCOMBAT_NAVALMELEE');
CREATE TRIGGER ShipsIgnoreBorders AFTER INSERT ON Units
WHEN NEW.CombatClass IN ('UNITCOMBAT_NAVALRANGED', 'UNITCOMBAT_NAVALMELEE')
BEGIN
INSERT INTO Unit_FreePromotions (UnitType, PromotionType)
VALUES (NEW.Type, 'PROMOTION_RIVAL_TERRITORY_SHIP');
END;
Enjoy.