우리는 값에 따라 xml 특성을 표시하기 위해 XSLT를 사용하고 있습니다. 우리는 C#을 사용하여 서버 측에서 처리 할 수 있습니다. 그러나 우리는 XSLT를 통해이를 달성하는 방법을 얻지 못하고 있습니다.
샘플 xml을 다음과 같이 사용하고 있습니다.
XSLT를 사용하여 속성 값에 따라 속성을 표시하는 방법은 무엇입니까?
<BookInfo>
<BookTable show="Book 1" >
<book id="book1" value="Book 1" />
<book id="book2" value="Book 2" />
</BookTable>
</BookInfo>
우리는 "쇼"속성 값을 읽고 값에 따라, 우리는 노드 정보를 표시 할 싶어요.
XSLT를 사용하여이 작업을 수행하도록 도와주세요. 미리 감사드립니다.
수정 된 xml;
<Book>
<Info>
<Item name="Item1" type="DropDown" defaultValue="Two" values="One,Two,Three" />
<Item name="One" type="Label" value="some text" />
<Item name="Two" type="TextBox" value="another text" />
<Item key="Three" name="CheckBox" value="true" />
</Info>
</Book>
불행히도 xml 형식이 변경되었습니다. 이제이 경우 Item1 defaultValue는 2이므로 이름이 "2"인 노드가 반환되어야합니다.
두 번째 예
<xsl:template match="BookTable">
<xsl:value-of select="book[@value = current()/@show]"/>
</xsl:template>
EDIT 실제 노드에 점을 표시 할 필요가 있음을, 내가 <Item name="Item1">
노드가 항상있다 있으리라 믿고있어, 매우 명확하지 않다 :
두 개 이상의 아이템을 어떻게 모델링합니까? 같은 레벨이지만 스키마가 다른 동일한 요소 이름을 사용하고 있습니다! –
@Alejandro : 예, 실제로이 작업이 필요합니다. xml을 파싱하는 동안 조건에 따라 노드를 표시해야합니다. –