> I am not convinced. Clearly I am not explaining this well. Let me try again. The XML Infoset model for namespaces it the same as XPath's. There is a one-to-one correspondence between Infoset Namespace infoitems and XPath Namespace nodes. Compare XPath: Each element has an associated set of namespace nodes, one for each distinct namespace prefix that is in scope for the element [...] with Infoset: There is one namespace information item for each namespace in scope for each element in the document. The cut-and-paste motivation that I gave is exactly what XSLT does. For example: instance: <foo> <a:A xmlns:a="http://example.org/a"> <b:B xmlns:b="http://example.org/b">contents of B</b:B> </a:A> <c:C xmlns:c="http://example.org/c"/> </foo> stylesheet: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:b="http://example.org/b" xmlns:c="http://example.org/c"> <xsl:template match="/"> <xsl:apply-templates select="foo/c:C"/> </xsl:template> <xsl:template match="c:C"> <xsl:copy> <xsl:apply-templates select="//b:B"/> </xsl:copy> </xsl:template> <xsl:template match="b:B"> <xsl:copy> <xsl:apply-templates/> </xsl:copy> </xsl:template> </xsl:stylesheet> This example copies the c:C element and copies the b:B element into it. The result (from XT, reformatted) is: <?xml version="1.0" encoding="utf-8"?> <c:C xmlns:c="http://example.org/c"> <b:B xmlns:a="http://example.org/a" xmlns:b="http://example.org/b">contents of B</b:B> </c:C> Observe that the "a" namespace binding was copied along with the b:B element. -- RichardReceived on Tuesday, 27 March 2001 09:17:01 GMT
This archive was generated by hypermail 2.2.0 + w3c-0.30 : Thursday, 19 May 2005 09:46:42 GMT