Yes, for schema type checking, you need a tool that is XSD capable, and the XSD of the file. JAVA and C++ parsers can take the XSD optionally and check XML streams as they flow and xml complete object once they arrive, but it slows processing, so we didn't!
We did our own, limited checking, enough to ensure things were stable.
XSD just says the container and payload are legal, but to validate it against most business data rules is outside that: uniqueness, external relational and cross field edits, inter-record dependencies, etc.