Я пытаюсь выяснить, как использовать несколько шаблонов на основе атрибутов на более низких уровнях XML-документа. Пример:Соответствие переменной xslt по XML
<World>
<Country value="USA">
<State value="KY">
<City value="Hebron"/>
<City value="Lexington"/>
<City value="Owensboro"/>
<City value="Jonesville"/>
</State>
<State value="OH">
<City value="Cincinnati"/>
<City value="Columbus"/>
<City value="Cleveland"/>
<City value="Jonesville"/>
</State>
<State value="IN">
<City value="Indianapolis"/>
</State>
</Country>
</World>
<World>
<Country value="Russia">
<State value="Estonia">
<City value="Tallinn"/>
<City value="Dorpat"/>
<City value="Owensboro"/>
</State>
<State value="Ukraine">
<City value="Kiev"/>
<City value="Sevastopol"/>
<City value="Slavutych"/>
<City value="Jonesville"/>
</State>
</Country>
</World>
Я собираюсь получить экземпляры XML документов, как будут либо Страна = США или Россия, но я не знаю. Я хочу применить единый XSLT, который позволит любой стране и копировать различные города в результате.
, если его США, например, вывод будет выглядеть так:
<World>
<Country value="USA">
<State value="KY">
<City value="Hebron" />
</State>
<State value="OH">
<City value="Cincinnati" />
<City value="Jonesville" />
</State>
</Country>
</World>
, если его Россия:
<World>
<Country value="Russia">
<State value="Estonia">
<City value="Dorpat" />
<City value="Owensboro" />
</State>
<State value="Ukraine">
<City value="Keiv" />
<City value="Sevastopol" />
<City value="Slavutych" />
</State>
</Country>
</World>
Также обратите внимание, что можно хотеть город в одном государстве, но не еще (т.е. OH против KY, Jonesville).
Я могу получить одну страну для работы, но я не понимаю, как заставить шаблоны сопоставлять разные атрибуты. Есть идеи?
Трудно сказать, что именно вы ищете. Каковы критерии, которые вы хотите применить при выборе городов для копирования на ваш выход? – Jollymorphic
Он будет определен посредством набора параметров в XSLT. каждый клиент может войти и изменить их на другую ценность города. –
@Matt A: Полный ответ зависит от того, какие данные вы используете для этой фильтрации. В другой руке это точно так же, как ваш прежний [вопрос] (http://stackoverflow.com/questions/5585372/use-xslt-to-pare-down-xml-output). –