/// <summary> /// Validate about attribute. /// </summary> /// <param name="rac"></param> private void ValidateAbout(RdfVersion version, RdfAboutCollection rac) { if (version == RdfVersion.RDF_1_0) { string about = this.GetAbout(); if (about == null || about == string.Empty) { string msg = string.Format(Rdf.RDF_ERRORMESSAGE_VALIDATION_NOT_UNIQUE_ABOUT_1_0, RDF_ELEMENT_CHANNEL); throw new SyndicationValidationException(msg); } about = about.Trim(); bool validUrl = false; foreach (string prefix in Rdf.RDF_VALIDVALUES_URL_1_0) { if (about.StartsWith(prefix)) { validUrl = true; break; } } if (!validUrl) { string msg = string.Format(Rdf.RDF_ERRORMESSAGE_VALIDATION_URL_WRONG_TYPE_1_0, RDF_ELEMENT_CHANNEL + "," + RDF_ATTRIBUTE_ABOUT, about); throw new SyndicationValidationException(msg); } if (!rac.IsUnique(about)) { string msg = string.Format(Rdf.RDF_ERRORMESSAGE_VALIDATION_NOT_UNIQUE_ABOUT_1_0, RDF_ELEMENT_CHANNEL); throw new SyndicationValidationException(msg); } } }
/// <summary> /// Saves the RDF object according to the version and encoding arguments. /// </summary> /// <param name="filename"></param> /// <param name="version"></param> /// <param name="encoding"></param> /// <param name="customVersion"></param> public void Save(string filename, RdfVersion version, string encoding) { if (filename == null) { throw new ArgumentNullException("filename"); } this.Save(version, encoding).Save(filename); }
/// <summary> /// Saves the RDF object according to the version and encoding arguments. /// </summary> /// <param name="stream"></param> /// <param name="version"></param> /// <param name="encoding"></param> /// <returns></returns> public void Save(System.IO.Stream stream, RdfVersion version, string encoding) { if (stream == null) { throw new ArgumentNullException("stream"); } this.Save(version, encoding).Save(stream); }
/// <summary> /// Serializes the object to XML. /// </summary> /// <param name="xdRss"></param> /// <param name="elementName"></param> /// <param name="rssVersion"></param> /// <returns></returns> internal XmlNode SerializeToXml(XmlDocument xdRdf, RdfVersion version, string prefix) { if (version == RdfVersion.RDF_1_0) { return(SerializeToXml_1_0(xdRdf, prefix)); } throw new ArgumentException(Rdf.RDF_ERRORMESSAGE_UNKNOWN_VALUE, "version"); }
/// <summary> /// Validates the item object. /// </summary> /// <param name="version"></param> /// <param name="validateContent"></param> /// <returns></returns> internal bool Validate(RdfVersion version, bool validateContent, string imageAbout) { if (version == RdfVersion.RDF_1_0) { return(Validate_1_0(validateContent, imageAbout)); } throw new ArgumentException(Rdf.RDF_ERRORMESSAGE_UNKNOWN_VALUE, "version"); }
/// <summary> /// Validates the item object. /// </summary> /// <param name="version"></param> /// <param name="validateContent"></param> /// <returns></returns> internal bool Validate(RdfVersion version, bool validateContent, RdfAboutCollection rac) { if (version == RdfVersion.RDF_1_0) { return(Validate_1_0(validateContent, rac)); } throw new ArgumentException(Rdf.RDF_ERRORMESSAGE_UNKNOWN_VALUE, "version"); }
/// <summary> /// Serializes the object to XML. /// </summary> /// <param name="xdRss"></param> /// <param name="elementName"></param> /// <param name="rssVersion"></param> /// <returns></returns> internal XmlNode SerializeToXml(XmlDocument xdRdf, RdfVersion version, RdfChannelItems channelItems, string prefix, RdfChannelImage channelImage, RdfChannelTextInput channelTextInput) { if (version == RdfVersion.RDF_1_0) { return(SerializeToXml_1_0(xdRdf, channelItems, prefix, channelImage, channelTextInput)); } throw new ArgumentException(Rdf.RDF_ERRORMESSAGE_UNKNOWN_VALUE, "version"); }
/// <summary> /// Validates the class. /// </summary> /// <param name="version"></param> /// <param name="validateContent"></param> /// <returns></returns> internal bool Validate(RdfVersion version, bool validateContent, RdfAboutCollection rac, RdfAboutCollection racItems, string textInputAbout, string imageAbout, string textinputAbout) { if (version == RdfVersion.RDF_1_0) { return(Validate_1_0(validateContent, rac, racItems, textInputAbout, imageAbout, textinputAbout)); } throw new ArgumentException(Rdf.RDF_ERRORMESSAGE_UNKNOWN_VALUE, "version"); }
/// <summary> /// Serializes the object to XML. /// </summary> /// <param name="xdRss"></param> /// <returns></returns> internal void SerializeToXml(XmlDocument xdRdf, RdfVersion version, XmlElement xeRdf, string prefix) { if (version == RdfVersion.RDF_1_0) { SerializeToXml_1_0(xdRdf, xeRdf, prefix); return; } throw new ArgumentException(Rdf.RDF_ERRORMESSAGE_UNKNOWN_VALUE, "version"); }
/// <summary> /// Validates about attribute. /// </summary> /// <param name="version"></param> /// <param name="rac"></param> private void ValidateAbout(RdfVersion version, RdfAboutCollection rac) { if (version == RdfVersion.RDF_1_0) { if (!rac.IsUnique(this.GetAbout())) { string msg = string.Format(Rdf.RDF_ERRORMESSAGE_VALIDATION_NOT_UNIQUE_ABOUT_1_0, RDF_ELEMENT_ITEM); throw new SyndicationValidationException(msg); } } }
/// <summary> /// Save the RDF object to XML. /// </summary> /// <param name="version"></param> /// <param name="encoding"></param> /// <param name="version"></param> /// <returns></returns> public XmlDocument Save(RdfVersion version, string encoding) { if (version == RdfVersion.RDF_1_0) { if (ValidateOnSave) { Validate(version, this.ValidateContent); } return(SerializeToXml_1_0(encoding)); } throw new ArgumentException(Rdf.RDF_ERRORMESSAGE_UNKNOWN_VALUE, "version"); }
/// <summary> /// Validates that the object model has the elements it needs /// to produce an RDF XML of the desired version. /// </summary> /// <param name="version"></param> public bool Validate(RdfVersion version, bool validateContent) { if (version == RdfVersion.RDF_1_0) { // // Check for required elements. // if (this.Channel == null) { string msg = string.Format(Rdf.RDF_ERRORMESSAGE_VALIDATION_REQUIRED_FIELD_NULL, RDF_ELEMENT_CHANNEL); throw new SyndicationValidationException(msg); } if (this.Items == null) { string msg = string.Format(Rdf.RDF_ERRORMESSAGE_VALIDATION_REQUIRED_FIELD_NULL, "Items"); throw new SyndicationValidationException(msg); } RdfAboutCollection rac = GetAbouts(); // // Ask each item to validate itself. // if (this.Channel != null) { RdfAboutCollection racItems = new RdfAboutCollection(); if (this.Items != null) { racItems.Add(this.Items.GetAbouts()); } string textInputAbout = (this.TextInput != null) ? this.TextInput.GetAbout() : null; string imageAbout = (this.Image != null) ? this.Image.GetAbout() : null; string textinputAbout = (this.TextInput != null) ? this.TextInput.GetAbout() : null; this.Channel.Validate(version, validateContent, rac, racItems, textInputAbout, imageAbout, textinputAbout); } if (this.Image != null) { this.Image.Validate(version, validateContent, rac); } if (this.Items != null) { this.Items.Validate(version, validateContent, rac); } if (this.TextInput != null) { this.TextInput.Validate(version, validateContent, rac); } } return(true); }
/// <summary> /// Validates the collection. /// </summary> /// <param name="version"></param> /// <param name="validateContent"></param> /// <returns></returns> internal bool Validate(RdfVersion version, bool validateContent, RdfAboutCollection rac) { if (version == RdfVersion.RDF_1_0) { if (this.Count < 1) { string msg = string.Format(Rdf.RDF_ERRORMESSAGE_VALIDATION_ILLEGAL_NUMBER_OF_ITEMS_1_0); throw new SyndicationValidationException(msg); } foreach (RdfItem item in this) { item.Validate(version, validateContent, rac); } } return(true); }
/// <summary> /// Validates Link. /// </summary> /// <param name="version"></param> private void ValidateLink(RdfVersion version) { if (version == RdfVersion.RDF_1_0) { if (this.Link == null) { return; } string link = this.Link.ToLower().Trim(); foreach (string validPrefix in Rdf.RDF_VALIDVALUES_LINK_1_0) { if (link.StartsWith(validPrefix)) { return; } } string msg = string.Format(Rdf.RDF_ERRORMESSAGE_VALIDATION_LINK_WRONG_TYPE_1_0, RDF_ELEMENT_LINK, this.Link); throw new SyndicationValidationException(msg); } }
/// <summary> /// Validates URL. /// </summary> /// <param name="version"></param> private void ValidateUrl(RdfVersion version) { if (version == RdfVersion.RDF_1_0) { if (this.URL == null) { return; } string url = this.URL.ToLower().Trim(); foreach (string validPrefix in Rdf.RDF_VALIDVALUES_URL_1_0) { if (url.StartsWith(validPrefix)) { return; } } string msg = string.Format(Rdf.RDF_ERRORMESSAGE_VALIDATION_URL_WRONG_TYPE_1_0, RDF_ELEMENT_URL, this.URL); throw new SyndicationValidationException(msg); } }