text: Hi Samina, > In my XSL stylesheet I have created a new namespace called moreover. > Is there any way in XSL to create new attributes for all the unused > attributes and elements(from the XML doc being passed in)? As you describe, then you want to create copies of the article, url, headline_text and harvest_time elements as they stand. You can do this with an identity template like: <xsl:template <xsl:copy> <!-- copy any attributes --> <xsl:copy-of <!-- apply templates to content --> <xsl:apply-templates /> </xsl:copy> </xsl:template> For all the other elements, you want to create new elements with the same local name but with a different namespace, which you've associated with the 'moreover' prefix, probably in the xsl:stylesheet start tag with: <xsl:stylesheet ... </xsl:stylesheet> You can create elements with generated names using the xsl:element instruction, with the name attribute holding an attribute value template for the name of the new element. In your case the new name should be 'moreover:' (the prefix for the moreover namespace) + the local name of the element. So you need a template that looks like: <!-- match any element that doesn't have its own template --> <xsl:template <!-- create element in moreover namespace --> <xsl:element <!-- copy attributes --> <xsl:copy-of <!-- apply templates to get content --> <xsl:apply-templates /> </xsl:element> </xsl:template> The xsl:apply-templates in this template will get the text of an element if it contains text, or move on to its child elements if it contains child elements. BTW, you will probably want to add 'moreovernews' to the list of elements that are copied rather than moved into the moreover namespace. I hope that helps, Jeni --- Jeni Tennison XSL-List info and archive: