Al igual que surgi� XML Schema como una mejora necesaria sobre la idea en la que se fundamentaban las DTDs, han surgido distintas propuestas al margen de los Schemas, de estas ideas no vamos a quedar con una, RELAX NG, que es, a su vez, la fusi�n de otras dos iniciativas TREX y RELAX que para conseguir un mayor avance han decidido aunar fuerzas.
B�sicamente, RELAX NG maneja documentos XML que representan esquemas e instancias a trav�s de un modelo abstracto de datos, esto que suena un poco oscuro viene a querer expresar que, para RELAX NG, un documento XML es la representaci�n de un elemento y que a su vez un elemento est� formado por una serie de "partes" como son: un nombre, un contexto, un conjunto de atributos y una secuencia ordenada de cero o m�s hijos. Y as� con cada una de estas partes.
Aunque la especificaci�n completa se puede encontrar en OASIS, vamos a mostrar cuales son la principales diferencias, no tanto conceptuales si no de uso, de RELAX NG con respecto a XML Schema. En primer lugar es importante resaltar que RELAX NG, y sus precursores RELAX y TREX, son intentos de simplificar y/o potenciar la utilidad de las DTDs en general y en particular de XML Schema. Tambi�n es importante indicar que esta iniciativa no es oficial de W3.ORG, si bien est� impuls�ndose dentro de un nutrido grupo de gente lideradas por James Clark , MURATA Makoto , y a�n no est� reconocido por el est�ndar ni tan siquiera como recomendaci�n. En segundo lugar, podemos decir, sin mucho margen de error, que la principal mejora de RELAX NG respecto a XML Schema es la mayor simplicidad en manejo y aprendizaje que requiere. Como consecuencia de esta simplificaci�n renunciamos al uso de los <simpleType> y <complexType> a favor del uso de, �nicamente, elementos y ciertas etiquetas especiales para marcar n�mero requerido de apariciones, tipo de dato de un elemento, etc.
<grammar> <start> <element name=�Cabecera�> <ref name=�Cabecera.class�> </element> <zeroOrMore> <element name=�Articulo�> <ref name=�Articulo.class�> </element> </zeroOrMore> </start> <define name=�Cabecera.class�> <element name=�Titulo�> �������