Principios de Windchill > Búsqueda de Windchill > Referencia de búsqueda > Búsquedas de documentos XML
  
Búsquedas de documentos XML
* 
El tema siguiente solo aplica cuando la propiedad wt.index.enableXMLTagSearch se define en true. Por defecto, esta propiedad se define en false.
Si se ha instalado y activado Windchill Index Search, los ficheros XML se indexan por defecto. Permite al usuario buscar documentos XML mediante una búsqueda por palabra clave estándar en el contenido XML (valores entre las etiquetas XML).
Sin embargo, si la propiedad wt.index.enableXMLTagSearch se define en true, Windchill se indexa el contenido XML, las etiquetas y los atributos. Como resultado, todos los nombres de etiqueta y el contenido de un documento XML se indexan y son válidos para la búsqueda con el campo Palabra clave.
Por ejemplo, se carga un documento XML que contiene lo siguiente:
<title>Catálogo de artículos</title>
Una búsqueda de la palabra clave "catálogo" o "título" devuelve el documento XML.
Para limitar la búsqueda de palabra clave a documentos XML, se puede introducir xml: seguido de una cadena de consulta especializada.
* 
Las búsquedas XML solo se pueden realizar en inglés. No se procesa el idioma al realizar la indexación en el ámbito XML.
Cuando está presente XML no válido, Windchill no puede indexar el contenido del documento XML. En estas situaciones, el documento XML solo es válido para la búsqueda por sus atributos Nombre y Número.
Las reglas de palabra clave se aplican al realizar una búsqueda xml: especializada. Por ejemplo, se permiten los comodines y se utiliza la lematización. Para obtener más información, consulte Reglas de la búsqueda por palabra clave.
Para realizar una búsqueda especializada xml:, la preferencia Search Modo de búsqueda se debe definir en Simple y la propiedad wt.index.enableXMLTagSearch se debe definir en true.
Búsqueda de etiquetas XML
Se puede buscar en nombres de etiqueta y el contenido de etiqueta empleando los formatos siguientes:
xml:etiqueta
xml:etiqueta(contenido)
También se pueden combinar estas cadenas para buscar varios niveles de la jerarquía de XML. Al buscar por jerarquía, se aplican las siguientes reglas:
Se puede buscar en cualquier número de niveles de profundidad.
Los niveles de jerarquía se separan con un carácter de dos puntos (":").
xml:etiqueta(contenido):etiqueta(contenido)
Las cadenas de (contenido) se unen mediante un operador O.
No es necesario especificar una etiqueta para cada nivel de la jerarquía.
Se puede buscar contenido incluso si hay etiquetas intermedias dentro de la jerarquía.
Siempre y cuando el contenido esté anidado dentro de una etiqueta, se pueden incluir cadenas de cualquier lugar de la jerarquía.
Se debe seguir la estructura jerárquica.
Por ejemplo, se cargan el siguiente fichero XML:
Se puede utilizar cualquiera de las búsquedas de palabra clave siguientes para devolver el fichero:
xml:catálogo
xml:cat*
xml:página
xml:primavera(guantes)
xml:primavera(aire libre):página(guantes de campo)
xml:catálogo:primavera
xml:catálogo:primavera:título(ventas)
xml:catálogo(utensilios jardín tierra invierno)
catálogo utensilios jardín tierra invierno
Sin embargo, fallan las siguientes búsquedas:
Palabra clave
Motivo del fallo
xml:jardín
No se puede buscar solo por el contenido. El contenido debe incluirse entre paréntesis y seguir a un nombre de etiqueta.
Si no se desea incluir una etiqueta en la búsqueda, se debe quitar el modificador xml: y realizar una búsqueda de palabra clave básica.
Solución alternativa:
xml:primavera(jardín) xml:primavera:título(jardín) jardín
xml:catálogo(jardín)elemento(guantes)
Se deben utilizar dos puntos entre los niveles jerárquicos.
Solución alternativa:
xml:catálogo(jardín):elemento(guantes)
xml: leyenda(invierno):catálogo(ventas)
xml:leyenda(ventas)
Las búsquedas jerárquicas deben empezar en un nivel superior seguido de los niveles anidados. No se puede empezar con una etiqueta anidada seguida de una etiqueta de nivel superior.
La etiqueta LEYENDA está anidada dentro de CATÁLOGO.
"Ventas" es más alta en la jerarquía de etiquetas que LEYENDA.
<CATALOG>
<SPRING>
<TITLE>Garden Sales</TITLE>
<PAGE>
<CAPTION>Goodbye, Winter!</ITEM>
Solución alternativa:
xml:catálogo(ventas):leyenda(invierno) xml:catálogo(ventas invierno) xml:catálogo(ventas invierno):leyenda xml:catálogo:leyenda(invierno)
xml:título(tierra abonada)
Si se empareja un nombre de etiqueta y contenido que no está directamente dentro de la etiqueta, el contenido debe estar anidado dentro de la etiqueta especificada.
En el ejemplo XML, "tierra abonada" es el contenido de una etiqueta anidada ELEMENTO. La etiqueta TÍTULO se encuentra en un nivel superior en la jerarquía. Sin embargo, TÍTULO no forma parte de la jerarquía de etiquetas para ELEMENTO.
La jerarquía de etiquetas de ELEMENTO es CATÁLOGO > PRIMAVERA > PÁGINA > ELEMENTO:
<CATALOG>
<SPRING>
<TITLE>Garden Sales</TITLE>
<PAGE>
<ITEM>Potting Soil</ITEM>
Solución alternativa:
xml:página(tierra abonada) xml:catálogo(tierra abonada) xml:catálogo:página(tierra abonada) xml:catálogo:primavera:página:elemento(tierra abonada)
xml:leyenda(invierno):elemento(tierra)
No se puede buscar dos etiquetas que se encuentran en el mismo nivel jerárquico:
<PAGE>
<CAPTION>Goodbye, Winter!</CAPTION>
<ITEM>Potting Soil</ITEM>
Solución alternativa:
xml:página(invierno):elemento(tierra) xml:página(invierno tierra) xml:leyenda(invierno) xml:elemento(tierra)
Búsqueda de atributos XML
Se puede buscar en nombres de atributo y los valores de atributo empleando los formatos siguientes:
xml:@atributo
xml:@atributo(valor)
* 
No se pueden combinar distintos nombres de atributo con valores. El valor debe pertenecer al atributo.
También se pueden combinar estas cadenas para buscar varios niveles de la jerarquía de XML. Al buscar por jerarquía, se aplican las siguientes reglas:
Se puede buscar en cualquier número de niveles de profundidad.
Los niveles de jerarquía se separan con un carácter de dos puntos (":").
xml:@atributo(valor):@atributo(valor)
Las cadenas de (valor) se unen mediante un operador O.
No es necesario especificar un atributo para cada nivel de la jerarquía.
Se debe seguir la estructura jerárquica.
Por ejemplo, se cargan el siguiente fichero XML:
Se puede utilizar cualquiera de las búsquedas de palabra clave siguientes para devolver el fichero:
xml:@mes
xml:@mes(ma*)
xml:@color(rosa)
xml: @número: @color
xml: @estatus(liberado):@número:@id(98821c56)
marzo color rosa 98821c56
Sin embargo, fallarían las siguientes búsquedas:
xml:rosa
No se puede buscar solo por el valor. El valor debe incluirse entre paréntesis y seguir a un atributo.
Si no se desea incluir un atributo en la búsqueda, se debe quitar el modificador xml: y realizar una búsqueda de palabra clave básica.
Solución alternativa:
xml:@color(rosa) xml:@mes:@color(rosa) rosa
xml:@mes(marzo abril)@color(rosa)
Se deben utilizar dos puntos entre los niveles jerárquicos.
Solución alternativa:
xml:@mes(marzo abril):@color(rosa)
xml:@estatus(98821c56)
A diferencia de los pares de etiqueta y contenido, no se puede buscar un valor anidado.
Es decir, no se puede mezclar y buscar la coincidencia de nombres de atributo con valores de atributo anidados.
<CATALOG status="Released">
<SPRING month="March, April, May">
<PAGE number="12">
<ITEM id="98821c56">Potting Soil</ITEM>
Solución alternativa:
xml:@estatus:@id(98821c56) xml:@id(98821c56)
xml:@número(12):@estatus(liberado)
Las búsquedas jerárquicas deben empezar en un nivel superior seguido de los niveles anidados. No se puede empezar con un atributo anidado y luego buscar un atributo o valor superior de la jerarquía.
<CATALOG status="Released">
<SPRING month="March, April, May">
<PAGE number="12">
Solución alternativa:
xml:@estatus(liberado):@número(12) xml:@estatus(liberado):@número xml:@estatus:@número(12)
xml:@alias(jardín):@número(12)
No se pueden buscar dos atributos que se encuentran en diferentes etiquetas del mismo nivel jerárquico:
<CATALOG status="Released">
<SPRING month="March, April, May">
<TITLE alias="Spring Garden Catalog">Garden Sales</TITLE>
<LINE>Outdoor_Tools</LINE>
<PAGE number="12">
Solución alternativa:
xml:@alias(jardín) xml:@número(12)
Búsquedas combinadas de etiqueta y atributo
Es posible combinar las búsquedas anteriores para buscar por etiqueta XML, contenido, atributo y valor de atributo.
Se puede utilizar cualquiera de los formatos siguientes:
xml:etiqueta(contenido)@atributo(valor)
xml:etiqueta@atributo
xml:etiqueta(contenido)@atributo
xml:etiqueta@atributo(valor)
Se puede utilizar el carácter de dos puntos (:) para atravesar la jerarquía XML. Las búsquedas jerárquicas deben seguir las mismas reglas indicadas arriba.
Por ejemplo, se cargan el siguiente fichero XML:
Se puede utilizar cualquiera de las búsquedas de palabra clave siguientes para devolver el fichero:
xml:primavera@mes(abril)
xml:catálogo(jardín tierra guantes)@estatus(liberado)
xml:página@número(12):elemento@id(98821c56)
xml:catálogo:@mes(abril):leyenda(adiós)
xml:catálogo(guantes tierra):página@número(12):leyenda(adiós)
xml:primavera(jardín herramientas):@alias
catálogo marzo primavera rosa 98821c56
Sin embargo, fallarían las siguientes búsquedas:
xml:elemento(rosa)
No se puede emparejar un nombre de etiqueta con un valor de atributo.
Solución alternativa:
xml:elemento@color(rosa) elemento rosa
xml:@id(tierra abonada)
No se puede emparejar un nombre de atributo con contenido de etiqueta.
Solución alternativa:
xml:elemento(tierra abonada)@id id tierra abonada
xml:primavera@color(rosa)
No se puede emparejar un nombre de etiqueta con un atributo especificado en otra etiqueta.
Solución alternativa:
xml:elemento@color(rosa) xml:primavera:@color(rosa)
xml:primavera@estatus(liberado)
Las búsquedas jerárquicas deben empezar en un nivel superior seguido de los niveles anidados. No se puede empezar con un atributo anidado o etiqueta y luego especificar un elemento superior de la jerarquía.
Solución alternativa:
xml:@estatus(liberado):primavera