Esquema ampliado para MCML

Si acostumbran desarrollar interfaces de usuario para la plataforma de desarrollo Media Center de Windows Vista utilizando el lenguaje de formato MCML y Visual Studio 2005 como herramienta de edición, probablmente hayan notado, después de instalar el SDK correspondiente, que el "Intellisense" para MCML es muy útil dentro del IDE de VS. Sin embargo, el notable que conforme nos adentramos en las intrincadas estructuras de MCML llegará el momento en que esta habilidad desaparece y el verificador de sintáxis empieza a marcar como erróneas porciones de markup que sabemos son perfectamente válidas en la estructura y son interpretadas correctamente por el motor de despliegue.
Durante este fin de semana me di a la tarea de averiguar la causa de este problema y solucionarla. Ya tenía una noción de que la verificación de los archivos cuya sintaxis se basa en XML es verificada por medio de un esquema XML instalado en Visual Studio, pero no sabía en donde se instalaban estos esquemas ni tampoco tenía una idea clara de cual era la estructura de los mismos. Después de algunas búsquedas dí con el folder en el cual Visual Studio busca estos esquemas:
%ProgramFiles%\Microsoft Visual Studio 8\Xml\Schemas
 
Una rápida ojeada en este folder me llevó al archivo "mcml2006.xsd" el cual es fácilmente editable por medio de Visual Studio.
 
Después de algunos intentos logré hacer el primer cambio, el cual fue agregar como válida la declaración de un tag "Animation" dentro del tag "Entries" de un "PropertySet". De ahí en adelante todo fue relativamente sencillo por lo que procedí a asociar muchas otras entradas con las que había tenido problemas en el pasado.
 
El resultado de este trabajo puede ser descargado desde aquí:
 
Para instalarlo basta con descomprimir y copiar el esquema en:
 
%ProgramFiles%\Microsoft Visual Studio 8\Xml\Schemas
 
Por favor envíen sus comentarios si encuentran alguna estructura que no haya incluido en la lista o simplemente si esto les pareció de alguna utilidad.
 
******ACTUALIZACION*************
 
Después de escribir MCML por un par de días noté la falta de un par de entradas (Incluyendo <KeyHandler/> a petición).
 
Pueden obtener la actualización desde aquí:
 

4 pensamientos en “Esquema ampliado para MCML

  1. Cuando se escribe un "<choice />" la única opción que muestra es "<PropertySet />", y el "<Choice />" debería tener acceso al otro markup disponible.
     
    Además, no sé si se pueda, pero cuando se instancia un "<Host />" debería de mostrarse el "<Layout />", "<LayoutInput />", "<Children />", "<Animations />" y de más markup disponible como cuando se declara un "<Panel />" o "<ColorFill />".
     
    Randal
    http://ranagual.blogspot.com/

  2. Randal,
     
    Ya hice el cambio y el archivo está actualizado.
     
    Ahora se pueden hacer declaraciones dentro del Choice e incluso se puede anidar un PropertySet dentro del Choice y seguir obteniendo Intellisense.
     
    Gracias por el recordatorio!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s