Я хочу взять каждый элемент XSD и обработать их (например, распечатав их и их атрибуты).
Схема XML имеет сложную структуру, которая сложна обрабатывать, если вы рассматриваете XSD как XML документы. Если вы все равно попробуете, вы, скорее всего, ошибетесь.
Существуют библиотеки кодов, которые будут загружать XSD (или набор XSD) в модель в памяти. Эти библиотеки были написаны экспертами, которые понимают схему XML в деталях. Но, к сожалению, C ++ плохо обслуживается инструментами для обработки XSD, как указано в этом потоке: XML Схема для классов C ++
Я много занимался обработкой XSD в Java с использованием модели ЭДС. Это полнофункциональный набор библиотек, поддерживающий всю спецификацию XSD. Есть кривая обучения, но это будет верно для любой технологии, которую вы используете; модель данных XSD сложна.
Вы можете сказать «... но мои XSD просты». Если это так, не стесняйтесь вперед go с вашим XML подходом. Но это, вероятно, приведет к решению fr agile, которое будет нелегко поддерживать.