YSF XML API

From Sfiabwiki

Jump to: navigation, search

Contents

YSF XML API

The following is a work in progress. It is the API that is being developed by YSF to allow external applications (such as SFIAB) to automatically register their CWSF finalists by creating an XML file that gets imported into the YSF system. The goal is for the YSF system to offer as much automatic entry as possible, but students will still need to login to perform other tasks that the regional systems will not collect, such as Tour selections, Special Award nominations, etc. It will only bring in the basic student & project information.

In order to use the YSF XML API, you must first contact YSF and obtain your region's ID and Password

CWSF REGISTRATION

XML DTD

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE registration [
	<!ELEMENT registration (ysf_region_id,ysf_region_password,projects)>
	<!ELEMENT ysf_region_id (#PCDATA)>
	<!ELEMENT ysf_region_password (#PCDATA)>
	<!ELEMENT projects (project)>
	<!ELEMENT project (title,abstract,ysf_category_id,ysf_division_id,students)>
	<!ELEMENT title (#PCDATA)>
	<!ELEMENT abstract (#PCDATA)>
	<!ELEMENT division_id (#PCDATA)>
	<!ELEMENT category_id (#PCDATA)>	
	<!ELEMENT students (student)>
	<!ELEMENT student (firstname,lastname,email,language,gender,birthdate,grade,address1,address2,city,province,postalcode,homephone,cellphone)>
	<!ELEMENT firstname (#PCDATA)>	
	<!ELEMENT lastname (#PCDATA)>	
	<!ELEMENT email (#PCDATA)>	
	<!ELEMENT language (#PCDATA)>	
	<!ELEMENT gender (#PCDATA)>	
	<!ELEMENT birthdate (#PCDATA)>	
	<!ELEMENT grade (#PCDATA)>	
	<!ELEMENT address1 (#PCDATA)>	
	<!ELEMENT address2 (#PCDATA)>	
	<!ELEMENT city (#PCDATA)>	
	<!ELEMENT province (#PCDATA)>	
	<!ELEMENT postalcode (#PCDATA)>	
	<!ELEMENT homephone (#PCDATA)>	
	<!ELEMENT cellphone (#PCDATA)>	
]>

XML Example

<?xml version="1.0" encoding="UTF-8"?>
<registration>
	<ysf_region_id></ysf_region_id>
	<ysf_region_password></ysf_region_password>
	<projects>
		<project>
			<title></title>
			<abstract></abstract>
			<division_id></division_id>
			<category_id></category_id>
			<students>
				<student>
					<firstname></firstname>
					<lastname></lastname>
					<email></email>
					<gender></gender>
					<grade></grade>
					<language></language>
					<birthdate></birthdate>
					<address1></address1>
					<address2></address2>
					<city></city>
					<province></province>
					<postalcode></postalcode>
					<homephone></postalcode>
					<cellphone></postalcode>
				</student>
			</students>
		</project>
	</projects>
</registration>

REGIONAL AFFILIATION

XML DTD

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE affiliation [
	<!ELEMENT affiliation (ysf_region_id,ysf_region_password,year,stats)>
	<!ELEMENT ysf_region_id (#PCDATA)>
	<!ELEMENT ysf_region_password (#PCDATA)>
	<!ELEMENT year (#PCDATA)>
	<!ELEMENT stats (numschoolstotal, numschoolsactive, numstudents, numk6m, numk6f, num78m, num78f, num910m, num910f, num11upm, num11upf, projk6, proj78, proj910, proj11up, committee, judges)>
	<!ELEMENT numschoolstotal (#PCDATA)>
	<!ELEMENT numschoolsactive (#PCDATA)>
	<!ELEMENT numstudents (#PCDATA)>
	<!ELEMENT numk6m (#PCDATA)>	
	<!ELEMENT numk6f (#PCDATA)>	
	<!ELEMENT num78m (#PCDATA)>	
	<!ELEMENT num78f (#PCDATA)>	
	<!ELEMENT num910m (#PCDATA)>	
	<!ELEMENT num910f (#PCDATA)>	
	<!ELEMENT num11upm (#PCDATA)>	
	<!ELEMENT num11upf (#PCDATA)>	
	<!ELEMENT projk6 (#PCDATA)>	
	<!ELEMENT proj78 (#PCDATA)>	
	<!ELEMENT proj910 (#PCDATA)>	
	<!ELEMENT proj11up (#PCDATA)>	
	<!ELEMENT committee (#PCDATA)>	
	<!ELEMENT judges (#PCDATA)>	
]>

XML Example

<?xml version="1.0" encoding="UTF-8"?>
<affiliation>
	<ysf_region_id></ysf_region_id>
	<ysf_region_password></ysf_region_password>
	<year>2007</year>
	<stats>
		<numschoolstotal>165</numschoolstotal>
		<numschoolsactive>35</numschoolsactive>
		<numstudents>302</numstudents>
		<numk6m>0</numk6m>
		<numk6f>0</numk6f>
		<num78m>113</num78m>
		<num78f>110</num78f>
		<num910m>23</num910m>
		<num910f>20</num910f>
		<num11upm>14</num11upm>
		<num11upf>1</num11upf>
		<projk6>0</projk6>
		<proj78>175</proj78>
		<proj910>27</proj910>
		<proj11up>19</proj11up>
		<committee>17</committee>
		<judges>100</judges>
	</stats>
</affiliation>
Personal tools