There's an enormous literature on managing code-lists but you seem to be looking for a cheap-and-cheerful solution. In that case you might like to use XML entities: write the schema as
Code:
<!DOCTYPE xs:schema [
<!ENTITY codelist "codes.xml"/>
]>
<xs:schema>
<xs:simpleType name="categories">
<xs:restriction base="xs:normalizedString">
&codelist;
</xs:restriction>
</xs:simpleType>
and parse it using a SAX parser with a custom EntityResolver. When the parser tries to find codes.xml it will call your EntityResolver and you can return anything you like.