Adott <div> tag "előléptetése" <body>-vá több HTML fájlban

Egy olyan megoldást keresek, amellyel több html fájlban valamilyen selectorral megadott div elemet "léptet elő" a fájlok tagjaként.

A következő példa mutatja, mire gondolok pontosan.

Miután kiadtam a proposebody.sh -selector ".myClass" test.html parancsot, akkor ebből a html-ből:


<html>
<head>
    <link href="resources/css/my.css" rel="stylesheet" type="text/css">
</head>
<body>
    <div class="notMyClass">
        <table>
            <tr>
                <td>
                    <div class="myClass">
                        <h2>Heading</h2>
                        <p>Paragraph</p>
                        <div class="included"></div>
                    </div>
                </td>
            </tr>
        </table>
    </div>
    <div class="excluded"></div>
</body>
</html>

Ezt szeretném előállítani:


<html>
<head>
    <link href="resources/css/my.css" rel="stylesheet" type="text/css">
</head>
<body>
    <h2>Heading</h2>
    <p>Paragraph</p>
    <div class="included"></div>
</body>
</html>

Minden megoldás érdekel.

Szerkesztve: Ha bármilyen selectorral működne, az maga lenne a tökély :-) (pl.: "table div.myClass", vagy másik példával "#container-25 li.red")

Hozzászólások

Hat, nem tudom, hogy van-e olyan parancssori eszkoz, ami egyaltalan tud CSS/XPath selectorokat kezelni ugy, ahogy te szeretned... Ruby ala van a Nokogiri nevu konyvtar, amivel ilyet lehet csinalni, de szerintem mas scriptnyelvek ala is letezik hasonlo megoldas, vagyis ami tud css/xpath selectorokkal dolgozni, az egy Bash kivetelevel.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

CSS3 selector helyett XPath megfelelo? Valamint az input XHTML?
Ha mindket kerdesre igen a valasz, akkor XSLT-vel csinalnam.
Egy kis pelda: http://xmlplease.com/xhtmlxhtml
A lenyeg: kivalasztod a body node-ot az eredeti XHTML-ben, majd xsl-copy es xsl-apply-templates-szel a kivalasztott div-et a helyere masolod.
Az identity transformot hagyd meg, hogy a tobbi node is bekeruljon az outputba (head es tobbiek). Ugyanis csak az kerul az outputba, amire az adott XSL matchel.
XSLT-t futtatni parancssorbol tudsz pl. xalannal vagy saxonnal.