def splitDAGPath(path):
        """Split a Maya DAG path into its components.

        The path is given as a string that may have the form
        <namespace>:<path> where <path> is a sequence of strings
        separated by '|'.
        The return value is a 2-tuple (namespace, names) where namespace
        is None if the path did not contain a ':'. names is a list of
        individual path names.

        Examples:

        :time1   ->  ('', ['time1'])
        |foo|bar ->  (None, ['', 'foo', 'bar'])
        foo|bar  ->  (None, ['foo', 'bar'])
        """
        if not isinstance(path, str):
                raise ValueError("string type expected as path argument, got %s"%type(path))
                
        namespace = None
        n = path.find(":")
        if n!=-1:
                namespace = path[:n]
                path = path[n+1:]
        return namespace, path.split("|")