У меня есть * .xml с элементами, такими как:XSLT копирование без XSL: копирование из
<app-method name="leave-accrual-status-details" kind="enquiry">
<title>...</title>
<required-roles>
<role name="authenticated"/>
</required-roles>
<asd>
<param name="..." datatype="dt:int" control="hidden" call-kind="..." data-kind="..."/>
</asd>
<data-engine sp="spLeaveAccrualStatusDetails">
...
</data-engine>
<wia>
...
</wia>
</app-method>
и генерируя новый .xml-документ (выбор только элементы "приложение-метод") .I делаю это следующим образом: ( .xsl)
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:output method="xml" encoding="utf-8" indent="no"></xsl:output>
<xsl:template match="/">
<xsl:for-each select="//app-method">
<xsl:if test='./required-roles/role[@name="administrator"]'>
<xsl:copy-of select="." />
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Это прекрасно работает, но .. есть ли способ сделать это без „XSL: копия-of“? Думаю, мне нужно использовать что-то вроде «node-name ('blabla')» и value-of? .. И как выбрать набор параметров методов (отчетливо)? (Пары имя = «имя параметр»), да, мне нужно использовать «ключ», но не могу найти хорошие образцы с ним
Большого спасибо
PS При преобразовании xml-> XML я должен использовать Far («xsl in.xml transform.xsl out.xml»), потому что есть некоторая странная ошибка при попытке сделать это из cdm.exe, мне немного не нравится FAR, есть ли другой способ конвертировать xmls?
Существует так много вопросов здесь ... Ja! – 2010-10-21 13:41:29