Windchill 기본 사항 > Windchill 검색 > 검색 참조 > XML 문서 검색
  
XML 문서 검색
* 
wt.index.enableXMLTagSearch 등록 정보가 true로 설정되어야 다음 항목이 적용됩니다. 기본적으로 이 등록 정보는 false로 설정되어 있습니다.
Windchill Index Search가 설치되고 사용 가능으로 설정된 경우 XML 파일이 기본적으로 색인화됩니다. XML 컨텐트(XML 태그 사이의 값)에 표준 키워드 검색을 사용하여 XML 문서를 검색할 수 있습니다.
그러나 wt.index.enableXMLTagSearch 등록 정보가 true로 설정되면 Windchill에서 XML 컨텐트, 태그 및 속성을 색인합니다. 따라서 XML 문서의 모든 태그 이름 및 컨텐트가 색인되며 키워드 필드를 사용하여 검색할 수 있습니다.
예를 들어, 다음을 포함하는 XML 문서를 업로드합니다.
<title>Part Catalog</title>
"catalog" 또는 "title"에 대한 키워드 검색을 수행하면 XML 문서가 반환됩니다.
키워드 검색을 XML 문서로 제한하려면 xml: 뒤에 특수 질의 문자열을 입력할 수 있습니다.
* 
XML 검색은 영어로만 수행할 수 있습니다. XML 범위 색인화를 수행할 때 언어 처리가 없습니다.
부적합한 XML이 있으면 Windchill에서 XML 문서 컨텐트를 색인화할 수 없습니다. 이 경우 이름번호 속성으로만 XML 문서를 검색할 수 있습니다.
키워드 규칙은 특수 xml: 검색을 수행할 때 적용됩니다. 예를 들어, 와일드카드가 허용되고 형태소 분석이 사용됩니다. 자세한 내용은 키워드 검색 규칙 항목을 참조하십시오.
특수한 xml: 검색을 수행하려면 검색 모드 기본 설정을 단순으로 설정하고 wt.index.enableXMLTagSearch 등록 정보를 true로 설정해야 합니다.
XML 태그 검색
다음 형식을 사용하여 태그 이름 및 태그 컨텐트를 검색할 수 있습니다.
xml:tag
xml:tag(content)
이러한 문자열을 결합하여 XML 계층의 여러 레벨을 검색할 수도 있습니다. 계층으로 검색하는 경우 다음 규칙이 적용됩니다.
원하는 수만큼 레벨을 검색할 수 있습니다.
계층 레벨을 콜론 문자(":")로 구분합니다.
xml:tag(content):tag(content)
(content) 내의 문자열은 OR 연산자로 결합됩니다.
계층의 각 레벨에 대해 태그를 지정할 필요는 없습니다.
계층 내에 중간 태그가 있는 경우에도 컨텐트를 검색할 수 있습니다.
컨텐트가 태그 내에 중첩되어 있기만 하면 계층 내의 모든 위치에 있는 문자열을 포함할 수 있습니다.
계층 구조를 따라야 합니다.
예를 들어, 다음 XML 파일을 업로드합니다.
다음 키워드 검색 중 하나를 사용하여 파일을 반환할 수 있습니다.
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
그러나 다음 검색은 실패합니다.
키워드
실패 이유
xml:garden
컨텐트만으로 검색할 수 없습니다. 컨텐트를 괄호로 묶거나 컨텐트 뒤에 태그 이름이 와야 합니다.
검색에 태그를 포함하지 않으려면 xml: 수정자를 제거하고 기본 키워드 검색을 수행합니다.
임시 해결책:
xml:spring(garden) xml:spring:title(garden) garden
xml:catalog(garden)item(gloves)
계층적 레벨 사이에 콜론을 사용해야 합니다.
임시 해결책:
xml:catalog(garden):item(gloves)
xml:caption(winter):catalog(sales)
xml:caption(sales)
계층적 검색은 상위 레벨에서 시작하고 그 뒤에 중첩된 레벨이 와야 합니다. 중첩된 태그에서 시작하고 그 뒤에 상위 레벨 태그를 추가할 수 없습니다.
CAPTION 태그는 CATALOG 내에 중첩됩니다.
"Sales"는 태그 계층에서 CAPTION보다 상위 레벨입니다.
<CATALOG>
<SPRING>
<TITLE>Garden Sales</TITLE>
<PAGE>
<CAPTION>Goodbye, Winter!</ITEM>
임시 해결책:
xml:catalog(sales):caption(winter) xml:catalog(sales winter) xml:catalog(sales winter):caption xml:catalog:caption(winter)
xml:title(potting soil)
태그 이름과 태그 안에 없는 컨텐트로 쌍을 만드는 경우 컨텐트를 지정된 태그 안에 중첩해야 합니다.
XML 예에서 "potting soil"은 중첩된 ITEM 태그의 컨텐트입니다. TITLE 태그는 계층에서 상위 레벨입니다. 그러나 TITLE은 ITEM에 대한 태그 계층에 속하지 않습니다.
ITEM 태그 계층은 CATALOG > SPRING > PAGE > ITEM입니다.
<CATALOG>
<SPRING>
<TITLE>Garden Sales</TITLE>
<PAGE>
<ITEM>Potting Soil</ITEM>
임시 해결책:
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)
동일한 계층적 레벨에 있는 두 태그를 검색할 수 없습니다.
<PAGE>
<CAPTION>Goodbye, Winter!</CAPTION>
<ITEM>Potting Soil</ITEM>
임시 해결책:
xml:page(winter):item(soil) xml:page(winter soil) xml:caption(winter) xml:item(soil)
XML 속성 검색
다음 형식을 사용하여 속성 이름 및 속성 값을 검색할 수 있습니다.
xml:@attribute
xml:@attribute(value)
* 
다른 속성 이름과 값을 결합할 수 없습니다. 값은 속성에 속해야 합니다.
이러한 문자열을 결합하여 XML 계층의 여러 레벨을 검색할 수도 있습니다. 계층으로 검색하는 경우 다음 규칙이 적용됩니다.
원하는 수만큼 레벨을 검색할 수 있습니다.
계층 레벨을 콜론 문자(":")로 구분합니다.
xml:@attribute(value):@attribute(value)
(value) 내의 문자열은 OR 연산자로 결합됩니다.
계층의 각 레벨에 대해 속성을 지정할 필요는 없습니다.
계층 구조를 따라야 합니다.
예를 들어, 다음 XML 파일을 업로드합니다.
다음 키워드 검색 중 하나를 사용하여 파일을 반환할 수 있습니다.
xml:@month
xml:@month(ma*)
xml:@color(pink)
xml:@number:@color
xml:@status(released):@number:@id(98821c56)
march color pink 98821c56
그러나 다음 검색은 실패합니다.
xml:pink
값만으로 검색할 수 없습니다. 값을 괄호로 묶거나 컨텐트 뒤에 속성이 와야 합니다.
검색에 속성을 포함하지 않으려면 xml: 수정자를 제거하고 기본 키워드 검색을 수행합니다.
임시 해결책:
xml:@color(pink) xml:@month:@color(pink) pink
xml:@month(march april)@color(pink)
계층적 레벨 사이에 콜론을 사용해야 합니다.
임시 해결책:
xml:@month(march april):@color(pink)
xml:@status(98821c56)
태그 및 컨텐트 쌍과 달리 중첩된 값을 검색할 수 없습니다.
즉, 속성 이름과 중첩된 속성 값을 혼합해서 일치시킬 수 없습니다.
<CATALOG status="Released">
<SPRING month="March, April, May">
<PAGE number="12">
<ITEM id="98821c56">Potting Soil</ITEM>
임시 해결책:
xml:@status:@id(98821c56) xml:@id(98821c56)
xml:@number(12):@status(released)
계층적 검색은 상위 레벨에서 시작하고 그 뒤에 중첩된 레벨이 와야 합니다. 중첩된 속성에서 시작한 다음 계층의 상위 속성이나 값을 검색할 수 없습니다.
<CATALOG status="Released">
<SPRING month="March, April, May">
<PAGE number="12">
임시 해결책:
xml:@status(released):@number(12) xml:@status(released):@number xml:@status:@number(12)
xml:@alias(garden):@number(12)
동일한 계층적 레벨의 다른 태그 안에 있는 두 속성을 검색할 수 없습니다.
<CATALOG status="Released">
<SPRING month="March, April, May">
<TITLE alias="Spring Garden Catalog">Garden Sales</TITLE>
<LINE>Outdoor_Tools</LINE>
<PAGE number="12">
임시 해결책:
xml:@alias(garden) xml:@number(12)
태그 및 속성 검색 결합
위의 검색을 결합하여 XML 태그, 컨텐트, 속성 및 속성 값을 검색할 수 있습니다.
다음 형식 중 하나를 사용할 수 있습니다.
xml:tag(content)@attribute(value)
xml:tag@attribute
xml:tag(content)@attribute
xml:tag@attribute(value)
콜론 문자(:)를 사용하여 XML 계층을 트래버스할 수 있습니다. 계층적 검색은 위에서 설명한 것과 동일한 규칙을 따라야 합니다.
예를 들어, 다음 XML 파일을 업로드합니다.
다음 키워드 검색 중 하나를 사용하여 파일을 반환할 수 있습니다.
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
그러나 다음 검색은 실패합니다.
xml:item(pink)
태그 이름과 속성 값의 쌍을 만들 수 없습니다.
임시 해결책:
xml:item@color(pink) item pink
xml:@id(potting soil)
속성 이름과 태그 컨텐트의 쌍을 만들 수 없습니다.
임시 해결책:
xml:item(potting soil)@id id potting soil
xml:spring@color(pink)
태그 이름과 다른 태그에 지정된 속성의 쌍을 만들 수 없습니다.
임시 해결책:
xml:item@color(pink) xml:spring:@color(pink)
xml:spring:@status(released)
계층적 검색은 상위 레벨에서 시작하고 그 뒤에 중첩된 레벨이 와야 합니다. 중첩된 속성이나 태그에서 시작한 다음 계층의 상위 요소를 지정할 수 없습니다.
임시 해결책:
xml:@status(released):spring