Sintaxis
La sintaxis para definir un formato de valor es:
([carácter/caracteres prefijo]campo[carácter/caracteres sufijo][{campo-opción1,campo-opción2,...}])+
siendo | carácter/caracteres prefijo y carácter/caracteres sufijo caracteres opcionales que controlan la alineación y la presentación de símbolos negativos/positivos; |
campo puede ser cualquier formato o texto propio del tipo de datos; y |
{campo-opciones} es un calificador opcional que habilita opciones de formato adicionales. |
Explicación sobre la sintaxis de definición
Así se construye la definición de formato de valor:
•La definición está compuesta por un campo o varios. Por ejemplo, la definición DD Month YYYY tiene tres campos.
•Los campos pueden ir juntos o pueden estar separados por estos caracteres: espacio, guión, coma, dos puntos, punto o por una cadena de texto entre comillas simples o dobles. Por ejemplo, en la definición DD-Month' en el año 'YYYY, los campos DD y Month están separados por un guión y los campos Month y YYYY están separados por una cadena de texto entre comillas simples.
•Un campo puede tener caracteres prefijo / sufijo. Por ejemplo: <+###,##0.00.
•Un campo puede tener una opción de campo o varias. Las opciones de campo de cada campo deben tener un conjunto de llaves y deben seguir al campo sin estar separados por espacios. Si usa varias opciones para un campo, entonces sepárelas con una coma ",". Por ejemplo, en la definición DD Month{uc,ro} YYYY, las opciones de campo uc y ro que aparecen entre llaves son las opciones del campo Month.
Ejemplos
Ejemplo de formato de valor para un tipo de datos xs:decimal:
"\$"(##0.00)
Ejemplos de resultados:
\$ 25.00
\$ 25.42
\$267.56
Ejemplo de formato de valor para un tipo de datos xs:date:
DD Month{uc,ro} YYYY
siendo | uc y ro opciones de campo para convertir el campo del mes Month en mayúsculas y solo lectura |
Ejemplo de resultado:
24 SEPTEMBER 2003
Tipos de campo
Un tipo de campo equivale a un componente de los datos y la forma en que se debe dar formato al componente. El formato inherente al tipo de campo se puede modificar con prefijos y sufijos modificadores así como con opciones de campo. Las tablas que aparecen a continuación enumeran todos los tipos de campo disponibles. No olvide que puede modificar las opciones del menú desplegable del cuadro de diálogo "Editar campo" con ayuda de los prefijos y sufijos modificadores y de las opciones de campo.
Tipo de campo | Definición |
# | espacio si no hay un dígito en esta posición |
0 | cero si no hay un dígito en esta posición |
. | marca decimal |
, | separador de grupo de dígitos |
Y | Año |
y | año (base = 1930); ver nota más abajo |
MM | Mes, debe tener una longitud de 2 |
DD | Día, debe tener una longitud de 2 |
W | Número de la semana |
d | Número del día de la semana (del 1 al 7) |
i | Día del año (del 1 al 366) |
hh | Hora (de 0 a 23), debe tener una longitud de 2 |
HH | Hora (de 0 a 12), debe tener una longitud de 2 |
mm | Minuto, debe tener una longitud de 2 |
ss | Segundo, debe tener una longitud de 2 |
AM | AM o PM |
am | am o pm |
AD | AC o DC |
ad | ac o dc |
CE | EC o AEC |
ce | ec o aec |
Tipo de campo | Definición |
Weekday | día de la semana (Lunes, Martes...) |
WEEKDAY | día de la semana (LUNES, MARTES...) |
weekday | día de la semana (lunes, martes...) |
Wkd | día de la semana (Lun, Mar...) |
WKD | día de la semana (LUN, MAR...) |
wkd | día de la semana (lun, mar...) |
Month | mes (Enero, Febrero...) |
MONTH | mes (ENERO, FEBRERO...) |
month | mes (enero, febrero...) |
Mon | mes (Ene, Feb...) |
MON | mes (ENE, FEB...) |
mon | mes (ene, feb...) |
Notas sobre la longitud del campo y de la entrada
Debe tener en cuenta estos aspectos sobre la longitud de los componentes de datos:
Longitud de los campos de fecha: cuando utilice campos como MM, DD, HH, hh, mm y ss, compruebe que tienen una longitud de 2. Cuando utilice los campos y o Y, el número de caracteres y o Y de la definición determina la longitud del resultado. Por ejemplo, si especifica YYY, el resultado del valor 2006 sería 006; pero si la definición fuera YYYYYY, el valor sería 002006.
Aumentar la longitud del campo: el símbolo * se usa para aumentar la longitud de un campo numérico no semántico (enteros, decimales, etc.). En el caso de los decimales, puede usar el asterisco a ambos lados del punto decimal. Por ejemplo, el valor de formato *0.00* hace que en la posición de cada asterisco aparezca un cero.
Longitud de las entradas en la vista Authentic: la vista Authentic del contenido de un nodo se vasa en la definición de formato de valor del nodo. Por tanto, el usuario de la vista Authentic no podrá insertar más caracteres de los permitidos por la definición de formato de valor. Esto es ideal para restringir la entrada de datos en la vista Authentic. Sin embargo, recuerde que si la longitud de un valor ya existente del documento XML supera la longitud especificada por la definición de formato, entonces aparecerá todo el valor.
Nota: | si un campo no genera texto en el documento de salida, puede ser debido a su configuración regional en Windows. Por ejemplo, Windows devuelve una cadena vacía para el campo AM/PM si la opción de idioma regional es Alemán. |
Prefijos y sufijos modificadores
Los prefijos y sufijos modificadores se usan para modificar la alineación del texto y la representación positiva/negativa de los campos. Esta tabla muestra los prefijos y sufijos disponibles.
Prefijo | Sufijo | Definición |
< | Alineado a la izquierda. Formato predeterminado para texto. Para números, que se alinean a la derecha por defecto, debe tener en cuenta el número de espacios iniciales. | |
> | Alineado a la derecha. Formato predeterminado para números. | |
? | Símbolo menos junto al número si es negativo. Si no, nada. Formato predeterminado para los números. | |
<? | Símbolo menos a la izquierda si es negativo. Si no, nada. El número alineado a la izquierda y después el símbolo menos. | |
<?> | Símbolo menos a la izquierda si es negativo. Si no, nada. El número alineado a la derecha. | |
- | - | Símbolo menos junto al número si es negativo. Si no, espacio. Situado antes del número (prefijo), después del número (sufijo). |
<- | >- | Símbolo menos si es negativo. Si no, espacio. El número junto al símbolo menos. Alineados a la izquierda (prefijo), alineados a la derecha (sufijo). |
<-> | Símbolo menos a la izquierda si es negativo. Si no, espacio. El número alineado a la derecha. | |
+ | + | Símbolo menos o más siempre, junto al número. Antes del número (prefijo), después del número (sufijo) |
<+ | >+ | Símbolo menos o más siempre, junto al número. Alineado a la izquierda (prefijo), alineado a la derecha (sufijo) |
<+> | Símbolo menos o más siempre, alineado a la izquierda. El número alineado a la derecha. | |
( | ) | Paréntesis si es negativo. Si no, espacio. Situado junto al número. |
<( | Paréntesis si es negativo. Si no, espacio. Situado junto al número. Alineado a la izquierda. | |
<(> | Paréntesis si es negativo. Si no, espacio. Paréntesis izquierdo alineado a la izquierda. El número y el paréntesis derecho uno junto al otro y alineados a la derecha. | |
[ | ] | Paréntesis si es negativo. Si no, nada. Situado junto al número. |
* | * | Número de dígitos ampliable a la izquierda (prefijo) o a la derecha (sufijo) |
_ | _ | Espacio |
^ | ^ | Carácter de relleno (definido en las opciones) |
th | Escala ordinal del número en inglés (st, nd, rd o th) | |
TH | Escala ordinal del número en inglés y mayúsculas (ST, ND, RD o TH) |
Opciones de campo
Las opciones de campo sirven para realizar algunos cambios en los campos del valor de formato. Estas son las opciones disponibles:
Opción | Definición |
uc | Mayúsculas |
lc | Minúsculas |
left | Alineado a la izquierda |
right | Alineado a la derecha |
ro | Solo lectura (XML), edición no permitida |
edit | El campo es editable (opción activa por defecto) |
dec=<char> | Especificar un carácter para el punto decimal (el punto es la opción predeterminada) |
sep=<char> | Especificar un carácter para el separador de dígitos (la coma es la opción predeterminada) |
fill=<char> | Especificar el carácter de relleno |
base=<year> | Año base para los campos de año (ver nota más abajo) |
pos | Solo mostrar los números positivos. Está permitido introducir números negativos |
Debería usar las opciones de campo para generar formatos numéricos en idiomas europeos, que usan las comas y los puntos de forma diferente: p. ej 123.456,75.
El formato de valor necesario para obtener el formato de este ejemplo sería: ###,###.##{dec=,,sep=.}
Observe que el campo retiene el formato inglés, mientras que las opciones de campo dec y sep especifican el símbolo decimal y el separador de dígitos. Si el símbolo decimal y separador de dígitos no se especifican, se usará el símbolo decimal y el separador de dígitos predeterminado de la configuración regional del sistema operativo Windows.
Nota sobre el año base
Cuando use formatos de año cortos (como yy y YY), el año base especifica el corte/límite para un siglo. Por ejemplo, la opción de campo de año base podría usarse en la definición DD-MM-YY{base=1940}. Si el usuario introduce un valor igual o mayor que los dos últimos dígitos del año base (que se consideran un entero positivo de dos cifras), el siglo será el mismo que el del año base. Si el valor introducido por el usuario es menor al valor entero de los dos últimos dígitos, entonces el siglo será el siglo del año base más uno. Por ejemplo, si la definición dice base=1940 y el usuario introduce 50, el valor que se introduce en el documento XML será 1950; pero si el usuario introduce 23, el valor que se introduce en el documento XML será 2023.
Recuerde que:
•Aunque lo más común es usar dos dígitos como formato de año corto, también se pueden usar formatos de año con uno y tres dígitos y con un año base.
•Los tipos de datos que se pueden usar para los formatos de año corto son: xs:date, xs:dateTime, xs:gYear y xs:gYearMonth.
•Si el formato de valor se define para un cálculo automático, asegúrese de seleccionar el tipo de datos correcto en el cuadro de diálogo "Formato de valor". El tipo de datos seleccionado debería ser el del resultado que obtiene el cálculo automático.
•Si usa el tipo de campo yy, el año base predeterminado es 1930. Si establece un año base se invalida el año base predeterminado.
•Si usa el tipo de campo YY sin especificar un año base, el usuario de la vista Authentic solamente podrá modificar los dos últimos dígitos del valor de año de cuatro dígitos. Los dos primeros dígitos se quedan tal y como están en el documento XML.