En general, una BD XML tiene una estructura jerárquica organizada en colecciones y documentos XML. La estructura jerárquica comienza con un nodo raíz ('/'), del que parten colecciones y documentos.
Una colección:
- Es un conjunto de documentos agrupados, normalmente, en función de la información que contienen.
- Puede contener otras colecciones.
Un documento:
- Información XML
- Información de otro tipo y entonces se le denomina non-XML data (Datos no-XML)
Comparando con una base de datos relacional o un sistema de archivos:
- Las colecciones juegan en las bases de datos nativas el papel de las tablas en las DB relacionales, o de un directorio en un sistemas de archivos.
- Los documentos juegan el papel de las filas de una tabla de una BD relacional o un fichero en un sistema de archivos.
Aunque depende de cada implementación, en muchos casos:
- Cada colección puede tener más de un DOCTYPE asociado.
- El elemento raíz del documento XML define a que DOCTYPE estará asociado el documento, en caso de no poseer ninguno, éste se crea dinámicamente. Esto posibilita el almacenamiento de documentos sin formato definido.
- La colección también puede tener asociado un Schema con información tanto física como lógica de la colección. La parte lógica define las relaciones y propiedades de los documentos XML y la física contiene información sobre el almacenamiento e indexación de los mismos.
- También se pueden almacenar documentos no-XML, para estos existe un DOCTYPE especial llamado non-XML.