도움을 찾고 계십니다. XFA 양식 (XML 기반)을 사용하여 항목을 표시하고 값을 저장하는 드롭 다운이 있습니다. 목록이 매우 길 수 있으므로 XSLT 1.0을 사용하여 필터링하려고합니다.XSLT 1.0을 사용하여 두 xml 트리를 동시에 필터링하는 방법은 무엇입니까?
소스 XML의 DROM의 메뉴는 다음과 같이 보일 수 있습니다 :
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xfa="http://www.xfa.org/schema/xfa-form/2.8/" xml:space="preserve">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no" standalone="yes"/>
<xsl:template match="/">
<field name="DropDownList">
<xsl:apply-templates/>
</field>
</xsl:template>
<xsl:template match="/*[local-name()='field']/*[local-name()='items']" >
<items xmlns="http://www.xfa.org/schema/xfa-template/3.6/">
<xsl:for-each select="./*[local-name()='text']">
<xsl:if test="contains(., '01')">
<text>
<xsl:value-of select="."/>
</text>
</xsl:if>
</xsl:for-each>
</items>
</xsl:template>
</xsl:stylesheet>
내가 필요하면 다시로드 이전과 같은 XML 구조는 다음과 같습니다
<?xml version="1.0" encoding="UTF-8"?>
<field name="DropDownList" xmlns="http://www.xfa.org/schema/xfa-form/2.8/">
<!-- Displayed items to be filtered -->
<items xmlns="http://www.xfa.org/schema/xfa-template/3.6/">
<text>Lorem Ipsum 0030</text>
<text>Lorem Ipsum 0060</text>
<text>Lorem Ipsum 0070</text>
<text>Lorem Ipsum 0080</text>
<text>Lorem Ipsum 0100</text>
<text>Lorem Ipsum 0110</text>
<text>Lorem Ipsum 0120</text>
<text>Lorem Ipsum 0130</text>
<text>Lorem Ipsum 0140</text>
</items>
<!-- Hidden save items to be filtered too -->
<items save="1" presence="hidden" xmlns="http://www.xfa.org/schema/xfa-template/3.6/">
<text>item0</text>
<text>item1</text>
<text>item2</text>
<text>item3</text>
<text>item4</text>
<text>item5</text>
<text>item6</text>
<text>item7</text>
<text>item8</text>
<text>item9</text>
</items>
</field>
나의 현재 스타일이 방법을 찾습니다 드롭 다운 목록에 넣지 만, 아직 정확한 데이터로 채워진 두 번째 항목 트리를 얻는 방법을 찾지 못했습니다. 첫 번째 항목 트리에서 노드의 인덱스를 저장하고 두 번째 항목 트리에서 관련 노드를 찾으려면 매개 변수 또는 변수를 사용하는 것이 좋습니다.하지만 어떻게해야합니까?
<?xml version="1.0" encoding="UTF-8"?>
<field name="DropDownList" xmlns="http://www.xfa.org/schema/xfa-form/2.8/">
<items xmlns="http://www.xfa.org/schema/xfa-template/3.6/">
<text>Lorem Ipsum 0100</text>
<text>Lorem Ipsum 0110</text>
<text>Lorem Ipsum 0120</text>
<text>Lorem Ipsum 0130</text>
<text>Lorem Ipsum 0140</text>
</items>
<items save="1" presence="hidden" xmlns="http://www.xfa.org/schema/xfa-template/3.6/">
<text>item5</text>
<text>item6</text>
<text>item7</text>
<text>item8</text>
<text>item9</text>
</items>
</field>