think like xslt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/">
<xsl:output method="xml" omit-xml-declaration="no" indent="yes"/>
<xsl:template match="/">
<people>
<person>
<!--
<name><xsl:value-of select="people/person/name"/></name>
<biography><xsl:value-of select="people/person/biography"/></biography>
<filmography>
<xsl:for-each select="people/person/filmography/movie">
<movie>
<name><xsl:value-of select="/@name"/></name>
<job><xsl:value-of select="/@job"/></job>
<url><xsl:value-of select="/@url"/></url>
</movie>
</xsl:for-each>
</filmography>-->
<xsl:apply-templates select="OpenSearchDescription"/>
</person>
</people>
</xsl:template>
<xsl:template match="OpenSearchDescription">
<xsl:apply-templates select="people"/>
</xsl:template>
<xsl:template match="people">
<xsl:apply-templates select="person"/>
</xsl:template>
<xsl:template match="person">
<name>
<xsl:value-of select="name"/>
</name>
<biography>
<xsl:apply-templates select="biography"/>
</biography>
<filmography>
<xsl:apply-templates select="filmography"/>
</filmography>
</xsl:template>
<xsl:template match="filmography">
<xsl:apply-templates select="movie"/>
</xsl:template>
<xsl:template match="movie">
<movi>
<name>
<xsl:value-of select="normalize-space(@name)"/>
</name>
<job>
<xsl:value-of select="normalize-space(@job)"/>
</job>
<url>
<xsl:value-of select="@url"/>
</url>
</movi>
</xsl:template>
</xsl:stylesheet>