Habilite JavaScript para visualizar esta página.

Altova StyleVision 2020 Enterprise Edition

El comando Buscar (Ctrl+F) ic_find sirve para buscar palabras o partes de palabras en la vista Diseño, en el editor JavaScript, en la vista Authentic y en hojas de estilos XSLT-para-HTML, XSLT-para-RTF, XSLT-para-FO y XSLT-para-Word 2007+.

 

Búsquedas en la vista Diseño y HTML y en la vista Authentic

Si hace clic en el comando Buscar desde la vista Diseño o HTML o desde la vista Authentic, aparece este cuadro de diálogo:

 

dlg_edit_find

 

Debe tener en cuenta que:

 

En la vista Diseño la búsqueda se realiza en los datos estáticos y no en el nombre de los nodos.

En la vista Authentic la búsqueda se realiza en los datos dinámicos (en los datos XML) y no en el texto de entrada estático (XSLT).

Si quiere que los resultados coincidan exactamente con el término de búsqueda, marque la casilla Solo palabras completas. P. ej., si busca programa y marca la casilla, se encuentra el resultado programa y no programador. Si no marca esta casilla, se encontrarán los resultados programa, programador, programadores, programación, etc.

Si no quiere que el resultado coincida con el término de búsqueda en el uso de mayúsculas y minúsculas, deje la casilla Coinc. mayús/minús sin marcar. P. ej. si busca programa encontrará tanto programa como Programa.

 

Búsquedas en el editor JavaScript y en la vista previa de una hoja de estilos XSLT para HTML, RTF, FO y Word 2007+

Si hace clic en el comando Buscar desde el editor JavaScript o en la vista previa de una hoja de estilos XSLT para HTML, RTF, FO y Word 2007+, aparece este cuadro de diálogo:

 

 

dlg_edit_find_xslt1

 

En este cuadro de diálogo puede seleccionar varias opciones:

 

Coinc. mayús/min: busca teniendo en cuenta las mayúsculas y minúsculas (por ejemplo, si marca esa casilla Dirección no se considera igual que dirección).

Solo palabras completas: busca solamente las palabras que coincidan exactamente con el texto indicado. Por ejemplo, si busca fit la función de búsqueda no encontrará fitness, aunque la palabra contenga también fit.

Expresión regular: si marca esta casilla el término de búsqueda se leerá como una expresión regular. Consulte el apartado Expresiones regulares para aprender a usar expresiones regulares.

Buscar delimitador: cuando se introduce un término de búsqueda, las coincidencias que se encuentran en el documento se resaltan y una de ellas se marca como la selección actual. Esta función indica si la primera coincidencia que se seleccione debe ser relativa a la posición del cursor. Si está activada, la primera coincidencia que se seleccione será la primera a partir del punto en que se encuentre el cursor del ratón. Si está desactivada, la primera coincidencia que se seleccione será la primera que se encuentre a partir del inicio del documento.

Buscar en selección: si esta función está activada, la búsqueda de términos se lleva a cabo dentro del texto que esté seleccionado. Si no está activada, el término de búsqueda se busca en todo el documento. Para cambiar el texto seleccionado en el que quiere buscar el término primero debe deseleccionar primero la selección actual desactivando esta función.

 

Buscar siguiente

El comando Buscar siguiente (F3) ic_find_next busca la siguiente repetición del texto utilizado en la operación de búsqueda inmediatamente anterior. Para más información consulte la descripción del comando Buscar.

 

Reemplazar (Ctrl+H)

El comando Reemplazar se habilita en la vista Diseño y en el editor JavaScript, además de en la vista Authentic (no disponible en la edición Basic Edition), y sirve para buscar una cadena de texto y reemplazarla con otra cadena de texto.

 

Cómo usar expresiones regulares

Puede usar expresiones regulares (regex) para buscar cadenas de texto. Para ello primero debe activar la función Expresión regular (véase más arriba). Esto indica que el texto que se introduce en el campo de búsqueda se evalúa como una expresión regular. Después introduzca la expresión regular en el campo de búsqueda. Si necesita ayuda con la expresión regular puede usar el botón Generador de expresiones regulares que encontrará a la derecha del campo de búsqueda. Haga clic en un elemento del Generador para introducir los metacaracteres regex correspondientes en el campo de búsqueda. Más abajo se incluye una breve descripción de cada uno de esos metacaracteres.

 

Metacaracteres de las expresiones regulares

A continuación puede consultar una lista de los metacaracteres de las expresiones regulares.

 

.

Cualquier carácter. Es un comodín para un solo carácter.

(

El inicio de una región en la que se realizará la búsqueda.

)

El final de la región en la que se realizará la búsqueda.

(abc)

Los metacaracteres ( y ) marcan el inicio y el final de una expresión etiquetada. Las expresiones etiquetadas son ideales si necesita etiquetar (es decir, recordar) una región encontrada en la búsqueda para poder hacer referencia a ella más tarde (referencia inversa). Puede etiquetar un máximo de nueve expresiones (y hacerles referencia más tarde, desde el campo Buscar o Reemplazar).

 

Por ejemplo, (the) \1 encuentra la cadena the the. Esta expresión significa: encontrar la cadena "the" (y recordarla como región etiquetada), seguido de un carácter de espacio y de una referencia inversa a la región etiquetada encontrada previamente.

\n

En una expresión de búsqueda o reemplazo, indica el texto coincidente con la n-ésima expresión etiquetada, siendo n un número del 1 al 9. Por ejemplo, si el término de búsqueda es Fred([1-9])XXX y el término de reemplazo es Sam\1YYY, el texto Fred2XXX se reemplazará con Sam2YYY.

\<

Inicio de palabra.

\>

Final de palabra.

\x

Encuentra el carácter x que sigue a la barra inversa, cuando el carácter x es un carácter que se utiliza en la sintaxis de expresiones regulares. Por ejemplo, \[ encuentra el carácter [ y no el inicio de un conjunto de caracteres.

[...]

Conjunto de caracteres. Por ejemplo, [abc] encuentra los caracteres a, b o c. También puede usar intervalos como [a-z] para buscar cualquier carácter en minúsculas.

[^...]

Un carácter cualquiera no perteneciente al conjunto. Por ejemplo, [^A-Za-z] encuentra cualquier carácter excepto caracteres alfabéticos en mayúsculas o minúsculas.

^

Inicio de línea (a no ser que se use dentro de un conjunto de caracteres, ver fila anterior).

$

Final de línea. Por ejemplo, A+$ encuentra una A o más de una A que estén al final de una línea.

*

0 veces o más. Por ejemplo, Sa*m encuentra Sm, Sam, Saam, Saaam, etc.

+

1 o más veces. Por ejemplo Sa+m encuentra Sam, Saam, Saaam, etc

 

 

Representación de caracteres especiales

Estas expresiones regulares son especiales:

 

\r

Retorno de carro (CR). Puede usar CR (\r) o LF (\n) para buscar o crear una línea nueva.

\n

Avance de línea (LF). Puede usar CR (\r) o LF (\n) para buscar o crear una línea nueva.

\t

Tabulación

\\

Utilice esto para aplicar escape a los caracteres que aparecen en las expresiones regulares. Por ejemplo: \\\n

 

Ejemplos de expresiones regulares

En este apartado explicamos cómo usar expresiones regulares para encontrar y reemplazar texto. En muchos casos la búsqueda y reemplazo de texto es una tarea sencilla que no necesita el uso de expresiones regulares. Sin embargo, a veces una operación de búsqueda y reemplazo no es suficiente y será necesario manipular el texto. Por ejemplo, imagine que tiene un archivo XML que incluye varios miles de líneas y necesita cambiar el nombre de determinados elementos de una sola vez, pero sin cambiar el contenido de los elementos. O, por ejemplo, imagine que necesita cambiar el orden de varios atributos de un elemento. En estos dos casos el uso de expresiones regulares le permitiría evitar mucho trabajo manual.

 

Ejemplo nº1: cambiar el nombre de elementos

El fragmento de código XML que aparece a continuación incluye una lista de libros. Imaginemos que nuestro objetivo es reemplazar el elemento <Category> de cada libro con el elemento <Genre>. Podemos hacerlo usando expresiones regulares.

 

<?xml version="1.0" encoding="UTF-8"?>
<books xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="books.xsd">
  <book id="1">
    <author>Mark Twain</author>
    <title>The Adventures of Tom Sawyer</title>
    <category>Fiction</category>
    <year>1876</year>
  </book>
  <book id="2">
    <author>Franz Kafka</author>
    <title>The Metamorphosis</title>
    <category>Fiction</category>
    <year>1912</year>
  </book>
  <book id="3">
    <author>Herman Melville</author>
    <title>Moby Dick</title>
    <category>Fiction</category>
    <year>1851</year>
  </book>
</books>

 

Estos son los pasos que debe seguir:

 

1.Pulse Ctrl+H para abrir el cuadro de diálogo "Buscar y reemplazar".

2.Haga clic en el botón Usar expresiones regulares _ic_find_regex.

3.En el campo Buscar introduzca este texto: <category>(.+)</category>. Esta expresión regular encuentra todos los elementos category, que aparecerán resaltados.

inc-RegexExample01

Para encontrar el contenido de cada elemento (que desconocemos), usamos la expresión etiquetada (.+) . La expresión (.+) indica que se deben "buscar una instancia o varias de cualquier carácter (.+) y recordar este resultado". Como podrá ver en el paso siguiente, más adelante necesitaremos la referencia a la expresión etiquetada.

 

4.En el campo Reemplazar introduzca este texto: <genre>\1</genre> . Esta expresión regular define el texto de reemplazo. Observe que usa \1 para hacer referencia inversa a la expresión etiquetada del campo Buscar. En otras palabras, en este contexto \1 significa "el contenido del elemento <category> actual que coincida con la búsqueda".

5.Haga clic en Reemplazar todos _ic_regex_replaceall y observe el resultado. Todos los elementos category se reemplazaron con genre, tal y como era nuestra intención.

 

Ejemplo nº2: cambiar el orden de los atributos

El fragmento de código XML que aparece a continuación incluye una lista de producto. Cada producto tiene dos atributos llamados id y size. Imaginemos que nuestro objetivo es cambiar el orden de los atributos id y size de cada elemento product (es decir, en todos los elementos product el atributo size debe aparecer antes de id). Podemos hacerlo usando expresiones regulares.

 

<?xml version="1.0" encoding="UTF-8"?>
<products xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="products.xsd">
  <product id="1" size="10"/>
  <product id="2" size="20"/>
  <product id="3" size="30"/>
  <product id="4" size="40"/>
  <product id="5" size="50"/>
  <product id="6" size="60"/>
</products>

 

Estos son los pasos que debe seguir:

 

1.Pulse Ctrl+H para abrir el cuadro de diálogo "Buscar y reemplazar".

2.Haga clic en el botón Usar expresiones regulares _ic_find_regex.

3.En el campo Buscar introduzca este texto: <product id="(.+)" size="(.+)"/> . Esta expresión regular busca un elemento product en el documento XML. Observe que, para encontrar el valor de cada atributo (que desconocemos) se usa la expresión etiquetada (.+) dos veces. La expresión etiquetada (.+) encuentra el valor de cada atributo (que se supone será una instancia o varias de cualquier carácter, es decir .+).

4.En el campo Reemplazar introduzca este texto: <product size="\2" id="\1"/> . Esta expresión regular contiene el texto de reemplazo para cada uno de los elementos product que se encontraron. Observe que usa las referencias \1 y \2, que corresponden a las expresiones etiquetadas del campo Buscar. En otras palabras, \1 significa "el valor del atributo id" y \2 significa "el valor del atributo size".

inc-RegexExample02

5.Haga clic en Reemplazar todos _ic_regex_replaceall y observe el resultado. Todos los elementos product del documento XML se reemplazaron de modo que el atributo size aparezca delante del atributo id.

 

 

 

© 2019 Altova GmbH