<list>
<field ows_ID="1081" Program="106;#Virginia" ProgramCategory="United States"/>
<field ows_ID="1082" Program="110;#NewYork" ProgramCategory="United States" />
<field ows_ID="1083" Program="106;#Texas;#112;#Virginia;#118;#Mass" ProgramCategory="United States" />
<field ows_ID="1084" Program="111;#Florida;#180;#Texas" ProgramCategory="United States" />
<field ows_ID="1085" Program="" ProgramCategory="Australia" />
<field ows_ID="1086" Program="122;#Sydney;#Melbourne" ProgramCategory="Australia" />
<field ows_ID="1087" Program="121;#Melbourne" ProgramCategory="Australia" />
<field ows_ID="1088" Program="118;#Mass" ProgramCategory="United States" />
<field ows_ID="1088" Program="123;#Brisbane" ProgramCategory="Australia" />
</list>
У меня есть какой-то xml, из которого мне нужно найти счетчик, где ProgramCategory равна некоторой стране, а Program не должна равняться некоторым состояниям, которые я получаю динамически из некоторого другого xml.Из другого xml я получаю Program, связанную с каждой ProgramCategory, а затем мне нужно отфильтровать xml с условием
foreach(list/field[@ProgramCategory=$Country][not(contain(@Program,$State1][not(contain(@Program,$State2][not(contain(@Program,$State3][not(contain(@Program,$State4])
Проблема в том, что я могу получить n no.штатов, через которые я прохожу цикл других xml.
Скажем, если я получил от другого xml, что штаты, связанные с Соединенными Штатами, - это Вирджиния, Техас и Флорида, то счетчик для Соединенных Штатов равен 2, и еслиЯ говорю, что штаты, ассоциируемые с Австралией, - это Мельбурн, Сидней и Брисбен, тогда количество составляет 1. Я использую xsl 1.0.