Thanks guys!
This is still fuzzy for me, though. The entire XHTML schema is a bit overwhelming for someone so new to schema like me (though the link is useful and I did manage to strip down the XHTML schema to meet my needs).
Also, the .NET example seems like what I'm looking for, but the XmlValidatingReader I used barfed with any sample data that doesn't contain a root element (which was the original source of my confusion).
It turns out that when I was using the XmlValidatingReader, I was setting the XmlNodeType to "Document" which does require a root element. Setting the node type to "Element" cleared up that problem.
Things appear to be working now, though on a side note, do you guys know if there's anything I can do in a schema to enforce self-closing tag vs. empty tags?
In particular, is there a way I can tweak my schema to require <br/> and not <br></br>?