Crear una plantilla de control
Para crear una plantilla de control siga estos pasos:
1.En el panel Páginas haga clic en el icono Agregar página y seleccione Agregar plantilla de control (imagen siguiente).

2.Haga doble clic en la plantilla de control nueva que se añade a la lista (imagen siguiente) y cámbiele el nombre como prefiera. El paso siguiente será declarar los parámetros y definir las variables de la plantilla de control.

Crear una plantilla de control a partir de controles existentes
También puede crear una plantilla de control rápidamente si ya dispone de uno o varios controles en la página que puedan convertirse en una plantilla de control.
Para crear una plantilla de control de esta forma, seleccione los controles que desee convertir y haga clic con el botón derecho del ratón. Si los controles se pueden convertir, el comando Crear plantilla a partir de la selección aparecerá activado y podrá seleccionarlo para crear una nueva plantilla de control. Los controles seleccionados se colocarán automáticamente en la nueva plantilla de control, y un control Marcador de posición que invoque la plantilla de controle recién creada sustituirá a los controles en su ubicación original. La nueva plantilla de control aparecerá en el panel Páginas (imagen anterior).
Parámetros y variables
Los parámetros permiten usar valores dinámicos o estáticos dentro del alcance de la plantilla de control al instanciar esa plantilla. Tanto los parámetros como las variables se declaran en la plantilla de control. La diferencia principal entre los parámetros y las variables es que, mientras los valores de las variables se definen en la plantilla de control, los valores de los parámetros se definen en la página en cuestión y pasan a los parámetros de la plantilla de control cuando esta se instancia.
Si quiere declarar parámetros y/o variables en una plantilla de control, en el panel Páginas (imagen anterior), haga clic en el botón Más opciones (ubicado a la derecha del nombre de la plantilla de control). En el cuadro de diálogo Parámetros que aparece (imagen siguiente), añada un parámetro o una variable (haciendo clic en el icono Agregar parámetro o Agregar variable de la barra de herramientas, situada en la parte superior izquierda del panel correspondiente) y asigne un nombre adecuado al parámetro o a la variable (haciendo doble clic y editando el nombre).

Parámetros
Marque la casilla Opcional de un parámetro si quiere que este no sea obligatorio. Si un parámetro es obligatorio y no se le asigna un valor en tiempo de ejecución, se producirá un error. Si, en el control Marcador de posición que hace la llamada, el valor de un parámetro viene definido por una expresión XPath, dicha expresión se evalúa en el contexto del control Marcador de posición. La propiedad Contexto XPath del control del control marcador de posición que instancia la plantilla de control no modifica el nodo de contexto.
Variables
Para introducir el valor de una variable (dinámica o estática) haga doble clic en el campo Valor de la variable e introduzca una expresión XPath adecuada.
Tenga en cuenta los siguientes detalles sobre cómo se evalúan las expresiones XPath de los parámetros y las variables:
•El contexto de las expresiones XPath será el nodo de contexto definido en la propiedad Contexto XPath del control del control Marcador de posición que emite la llamada. Si no se ha definido ningún valor para esta propiedad, el contexto será el nodo de contexto del control Marcador de posición que emite la llamada.
•Esta expresión XPath, destinada a generar valores de variables, puede utilizar los parámetros de dicha plantilla de control, así como las variables definidas anteriormente en la lista de definiciones de variables. Por ejemplo: Si una plantilla de control tiene los parámetros $a, $b, $c y las variables $x, $y, $z (en ese orden), entonces la variable $y puede utilizar esta lista de parámetros y variables para generar su valor: $a, $b, $c, $x, (pero no $z).
Una vez haya terminado de declarar los parámetros y las variables para la plantilla de control, haga clic en Aceptar. Los parámetros que haya declarado aparecen en el panel Páginas, como se ve con la plantillaDataWithParams, en la imagen siguiente. Puede editar la lista de parámetros/variables de una plantilla de control en cualquier momento; para ello haga clic en el botón Más opciones de la plantilla de control para abrir el cuadro de diálogo Parámetros.

Nota: Para cambiar el orden de los parámetros y las variables arrástrelos hasta la ubicación que prefiera.
Nota: Si cambia el orden de los parámetros debe asegurarse de que el orden sea correcto en la llamada a la plantilla de control (que se hace con los controles Marcador de posición). Para ello siga estos pasos: (i) haga clic con el botón derecho en la plantilla de control y seleccione Lista de datos de uso; (ii) por cada entrada (la lista aparece en el Panel Listas) compruebe si la plantilla de control se ha seleccionado con la lista desplegable o con una expresión XPath; (iii) si la plantilla se ha seleccionado con una expresión XPath y sus parámetros se seleccionan con una expresión matriz (en lugar de con una expresión de asignación), entonces asegúrese de que el orden de los parámetros en la matriz sea el mismo que el de la lista de definiciones de parámetros del cuadro de diálogo Parámetros (imagen anterior).
Contenido de la plantilla de control
Para mostrar el lienzo de diseño de la plantilla de control, seleccione la plantilla de control en el panel Páginas (imagen anterior). El lienzo de diseño aparece en la vista Diseño. Aquí puede configurar y diseñar un conjunto de controles tal y como lo haría en una página normal. Puede usar controles, acciones, nodos de fuente de página y otros componentes.
Tenga en cuenta que:
•Cuando se instancia la plantilla de control solo se muestra el primer control visible en orden secuencial. (Un control visible es aquel cuya propiedad Visible está configurada como true.) Esto permite crear varios controles dentro de una plantilla y determinar cuáles de ellos se usan; para ello puede usar expresiones XPath condicionales en la propiedad Visible de los controles correspondientes. Se usará el primer control cuya propiedad Visible dé como resultado true.
•Si quiere mostrar varios controles cuando se instancie una plantilla de control debe agregarlos dentro de la celda de un control Tabla con filas o columnas extensibles, ya que la tabla cuenta como un control único. En la imagen de más abajo, puede ver que se ha añadido un control a cada una de las celdas de una fila de tabla extensible. Las tablas con columnas y filas extensibles también se usan en los proyectos de ejemplo. Sin embargo, tenga en cuenta que no puede agregar tablas extensibles (en las que se repite la tabla entera).
•Si necesita usar un nodo de una de las fuentes de página del diseño y la fuente de página no aparece en el panel Fuentes de página, entonces puede agregar la fuente de página con el icono Agregar fuente.
•En el diseño de la plantilla de control también puede usar los parámetros y las variables que declaró para la plantilla de control. Por ejemplo, en la plantilla de control DataWithParams que aparece en la imagen siguiente se ha creado un control Tabla con una única fila de siete celdas, cada una de las cuales tiene una etiqueta. Cada una de esas etiquetas tiene un valor Texto que se genera con una expresión XPath que selecciona un parámetro o una variable. Los valores del parámetro los suministra la página en la que se origina la llamada; estos valores son el texto de las etiquetas. Esta plantilla de control se puede usar en distintas ubicaciones y las etiquetas pueden tener distintos textos en función de los valores de parámetro que se pasen a la plantilla desde la página que hace la llamada.

Puede aplicar estilos a los controles de una plantilla de control del mismo modo en que se suele hacer con estos controles (mediante sus propiedades y mediante hojas de estilos).
Una vez creada la plantilla de control tal y como se ha descrito anteriormente, podrá utilizarse tanto en páginas de nivel superior como en subpáginas, así como en las propias plantillas de control.
Consulte Proyectos de ejemplo para ver ejemplos de cómo usar las plantillas de control.
El nodo de contexto de las plantillas de control
El nodo de contexto de una plantilla de control será el nodo de contexto del control Marcador de posición que llama a la plantilla. Si desea cambiar de nodo de contexto, puede especificar uno nuevo a través de la propiedad Contexto XPath del control del control Marcador de posición que emite la llamada. Para ello debe saber cuál es el nodo de contexto porque todas las expresiones XPath de la plantilla de control deben funcionar correctamente dentro de este contexto. Si tiene pensado reutilizar la plantilla de control en varias ubicaciones del diseño, asegúrese de que las expresiones XPath de la plantilla de control sean correctas en cada uno de estos contextos.
Cómo añadir una fuente de página a una plantilla de control
La plantilla de control seleccionada en el panel Páginas (imagen siguiente) se muestra en el panel Fuentes de página como una subestructura. Para añadir una fuente de página a la plantilla de control, seleccione la subestructura y haga clic en Agregar fuente en la barra de herramientas del panel. Se añadirá la fuente de página y podrá utilizarla, dentro de la plantilla de control, del mismo modo que utilizaría la fuente de cualquier otra página. Al reutilizar la plantilla de control, asegúrese de que la fuente de página nueva esté disponible en la ubicación donde se reutiliza y de que se acceda a ella correctamente en las expresiones XPath (consulte también la subsección anterior).
Editar los parámetros y las variables de las plantillas de control
Puede editar los parámetros y las variables de una plantilla de control en cualquier momento (puede agregar parámetros y variables nuevos, anular una selección o modificar sus propiedades). Para ello, acceda al cuadro de diálogo Parámetros de la plantilla de control, haciendo clic en el botón Más opciones de dicha plantilla. Este botón se encuentra a la derecha del nombre de la plantilla de control en el panel Páginas (imagen siguiente).
