El término "base de datos nativa XML" (NXD) puede llevar a confusión. Muchas NXDs no funcionan como bases de datos independientes, y no almacenan el texto nativo en XML.
La definición formal de la iniciativa XML:DB (que parece inactiva desde 2003[9]) afirma que:
- Define un modelo (lógico) para un documento XML —contrapuesto a los datos en ese documento— y almacena y recupera documentos según ese modelo. Como mínimo el modelo debe incluir elementos, atributos, CDATA y orden de los documentos. Ejemplos de estos modelos incluyen el modelo de datos XPath, XML Infoset y los que implica el DOM y los eventos en SAX 1.0.
- Tiene un documento XML como su unidad (lógica) fundamental de almacenamiento, del mismo modo que una base de datos relacional lo tiene con la fila.
- No necesita basarse en ningún modelo de almacenamiento físico particular. Por ejemplo las NXD puede usar estructuras relacionales, jerárquicas u orientadas a objetos, o usar un formato de almacenamiento propietario (como índices o ficheros comprimidos).
Además, muchas bases de datos XML databases proporcionan un modelo lógico de agrupar documentos, llamada "colecciones". Las bases de datos pueden establecer y gestionar muchas colecciones al mismo tiempo. En algunas implementaciones puede existir una jerarquía de colecciones, de modo análogo a la estructura de directorios de un sistema operativo.
Todas las bases de datos XML soportan al menos una sintaxis de interrogación. Al menos casi todas soportan XPath para realizar preguntas a documentos o colección de ellos. XPath proporciona un sistema de rutas simple que permite a los usuarios identificar nodos que cumplen un conjunto particular de criterios.
Además de XPath, muchas bases de datos XML soportan XSLT como método para transformar documentos o resultados obtenidos de la base de datos. XSLT proporciona un lenguaje declarativo escrito con gramática XML. Con él define una serie de filtros XPath que pueden transformar documentos XML en otros con otro formato, como texto plano, XML o HTML.
Las bases de datos XML suelen interrogar mediante XQuery. XQuery incluye XPath como método de selección de nodos, pero de modo extendido que da capacidad de transformación. A veces los usuarios se refieren a su sintacis como FLWOR al poderse incluir en la pregunta las siguientes cláusulas: 'for', 'let', 'where', 'order by' y 'return'. Los fabricantes de SGBD relacionales -que tradicionalmente sólo proporcionan mecanismos SQL- ahora incluyen mecanismos híbridos SQL-XQuery. Esto permite interrogar los datos XML de manera análoga a los relacionales, en la misma sentencia. Esto permite combinar datos XML y relacionales.
La mayoría de bases de datos XML soportan un API neutral común llamado XQJ API. Este fue desarrollado por JCP como interfaz estándar de una fuente de datos XML/XQuery, permitiendo a los desarrolladores java realizar preguntas de acuerdo a la especificación W3C XQuery 1.0. En definitiva el XQJ API representa a las bases de datos XML lo mismo que representa el API JDBC a las bases de datos relacionales y SQL.