/// <summary>
        /// Populates this <see cref="ApplicationDataReference"/> instance from the data in the XML.
        /// </summary>
        ///
        /// <param name="typeSpecificXml">
        /// The XML to get the application data reference from.
        /// </param>
        ///
        /// <exception cref="InvalidOperationException">
        /// The first node in the <paramref name="typeSpecificXml"/> parameter
        /// is not an application-data-reference node.
        /// </exception>
        ///
        protected override void ParseXml(IXPathNavigable typeSpecificXml)
        {
            XPathNavigator itemNav =
                typeSpecificXml.CreateNavigator().SelectSingleNode(
                    "application-data-reference");

            Validator.ThrowInvalidIfNull(itemNav, Resources.ApplicationDataReferenceUnexpectedNode);

            _name = XPathHelper.GetOptNavValue(itemNav, "name");

            _renderFileName = XPathHelper.GetOptNavValue(itemNav, "render-filename");

            _publicUrl = XPathHelper.GetOptNavValueAsUri(itemNav, "public-url");
            _configurationUrl = XPathHelper.GetOptNavValueAsUri(itemNav, "configuration-url");
            _applicationDataUrl = XPathHelper.GetOptNavValueAsUri(itemNav, "application-data-url");
        }