나는 저장 위치의 XML 문서를 가지고있다. 저장 노드는 저장소의 유형을 나타내는 Type 노드와 상태에 따라 각 Location에 키를 추가하기위한 기존 템플릿 세트를 가지며,이 템플릿은 상태에 따라 HTML에 추가된다.키를 생성하는 XSL 선택에 추가 기준을 추가 할 수 있습니까?
내가해야 할 일은 유형이 1 인 디스플레이에서 모든 주를 제외하는 것입니다. for-each 루프에서 해당 위치의 표시를 건너 뛰기는 쉽지만 그 상태를 표시하는 상태로 끝납니다 값이 없습니다. 템플릿이 같다고
<xsl:apply-templates select="$locations/descendant::Locations" mode="locations.list"/>
: 여기
는<select/>
HTML 태그 내부의 코드입니다
<xsl:template match="Locations" mode="locations.list">
<xsl:apply-templates select="Location[generate-id(.) = generate-id(key('state', State)[1])]" mode="locations.list.location"/>
</xsl:template>
이 호출하는 템플릿 보이는 같은 다음에 일반적으로
<xsl:template match="Location" mode="locations.list.location">
<option value="state"><xsl:value-of select="normalize-space(State)"/></option>
<xsl:for-each select="key('state', State)">
<option value="{normalize-space(SiteKey)}"><xsl:value-of select="normalize-space(Location)/></option>
</xsl:for-each>
<option value=""/>
</xsl:template>
<xsl:apply-templates select="Location[generate-id(.) = generate-id(key('state', State)[1])]" mode="locations.list.location"/>
나는 선택에 내가 관심이 있다는 것을 나타 냈을 뿐이다. Type이 '1'인 Locations에서는 키 생성 코드와 함께 해당 조건을 삽입 할 수있는 방법을 찾을 수 없습니다. 고유 ID가 현재 State
가진 첫번째 Location
동일
<xsl:apply-templates
mode = "locations.list.location"
select = "Location[
generate-id(.)
=
generate-id(key('state', State)[Type = '1'][1])
]"
/>
선택 Location
의 노드 : 전체 입력 XML을 보지 않고
궁극적으로 내가 한 일에 매우 가깝습니다. 나는 내가 간과 한이 코드 조각을 포함하는 것을 게을리했다. 돌이켜 보면./한숨 –
Otis
그런 삶입니다. ;-) – Tomalak