Поскольку вы подняли несколько мета-вопросов о том, как подойти к проблеме, позвольте мне попытаться ответить на них.
Я думаю, что есть проблема с вашим подходом к изучению языка.Ответ, конечно же, не в том, чтобы «продолжать гуглить»: напротив, я думаю, что вы пытались решить свои проблемы, прибегая к поиску ответа, не садясь и не систематически изучая понятия языка.
Вот почему вы разочарованы процессом.
Ваш вопрос "есть ли способ использовать значение атрибута в качестве имени нового элемента?"иллюстрирует это.Если вы знаете, как использовать @xxx
для получения значения атрибута, и если вы знаете, как использовать xsl:element
для создания элемента, то у вас не должно возникнуть проблем при объединении двух идей.
Если вы используете Google и дадите ему описание вашей проблемы, то он найдет ответ, только если кто-то решил ту же проблему и описал ее в тех же терминах.Кто-то другой мог бы решить немного другую проблему, для решения которой требуются одни и те же примитивы, или они могли бы описать ее другими терминами, и вы не найдете информацию.И если вы найдете ответ, он, вероятно, будет описан в терминах понятий и терминологии, которые вы не освоили, потому что все ваши знания были получены случайными блоками, некоторые из которых написаны людьми, которые на самом деле имеют очень небольшую компетенцию.
Найдите себе хорошую книгу по языку и прочитайте ее, начиная с самого начала и изучая примеры.Автор позаботится о порядке представления тем, чтобы каждая глава основывалась на том, что вы узнали в предыдущих главах.Он научит вас строительным блокам, с которыми вы можете работать, и даст вам примеры того, как их объединить для решения проблем, некоторые из них похожи на ваши собственные, некоторые совсем другие.
Необходимые строительные блокиздесь все очень просто, и вы уже используете их, но мне кажется, что вы используете их, не понимая их по-настоящему;Я подозреваю, что вы скопировали код, который вы нашли в Google и не поняли.Это не правильная стратегия.