Да, но это довольно сложно. Вы захотите выполнить запрос SHOW CREATE TABLE <tablename>
, и он вернет полный оператор создания таблицы (в синтаксисе CREATE TABLE).
Затем вы захотите проанализировать каждую строку синтаксиса создания таблицы, используя ваш язык. К счастью, поля аккуратно разделены символами новой строки.
Типы должны быть достаточно легко сопоставлены с типами XSD.
Когда все становится сложнее, вы анализируете отношения внешних ключей - тогда вам нужно определить пользовательские типы в вашем XSD и ссылаться на них соответственно.
Это действительно сводится к вашей реализации. Если вы ищете переносимый формат данных, который вы можете легко импортировать / экспортировать из своей базы данных, есть ряд других решений.