chameleon
Новичок
даже и не думалРебята - не ссортесь
.. просто спорю
.. ничего личного on jianпрактика показывает, что "не надо" = "пока что не надо"не надо вычленять итемы, у которых (5 < @id < 12)
..даже и не думалРебята - не ссортесь
.. просто спорю
.. ничего личного on jianпрактика показывает, что "не надо" = "пока что не надо"не надо вычленять итемы, у которых (5 < @id < 12)
..
<DESC lang="RUS">
<FILTER>
<ITEM id="25606" />
<ITEM id="25613" />
<ITEM id="25617" />
</FILTER>
<CONTENTS>
<CONTENT type_id="1" type_name="logotypes" extention="GIF" >
<FOLDERS>
<FOLDER name="Новинки" tag="0">
<ITEMS>
<ITEM id="25606" code="26371" keywords=",,,Новинки" />
<ITEM id="25607" code="26373" keywords=",,,Новинки" />
<ITEM id="25608" code="26375" keywords=",,,Новинки" />
<ITEM id="25609" code="26377" keywords=",,,Новинки" />
<ITEM id="25610" code="26379" keywords=",,,Новинки" />
<ITEM id="25611" code="26381" keywords=",,,Новинки" />
<ITEM id="25612" code="26383" keywords=",,,Новинки" />
<ITEM id="25613" code="26385" keywords=",,,Новинки" />
<ITEM id="25614" code="26387" keywords=",,,Новинки" />
<ITEM id="25615" code="26389" keywords=",,,Новинки" />
<ITEM id="25616" code="26391" keywords=",,,Новинки" />
<ITEM id="25617" code="26393" keywords=",,,Новинки" />
<ITEM id="25618" code="26395" keywords=",,,Новинки" />
<ITEM id="25619" code="26397" keywords=",,,Новинки" />
</ITEMS>
</FOLDER>
</FOLDERS >
</CONTENT>
</CONTENTS>
</DESC >
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:key match="/DESC/FILTER/ITEM" name="id" use="@id" />
<xsl:template match="/">
<DESC lang="RUS">
<xsl:apply-templates select="/DESC" />
</DESC>
</xsl:template>
<xsl:template match="CONTENTS">
<xsl:if test="not( current()/@id ) or current()[@id != key('id',curent()/@id ) ] ">
<xsl:copy-of select="." />
</xsl:if>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="filter.xsl"?>
<desc lang="rus">
<filter>
<item id="25606" />
<item id="25613" />
<item id="25617" />
</filter>
<contents>
<content type_id="1" type_name="logotypes" extention="gif" >
<folders>
<folder name="new toys" tag="0">
<items>
<item id="25606" code="26371" keywords=",,,new toys" />
<item id="25607" code="26373" keywords=",,,new toys" />
<item id="25608" code="26375" keywords=",,,new toys" />
<item id="25609" code="26377" keywords=",,,new toys" />
<item id="25610" code="26379" keywords=",,,new toys" />
<item id="25611" code="26381" keywords=",,,new toys" />
<item id="25612" code="26383" keywords=",,,new toys" />
<item id="25613" code="26385" keywords=",,,new toys" />
<item id="25614" code="26387" keywords=",,,new toys" />
<item id="25615" code="26389" keywords=",,,new toys" />
<item id="25616" code="26391" keywords=",,,new toys" />
<item id="25617" code="26393" keywords=",,,new toys" />
<item id="25618" code="26395" keywords=",,,new toys" />
<item id="25619" code="26397" keywords=",,,new toys" />
</items>
</folder>
</folders >
</content>
</contents>
</desc >
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:strip-space elements="*" />
<xsl:output indent="yes" method="xml" />
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="filter"/>
<xsl:template match="*">
<xsl:if test="not(name() = 'item' and /desc/filter/item/@id[.=current()/@id])">
<xsl:element name="{name()}">
<xsl:apply-templates select="@*"/>
<xsl:apply-templates />
</xsl:element>
</xsl:if>
</xsl:template>
<xsl:template match="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="." />
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<desc lang="rus">
<contents>
<content type_id="1" type_name="logotypes" extention="gif">
<folders>
<folder name="new toys" tag="0">
<items>
<item id="25607" code="26373" keywords=",,,new toys"/>
<item id="25608" code="26375" keywords=",,,new toys"/>
<item id="25609" code="26377" keywords=",,,new toys"/>
<item id="25610" code="26379" keywords=",,,new toys"/>
<item id="25611" code="26381" keywords=",,,new toys"/>
<item id="25612" code="26383" keywords=",,,new toys"/>
<item id="25614" code="26387" keywords=",,,new toys"/>
<item id="25615" code="26389" keywords=",,,new toys"/>
<item id="25616" code="26391" keywords=",,,new toys"/>
<item id="25618" code="26395" keywords=",,,new toys"/>
<item id="25619" code="26397" keywords=",,,new toys"/>
</items>
</folder>
</folders>
</content>
</contents>
</desc>
Все-таки вариант с ключами оптимален, если есть только признак(правило) по которому нужно отсеивать элементы и производится множественный поиск по различным значениям ключа. В твоем случае (отсеиваемые элементы перечислены явно), имхо, лучше и проще использовать решение от jian.а возможен вариант с ключами?