Nozioni di base su Windchill > Ricerca Windchill > Riferimenti sulla ricerca > Ricerche nei documenti XML
  
Ricerche nei documenti XML
* 
L'argomento riportato di seguito è applicabile solo se la proprietà wt.index.enableXMLTagSearch è impostata su true. Per default, questa proprietà è impostata su false.
Se Windchill Index Search è installato e attivato, i file XML vengono indicizzati per default. È possibile cercare documenti XML utilizzando una ricerca per parola chiave standard sul contenuto XML (valori tra tag XML).
Se la proprietà wt.index.enableXMLTagSearch è impostata su true, tuttavia, Windchill indicizza il contenuto, i tag e gli attributi XML. Di conseguenza, tutti i nomi di tag e i contenuti di un documento XML sono indicizzati e ricercabili utilizzando il campo Parola chiave.
Si supponga, ad esempio, di caricare un documento XML che contiene quanto segue:
<title>Part Catalog</title>
La ricerca per parola chiave di "catalog" o "title" restituisce il documento XML.
Per limitare la ricerca per parola chiave ai documenti XML, è possibile immettere xml: seguito da una stringa di interrogazione specializzata.
* 
Le ricerche XML possono essere eseguite solo per l'inglese. Quando si esegue l'indicizzazione con ambito XML, la lingua non viene elaborata.
In presenza di un codice XML non valido, Windchill non può indicizzare il contenuto del documento XML. In questi casi, è possibile cercare il documento XML solo specificando gli attributi Nome e Numero.
Quando si esegue una ricerca xml: specializzata sono valide le regole di ricerca per parola chiave. Ad esempio, sono consentiti i caratteri jolly e l'uso dello stemming. Per ulteriori informazioni, vedere Regole di ricerca per parola chiave.
Per eseguire una ricerca xml: specializzata, è necessario che la preferenza Modalità di ricerca sia impostata su Semplice e che la proprietà wt.index.enableXMLTagSearch sia impostata su true.
Ricerca di tag XML
È possibile cercare i nomi e il contenuto dei tag utilizzando i formati riportati di seguito.
xml:tag
xml:tag(content)
È anche possibile combinare queste stringhe per cercare più livelli della gerarchia XML. Quando si effettua la ricerca per gerarchia, si applicano le regole indicate di seguito.
È possibile effettuare la ricerca a qualsiasi livello di profondità.
È necessario separare i livelli della gerarchia con i due punti (":")
xml:tag(content):tag(content)
Le stringhe racchiuse in (content) sono unite da un operatore OR.
Non è necessario specificare un tag per ogni livello della gerarchia.
È possibile cercare un contenuto anche se sono presenti tag intermedi all'interno della gerarchia.
È possibile includere stringhe da qualsiasi punto della gerarchia a condizione che il contenuto sia annidato in un tag.
È necessario seguire la struttura gerarchica.
Si supponga, ad esempio, di caricare il file XML riportato di seguito.
Per restituire il file, è possibile utilizzare una delle ricerche per parola chiave elencate di seguito.
xml:catalog
xml:cat*
xml:page
xml:spring(gloves)
xml:spring(outdoor):page(soil gloves)
xml:catalog:spring
xml:catalog:spring:title(sales)
xml:catalog(garden tools soil winter)
catalog garden tools soil winter
Tuttavia, le ricerche riportate di seguito hanno esito negativo.
Parola chiave
Motivo dell'errore
xml:garden
Non è possibile effettuare una ricerca del solo contenuto. Il contenuto deve essere racchiuso tra parentesi e seguire un nome di tag.
Se non si desidera includere un tag nella ricerca, rimuovere il modificatore xml: ed eseguire una ricerca per parola chiave di base.
Soluzione temporanea:
xml:spring(garden) xml:spring:title(garden) garden
xml:catalog(garden)item(gloves)
È necessario utilizzare i due punti tra i livelli gerarchici.
Soluzione temporanea:
xml:catalog(garden):item(gloves)
xml:caption(winter):catalog(sales)
xml:caption(sales)
Le ricerche gerarchiche devono iniziare a un livello superiore seguito dai livelli annidati. Non è possibile iniziare con un tag annidato seguito da un tag di livello superiore.
Il tag CAPTION è annidato in CATALOG.
Il termine "Sales" si trova a un livello più alto nella gerarchia dei tag rispetto a CAPTION.
<CATALOG>
<SPRING>
<TITLE>Garden Sales</TITLE>
<PAGE>
<CAPTION>Goodbye, Winter!</ITEM>
Soluzione temporanea:
xml:catalog(sales):caption(winter) xml:catalog(sales winter) xml:catalog(sales winter):caption xml:catalog:caption(winter)
xml:title(potting soil)
Se si accoppia un nome di tag e un contenuto che non si trovano direttamente all'interno del tag, il contenuto deve essere annidato all'interno del tag specificato.
Nell'XML di esempio, "potting soil" è il contenuto di un tag ITEM annidato. Il tag TITLE è a un livello più alto nella gerarchia. Tuttavia, TITLE non fa parte della gerarchia dei tag di ITEM.
La gerarchia dei tag di ITEM è CATALOG > SPRING > PAGE > ITEM:
<CATALOG>
<SPRING>
<TITLE>Garden Sales</TITLE>
<PAGE>
<ITEM>Potting Soil</ITEM>
Soluzione temporanea:
xml:page(potting soil) xml:catalog(potting soil) xml:catalog:page(potting soil) xml:catalog:spring:page:item(potting soil)
xml:caption(winter):item(soil)
Non è possibile cercare due tag che si trovano allo stesso livello gerarchico:
<PAGE>
<CAPTION>Goodbye, Winter!</CAPTION>
<ITEM>Potting Soil</ITEM>
Soluzione temporanea:
xml:page(winter):item(soil) xml:page(winter soil) xml:caption(winter) xml:item(soil)
Ricerca di attributi XML
È possibile cercare i nomi e i valori di attributo utilizzando i formati riportati di seguito.
xml:@attribute
xml:@attribute(value)
* 
Non è possibile combinare nomi di attributo differenti con i valori. Il valore deve appartenere all'attributo.
È anche possibile combinare queste stringhe per cercare più livelli della gerarchia XML. Quando si effettua la ricerca per gerarchia, si applicano le regole indicate di seguito.
È possibile effettuare la ricerca a qualsiasi livello di profondità.
È necessario separare i livelli della gerarchia con i due punti (":")
xml:@attribute(value):@attribute(value)
Le stringhe racchiuse in (value) sono unite da un operatore OR.
Non è necessario specificare un attributo per ogni livello della gerarchia.
È necessario seguire la struttura gerarchica.
Si supponga, ad esempio, di caricare il file XML riportato di seguito.
Per restituire il file, è possibile utilizzare una delle ricerche per parola chiave elencate di seguito.
xml:@month
xml:@month(ma*)
xml:@color(pink)
xml:@number:@color
xml:@status(released):@number:@id(98821c56)
march color pink 98821c56
Tuttavia, le ricerche riportate di seguito hanno esito negativo.
xml:pink
Non è possibile effettuare una ricerca del solo valore. Il valore deve essere racchiuso tra parentesi e seguire un attributo.
Se non si desidera includere un attributo nella ricerca, rimuovere il modificatore xml: ed eseguire una ricerca per parola chiave di base.
Soluzione temporanea:
xml:@color(pink) xml:@month:@color(pink) pink
xml:@month(march april)@color(pink)
È necessario utilizzare i due punti tra i livelli gerarchici.
Soluzione temporanea:
xml:@month(march april):@color(pink)
xml:@status(98821c56)
Diversamente dalle coppie tag/contenuto, non è possibile cercare un valore annidato.
In altre parole, non è possibile combinare e associare nomi di attributo con valori di attributo annidati.
<CATALOG status="Released">
<SPRING month="March, April, May">
<PAGE number="12">
<ITEM id="98821c56">Potting Soil</ITEM>
Soluzione temporanea:
xml:@status:@id(98821c56) xml:@id(98821c56)
xml:@number(12):@status(released)
Le ricerche gerarchiche devono iniziare a un livello superiore seguito dai livelli annidati. Non è possibile iniziare con un attributo annidato e quindi cercare un attributo o un valore più alto nella gerarchia.
<CATALOG status="Released">
<SPRING month="March, April, May">
<PAGE number="12">
Soluzione temporanea:
xml:@status(released):@number(12) xml:@status(released):@number xml:@status:@number(12)
xml:@alias(garden):@number(12)
Non è possibile cercare due attributi all'interno di tag differenti sullo stesso livello gerarchico:
<CATALOG status="Released">
<SPRING month="March, April, May">
<TITLE alias="Spring Garden Catalog">Garden Sales</TITLE>
<LINE>Outdoor_Tools</LINE>
<PAGE number="12">
Soluzione temporanea:
xml:@alias(garden) xml:@number(12)
Ricerche combinate di attributi e tag
È possibile combinare le ricerche descritte sopra allo scopo di effettuare ricerche per tag, contenuto, attributo e valore di attributo XML.
Sono supportati i formati riportati di seguito.
xml:tag(content)@attribute(value)
xml:tag@attribute
xml:tag(content)@attribute
xml:tag@attribute(value)
È possibile utilizzare i due punti (:) per attraversare la gerarchia XML. Le ricerche gerarchiche devono seguire le stesse regole descritte sopra.
Si supponga, ad esempio, di caricare il file XML riportato di seguito.
Per restituire il file, è possibile utilizzare una delle ricerche per parola chiave elencate di seguito.
xml:spring@month(april)
xml:catalog(garden soil gloves)@status(released)
xml:page@number(12):item@id(98821c56)
xml:catalog:@month(april):caption(goodbye)
xml:catalog(gloves soil):page@number(12):caption(goodbye)
xml:spring(garden tools):@alias
catalog march spring pink 98821c56
Tuttavia, le ricerche riportate di seguito hanno esito negativo.
xml:item(pink)
Non è possibile accoppiare un nome di tag con un valore di attributo.
Soluzione temporanea:
xml:item@color(pink) item pink
xml:@id(potting soil)
Non è possibile accoppiare un nome di attributo con il contenuto di un tag.
Soluzione temporanea:
xml:item(potting soil)@id id potting soil
xml:spring@color(pink)
Non è possibile accoppiare un nome di tag con un attributo specificato in un tag differente.
Soluzione temporanea:
xml:item@color(pink) xml:spring:@color(pink)
xml:spring:@status(released)
Le ricerche gerarchiche devono iniziare a un livello superiore seguito dai livelli annidati. Non è possibile iniziare con un attributo o un tag annidato e quindi specificare un elemento più alto nella gerarchia.
Soluzione temporanea:
xml:@status(released):spring