Первый вопрос, на который вы должны ответить, когда начинаете думать о совместном использовании XML и базы данных - зачем вам нужна база данных? Вы хотите обеспечивать доступ к некой функциональной информации? Вы ищете способ хранения своих веб-страниц? Станет ли ваша база данных приложением для электронной коммерции, в котором для транспортировки данных будет использоваться XML? Ответ на этот вопрос будет очень важен для выбора конкретной базы данных и промежуточногно программного обеспечения (если оно понадобится), а также и для выбора методов работы с базой данных.
Предположим, например, что ваше приложение работает в сфере электронной коммерции и для транспортировки данных использует XML. Наверняка в этом случае ваши данные имеют высоко-регулярную структуру и используются не XML-приложениями. Такие составляющие XML-документа, как сущности и кодировки, для вас, скорее всего, не представляют интереса - в конце концов, для вас важны сами данные, а не то, как они хранятся в XML-документе. В этом случае вам, вероятнее, больше подойдет реляционная база данных и специальное обеспечение для переноса данных между XML-документами и базой данных. Если ваше приложение объектно-ориентировано, вы даже можете создать систему для хранения этих объектов в базе данных и дальнейшей их сериализации в XML.
С другой стороны, пусть вы имеете веб-сайт, состоящий из нескольких контентно-ориентированных XML-документов (то есть, хранящих длинные куски текста и разметки). Вы не только хотели бы обеспечить управление сайтом, но и предоставить пользователям возможность поиска по содержанию сайта. Ваши документы, скорее всего, имеют менее регулярную структуру и использование, например, сущностей, имеет определенное значение, поскольку они имеют прямое отношение к структуре документов. В этом случае вам бы подошла истинная XML-база данных или система управления содержанием. Это бы вам позволило сохранять физическую структуру документов, поддерживать транзакции на уровне документов и выполнять запросы на языке XML-запросов.