/// <summary> /// Serializes the HTML question into XML accepted by Mechanical Turk /// </summary> /// <param name="question">A <see cref="HTMLQuestion"/> instance to serialize</param> /// <returns>XML string</returns> public static string SerializeHTMLQuestion(HTMLQuestion question) { if (question == null) { throw new ArgumentNullException("form", "Can't serialize null form"); } string s = XmlUtil.SerializeXML(question); s = InjectCDataBlocksForHTMLContents(s); // fast transform of xml serializer output int index1 = s.IndexOf("<HTMLQuestion") + 1; index1 = s.IndexOf('>', index1); s = s.Substring(index1 + 1).Replace("</HTMLQuestion>", string.Empty); return(string.Format(TPL_HTML_QUESTION_FORM, s)); }
/// <summary> /// Serializes the HTML question into XML accepted by Mechanical Turk /// </summary> /// <param name="question">A <see cref="HTMLQuestion"/> instance to serialize</param> /// <returns>XML string</returns> public static string SerializeHTMLQuestion(HTMLQuestion question) { if (question == null) { throw new ArgumentNullException("form", "Can't serialize null form"); } string s = XmlUtil.SerializeXML(question); s = InjectCDataBlocksForHTMLContents(s); // fast transform of xml serializer output int index1 = s.IndexOf("<HTMLQuestion") + 1; index1 = s.IndexOf('>', index1); s = s.Substring(index1 + 1).Replace("</HTMLQuestion>", string.Empty); return string.Format(TPL_HTML_QUESTION_FORM, s); }
/// <summary> /// See <a href="http://docs.amazonwebservices.com/AWSMechTurk/2012-03-25/AWSMturkAPI/ApiReference_CreateHITOperation.html">online documentation for this operation.</a> /// </summary> /// <param name="hitTypeId">The hit type id.</param> /// <param name="title">The title.</param> /// <param name="description">The description.</param> /// <param name="keywords">The keywords.</param> /// <param name="question">The HTMLQuestion.</param> /// <param name="reward">The reward.</param> /// <param name="assignmentDurationInSeconds">The assignment duration in seconds.</param> /// <param name="autoApprovalDelayInSeconds">The auto approval delay in seconds.</param> /// <param name="lifetimeInSeconds">The lifetime in seconds. If 0, defaults to 3 days.</param> /// <param name="maxAssignments">The max assignments.</param> /// <param name="requesterAnnotation">The requester annotation.</param> /// <param name="qualificationRequirements">The qualification requirements.</param> /// <param name="responseGroup">The response group.</param> /// <returns>A <see cref="HIT"/> instance</returns> public HIT CreateHIT(string hitTypeId, string title, string description, string keywords, HTMLQuestion question, decimal? reward, long? assignmentDurationInSeconds, long? autoApprovalDelayInSeconds, long lifetimeInSeconds, int? maxAssignments, string requesterAnnotation, List<QualificationRequirement> qualificationRequirements, string[] responseGroup) { return CreateHIT(hitTypeId, title, description, keywords, QuestionUtil.SerializeHTMLQuestion(question), reward, assignmentDurationInSeconds, autoApprovalDelayInSeconds, lifetimeInSeconds, maxAssignments, requesterAnnotation, qualificationRequirements, responseGroup); }