Example #1
0
        /// <summary>
        /// Parses a workspace element.
        /// </summary>
        private static AtomElement ParseWorkspaceElement(XmlReader parser)
        {
            string uri   = parser.NamespaceURI;
            string local = parser.LocalName;

            if (uri == XmlConstants.NamespaceRestAtom)
            {
                if (local == XmlConstants.TAG_REPOSITORY_INFO)
                {
                    return(new AtomElement(uri, local, XmlConverter.ConvertRepositoryInfo(parser)));
                }
                else if (local == XmlConstants.TAG_URI_TEMPLATE)
                {
                    return(ParseTemplate(parser));
                }
            }
            else if (uri == XmlConstants.NamespaceAtom)
            {
                if (local == XmlConstants.TAG_LINK)
                {
                    return(ParseLink(parser));
                }
            }
            else if (uri == XmlConstants.NamespaceApp)
            {
                if (local == XmlConstants.TAG_COLLECTION)
                {
                    return(ParseCollection(parser));
                }
            }

            // we don't know it - skip it
            XmlUtils.Skip(parser);

            return(null);
        }