Я совершенно новый для XSLT. И поэтому я столкнулся с некоторыми трудностями. Мне нужно преобразовать довольно большой XML в новый XML. Однако, как я прохожу, я столкнулся с некоторыми трудностями:Как управлять порядком генерации элементов в xsl
Входной XML может быть как:
<Employees>
<Employee>
<Name>A</Name>
<Role>Manager</Role>
<Salary>5000$</Salary>
</Employee>
<Employee>
<Name>A</Name>
<Role>Director</Role>
<Salary>8000$</Salary>
</Employee>
</Employees>
и вывод XML должен быть как:
<Manager>
<Employee_Name>A</Employee_Name>
</Manager>
<Count_Of_Employee>2</Count_Of_Employee>
<Director>
<Employee_Name>B</Employee_Name>
</Director>
Теперь, если, Я применим шаблон <xsl:Employees/Employee>
, затем он будет проверять каждого сотрудника и создаст тег Director сразу после тега менеджера.
Следовательно, при выполнении проверки против XSD он будет терпеть неудачу, поскольку он ожидает, что между ними будет тег coutn.
Итак, мой первый вопрос: как я могу контролировать порядок узлов выходных элементов при написании общего шаблона?
Мой другой вопрос: я должен преобразовать большой XML, так что я не хочу писать <xsl:element>
каждый раз, когда я генерирующий тег ..
Я пытался искать различные общие шаблоны .. но не мог 't найти или написать хороший общий шаблон для генерации элемента, для которого имя тега (в целевом xml) не совпадает с именем (в исходном XML) [я нашел несколько общих шаблонов, для которых имя элемента одинаково для обоих XML].
Может кто-то пожалуйста, помогите мне об этом .. я посмотрел в стандартной libraray XSL, а .., но не мог найти хорошую альтернативу ..
Любое предложение или soultion было бы большим подспорьем для меня ,
Вы проявите некоторый входной образец и желаемый результат; это хорошо. Но вам нужно также показать нам достаточно XSLT, который вы используете, чтобы позволить читателям вопроса понять, что вы делаете (а затем, если можно, диагностируйте, что это не так в том, что вы делаете). –