Unless your input stylesheet is extremely simple, the XSL processor deliberately wont parse all tags in an input file. XSL is like a data filtering language... it absolutely depends on you knowing the input schema, and knowing how to translate every part of the input document into an output document.
It's also quite top-down. Unless you make very generalized rules, you have to manually apply a transform directive to every node/set in your input documents that are important in the output document,
You should think of schema as being a set of unbreakable rules for the organisation of and type of content in a file; and XSLT as a way of moving content from a document of one schema to a document of another (or the same) schema.
XSL transformations themselves only neccessarily acknowledge the XSL namespace schema. An XSL transformation will not generate (or neccessarily comply with) an explicit schema defintion for an output document. There may be a way to enforce output document schema validity at a low level... I've never come accross it.
There's a few online tools for checking the validity of documents based on an explicit schema, I don't know if that's what you're looking for:
http://tools.decisionsoft.com/schemaValidate/
and offline tools:
http://www.altova.com/products/xmlspy/xml_editor.html
In my experience, the best way to test input against output is to create a load of test cases (documents that cover most potential inputs to a stylesheet) and transform them.
If your input documents could deviate greatly in structure, perhaps you should consider redesigning your input document's schema, or using multiple input schema/documents//stylesheets, and (if neccessary) transforming them into a single file.