revert


<view xmlns="http://software.in2p3.fr/lavoisier/config.xsd" xmlns:e="http://software.in2p3.fr/lavoisier/entries.xsd" name="revert">
    <connector type="XMLConnector">
        <parameter name="content" eval="view('services')"/>
    </connector>
    <processors/>
</view>
<ROOT>
    <SERVICE name="s1">
        <VO id="dteam"/>
        <VO id="atlas"/>
    </SERVICE>
    <SERVICE name="s2">
        <VO id="dteam"/>
        <VO id="cms"/>
    </SERVICE>
</ROOT>

<view xmlns="http://software.in2p3.fr/lavoisier/config.xsd" xmlns:e="http://software.in2p3.fr/lavoisier/entries.xsd" name="revert">
    <connector type="XMLConnector">
        <parameter name="content" eval="view('services')"/>
    </connector>
    <processors>
        <select nodes="/ROOT/SERVICE">
            <group by="VO/@id" sort="text"/>
        </select>
    </processors>
</view>
<ROOT>
    <_entries_:entry key="atlas" xmlns:_entries_="http://software.in2p3.fr/lavoisier/entries.xsd">
        <SERVICE name="s1"/>
    </_entries_:entry>
    <_entries_:entry key="cms" xmlns:_entries_="http://software.in2p3.fr/lavoisier/entries.xsd">
        <SERVICE name="s2"/>
    </_entries_:entry>
    <_entries_:entry key="dteam" xmlns:_entries_="http://software.in2p3.fr/lavoisier/entries.xsd">
        <SERVICE name="s1"/>
        <SERVICE name="s2"/>
    </_entries_:entry>
</ROOT>

<view xmlns="http://software.in2p3.fr/lavoisier/config.xsd" xmlns:e="http://software.in2p3.fr/lavoisier/entries.xsd" name="revert">
    <connector type="XMLConnector">
        <parameter name="content" eval="view('services')"/>
    </connector>
    <processors>
        <select nodes="/ROOT/SERVICE">
            <group by="VO/@id" sort="text"/>
        </select>
        <replace nodes="/ROOT/e:entry">
            <node prefix="" name="services"/>
        </replace>
    </processors>
</view>
<ROOT>
    <services key="atlas">
        <SERVICE name="s1"/>
    </services>
    <services key="cms">
        <SERVICE name="s2"/>
    </services>
    <services key="dteam">
        <SERVICE name="s1"/>
        <SERVICE name="s2"/>
    </services>
</ROOT>

<view xmlns="http://software.in2p3.fr/lavoisier/config.xsd" xmlns:e="http://software.in2p3.fr/lavoisier/entries.xsd" name="revert">
    <connector type="XMLConnector">
        <parameter name="content" eval="view('services')"/>
    </connector>
    <processors>
        <select nodes="/ROOT/SERVICE">
            <group by="VO/@id" sort="text"/>
        </select>
        <replace nodes="/ROOT/e:entry">
            <node prefix="" name="services"/>
        </replace>
        <replace nodes="/ROOT/services/@key">
            <node name="vo"/>
        </replace>
    </processors>
</view>
<ROOT>
    <services vo="atlas">
        <SERVICE name="s1"/>
    </services>
    <services vo="cms">
        <SERVICE name="s2"/>
    </services>
    <services vo="dteam">
        <SERVICE name="s1"/>
        <SERVICE name="s2"/>
    </services>
</ROOT>

<view xmlns="http://software.in2p3.fr/lavoisier/config.xsd" xmlns:e="http://software.in2p3.fr/lavoisier/entries.xsd" name="revert">
    <connector type="XMLConnector">
        <parameter name="content" eval="view('services')"/>
    </connector>
    <processors>
        <select nodes="/ROOT/SERVICE">
            <group by="VO/@id" sort="text"/>
        </select>
        <replace nodes="/ROOT/e:entry">
            <node prefix="" name="services"/>
        </replace>
        <replace nodes="/ROOT/services/@key">
            <node name="vo"/>
        </replace>
        <for nodes="/*/services/SERVICE">
            <connector type="XMLConnector">
                <parameter name="content" eval="view('services')"/>
            </connector>
            <processors/>
        </for>
    </processors>
</view>
<ROOT>
    <services vo="atlas">
        <SERVICE name="s1">
            <ROOT>
                <SERVICE name="s1">
                    <VO id="dteam"/>
                    <VO id="atlas"/>
                </SERVICE>
                <SERVICE name="s2">
                    <VO id="dteam"/>
                    <VO id="cms"/>
                </SERVICE>
            </ROOT>
        </SERVICE>
    </services>
    <services vo="cms">
        <SERVICE name="s2">
            <ROOT>
                <SERVICE name="s1">
                    <VO id="dteam"/>
                    <VO id="atlas"/>
                </SERVICE>
                <SERVICE name="s2">
                    <VO id="dteam"/>
                    <VO id="cms"/>
                </SERVICE>
            </ROOT>
        </SERVICE>
    </services>
    <services vo="dteam">
        <SERVICE name="s1">
            <ROOT>
                <SERVICE name="s1">
                    <VO id="dteam"/>
                    <VO id="atlas"/>
                </SERVICE>
                <SERVICE name="s2">
                    <VO id="dteam"/>
                    <VO id="cms"/>
                </SERVICE>
            </ROOT>
        </SERVICE>
        <SERVICE name="s2">
            <ROOT>
                <SERVICE name="s1">
                    <VO id="dteam"/>
                    <VO id="atlas"/>
                </SERVICE>
                <SERVICE name="s2">
                    <VO id="dteam"/>
                    <VO id="cms"/>
                </SERVICE>
            </ROOT>
        </SERVICE>
    </services>
</ROOT>

<view xmlns="http://software.in2p3.fr/lavoisier/config.xsd" xmlns:e="http://software.in2p3.fr/lavoisier/entries.xsd" name="revert">
    <connector type="XMLConnector">
        <parameter name="content" eval="view('services')"/>
    </connector>
    <processors>
        <select nodes="/ROOT/SERVICE">
            <group by="VO/@id" sort="text"/>
        </select>
        <replace nodes="/ROOT/e:entry">
            <node prefix="" name="services"/>
        </replace>
        <replace nodes="/ROOT/services/@key">
            <node name="vo"/>
        </replace>
        <for nodes="/*/services/SERVICE">
            <connector type="XMLConnector">
                <parameter name="content" eval="view('services')"/>
            </connector>
            <processors>
                <select nodes="/ROOT/SERVICE[@name=current()/@name]" single="true"/>
            </processors>
        </for>
    </processors>
</view>
<ROOT>
    <services vo="atlas">
        <SERVICE name="s1">
            <SERVICE name="s1">
                <VO id="dteam"/>
                <VO id="atlas"/>
            </SERVICE>
        </SERVICE>
    </services>
    <services vo="cms">
        <SERVICE name="s2">
            <SERVICE name="s2">
                <VO id="dteam"/>
                <VO id="cms"/>
            </SERVICE>
        </SERVICE>
    </services>
    <services vo="dteam">
        <SERVICE name="s1">
            <SERVICE name="s1">
                <VO id="dteam"/>
                <VO id="atlas"/>
            </SERVICE>
        </SERVICE>
        <SERVICE name="s2">
            <SERVICE name="s2">
                <VO id="dteam"/>
                <VO id="cms"/>
            </SERVICE>
        </SERVICE>
    </services>
</ROOT>

<view xmlns="http://software.in2p3.fr/lavoisier/config.xsd" xmlns:e="http://software.in2p3.fr/lavoisier/entries.xsd" name="revert">
    <connector type="XMLConnector">
        <parameter name="content" eval="view('services')"/>
    </connector>
    <processors>
        <select nodes="/ROOT/SERVICE">
            <group by="VO/@id" sort="text"/>
        </select>
        <replace nodes="/ROOT/e:entry">
            <node prefix="" name="services"/>
        </replace>
        <replace nodes="/ROOT/services/@key">
            <node name="vo"/>
        </replace>
        <for nodes="/*/services/SERVICE">
            <connector type="XMLConnector">
                <parameter name="content" eval="view('services')"/>
            </connector>
            <processors>
                <select nodes="/ROOT/SERVICE[@name=current()/@name]" single="true"/>
            </processors>
        </for>
        <remove nodes="/ROOT/services/SERVICE" depth="1"/>
    </processors>
</view>
<ROOT>
    <services vo="atlas">
        <SERVICE name="s1">
            <VO id="dteam"/>
            <VO id="atlas"/>
        </SERVICE>
    </services>
    <services vo="cms">
        <SERVICE name="s2">
            <VO id="dteam"/>
            <VO id="cms"/>
        </SERVICE>
    </services>
    <services vo="dteam">
        <SERVICE name="s1">
            <VO id="dteam"/>
            <VO id="atlas"/>
        </SERVICE>
        <SERVICE name="s2">
            <VO id="dteam"/>
            <VO id="cms"/>
        </SERVICE>
    </services>
</ROOT>