Esquemas fuente
Los esquemas fuente son la piedra angular y el punto de partida del diseño SPS. La estructura del diseño SPS está determinada por: (i) las decisiones que toma el usuario durante la selección del esquema y (ii) los elementos raíz seleccionados en el esquema.
Selección de esquemas
Hay varias maneras de seleccionar el esquema para el archivo SPS:
1.Haga clic en Archivo | Nuevo y seleccione directamente el tipo de esquema fuente que desea añadir (todas las opciones, excepto Archivo nuevo (vacío)).
2.Haga clic en Archivo | Nuevo y seleccione la opción Archivo nuevo (vacío). En el diálogo que aparece seleccione Crear un documento con movimiento libre y pulse Aceptar. Se crea un archivo SPS nuevo que aparece en la vista Diseño. Después, en la ventana Vista general del diseño, haga clic en Agregar fuente nueva.... Aparece un menú contextual con los métodos que puede usar para añadir esquemas al diseño (imagen siguiente). Cada comando de este menú se describe en los apartados de esta sección.
El esquema fuente seleccionado puede ser un archivo o o un esquema fuente definido por el usuario. Llegados a este punto es recomendable pensar si utilizará plantillas globales y si los elementos que desea crear como plantillas globales están definidos como elementos globales en el esquema. Cuando añada un esquema fuente a partir de un archivo DTD, recuerde que todos los elementos definidos en la DTD son elementos globales. Cuando añada un esquema a partir de un esquema XML, compruebe qué elementos están definidos como elementos globales y, si quiere realizar cambios en el esquema, compruebe si puede hacerlo en su entorno XML.
Nota: | si quiere añadir un espacio de nombres al SPS o a la hoja de estilos XSLT que se genera a partir del SPS, el espacio de nombres debe añadirse al elemento de nivel superior schema del esquema XML en el que se basa el SPS. |
Elementos raíz
Si un esquema fuente tiene varios elementos globales, entonces puede seleccionar varios elementos raíz (elementos de documento) para usarlos en el diseño. Es decir, el diseño SPS puede tener plantillas que coincidan con varios elementos de documento. La ventaja es que si un SPS, como UniversalSPS.sps, por ejemplo, basado en el esquema UniversalSchema.xsd, tiene una plantilla para cada uno de sus dos elementos raíz (Element-A y Element-B), entonces el SPS se puede usar con un documento XML de instancia que tenga Element-A como elemento de documento pero también con un XML que tenga Element-B como elemento de documento. Por cada XML de instancia, se utiliza solo la correspondiente plantilla. Esto se debe a que en el SPS solamente hay una plantilla que coincida con cada elemento de documento del archivo XML de instancia. Por ejemplo, el elemento de documento /Element-A coincide con la plantilla que selecciona /Element-A pero no coincide con la plantilla que selecciona /Element-B. En este sentido es importante recordar que si se definieron varios elementos globales en el esquema, entonces es válido cualquier documento XML que tenga como elemento de documento uno de esos elementos globales (siempre y cuando su subestructura sea válida según el esquema, por supuesto).
Si quiere poder usar varios elementos raíz (elementos de documento) con su SPS, haga clic en el botón situado a la derecha de la entrada /Elementos raíz (ventana Estructura del esquema). Al hacer clic en este botón se abre este cuadro de diálogo:
El cuadro de diálogo enumera todos los elementos globales del esquema. Seleccione los elementos globales que desea usar como elementos raíz (como elementos de documento) y haga clic en Aceptar. Los elementos seleccionados estarán disponibles como elementos raíz del documento y aparecerán en la lista /Elementos raíz. Ahora puede crear una plantilla para cada uno de estos elementos de documento. Cada una de estas plantillas sirve de plantilla de elemento raíz alternativa. Cuando se procese un documento XML con este SPS, solamente se usará una de estas plantillas de elemento raíz: la que coincida con el elemento (documento) raíz del documento XML.
Así que, cuando con el SPS se procese un documento XML con elemento de documento Element-A, se dispara la plantilla raíz del SPS que coincide con Element-A, mientras que las demás plantillas de elemento raíz del SPS se ignoran. Si se procesa un documento XML con elemento de documento Element-B, se dispara la plantilla raíz del SPS que coincide con Element-B, mientras que las demás plantillas de elemento raíz del SPS se ignoran. De este modo, solo hace falta un SPS para procesar dos o más documentos XML, aunque tengan elementos raíz (de documento) diferentes.