Это в значительной степени зависит от того, какая структура у вас есть для доступа к данным XML. Например, при использовании .net полный анализатор для XSD уже включен.
Поскольку XSD сам по себе является документом XML, вам понадобится анализатор XML, а затем вы сможете прочитать XSD и построить структуры данных в памяти, необходимой для завершения синтаксиса редактора.
Для разбора XML я бы использовал правильный синтаксический анализатор, сгенерированный с помощью некоторого генератора синтаксического анализатора / компилятора, который опирается на (E) определение языка BNF, например GoldParser или yacc .