• Welcome to the new COTI server. We've moved the Citizens to a new server. Please let us know in the COTI Website issue forum if you find any problems.

Survey Schema (Excel <=> XML) Ver. 1

robject

SOC-14 10K
Admin Award
Marquis
Below is an "XML schema" file that maps columns in the "Second Survey" spreadsheet format to XML columns.

So what? This lets users translate freely between Excel and XML, which means data transfer is standardized to the survey fields.

The process is

1. make sure each cell in the header row isn't empty. i think this is important.
2. load up the 2nd survey file in Excel
3. under the "Data" menu, select "XML..." -> "XML Source".
4. the right side of Excel should have a "XML Source" window now.
5. on the new window, push the "XML Maps..." button.
6. a dialog will open up. Push "Add...".
7. select the schema (.xsd) file
8. click "ok"
the XML Source window should be populated with a huge structure now.

9. Drag the top-level XML element onto the first column of the header row (i.e. drop it onto the cell named "Sophonts" at appx cell A10).

10. Wait awhile. A dialog will probably pop up with formatting concerns. Click "Use Existing Formatting", and wait some more.


After a few minutes, the table will be mapped to XML, which can be saved as XML data like so:

"File... Save As".
Select "XML Data".
If a dialog pops up, select "Continue".
Done.

Code:
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema targetNamespace="survey_schema.xsd" elementFormDefault="qualified"
	xmlns="survey_schema.xsd" 
	xmlns:mstns="survey_schema.xsd"
	xmlns:xs="http://www.w3.org/2001/XMLSchema">

   <xs:complexType name="Row">
      <xs:sequence>
         <xs:element name="Sophonts" type="xs:string" />
         <xs:element name="Sector" type="xs:string" />
         <xs:element name="Hex" type="xs:string" />
         <xs:element name="Name" type="xs:string" />
         <xs:element name="UWP" type="xs:string" />
         <xs:element name="TC" type="xs:string" />
         <xs:element name="Remarks" type="xs:string" />
         <xs:element name="Ex" type="xs:string" />
         <xs:element name="Cx" type="xs:string" />
         <xs:element name="Nobility" type="xs:string" />
         <xs:element name="PBG" type="xs:string" />
         <xs:element name="numWorlds" type="xs:string" />
         <xs:element name="Allegiance" type="xs:string" />
         <xs:element name="Stars" type="xs:string" />
         <xs:element name="null1" type="xs:string" />
         <xs:element name="null2" type="xs:string" />
         <xs:element name="Starport" type="xs:string" />
         <xs:element name="Size" type="xs:string" />
         <xs:element name="Atmosphere" type="xs:string" />
         <xs:element name="Hydrographics" type="xs:string" />
         <xs:element name="Popdigit" type="xs:string" />
         <xs:element name="Government" type="xs:string" />
         <xs:element name="Lawlevel" type="xs:string" />
         <xs:element name="Techlevel" type="xs:string" />
         <xs:element name="Popmult" type="xs:string" />
         <xs:element name="Belts" type="xs:string" />
         <xs:element name="GGs" type="xs:string" />
         <xs:element name="St2" type="xs:string" />
         <xs:element name="null3" type="xs:string" />
         <xs:element name="Ag" type="xs:string" />
         <xs:element name="As" type="xs:string" />
         <xs:element name="Ba" type="xs:string" />
         <xs:element name="De" type="xs:string" />
         <xs:element name="Fl" type="xs:string" />
         <xs:element name="Hi" type="xs:string" />
         <xs:element name="Ic" type="xs:string" />
         <xs:element name="In" type="xs:string" />
         <xs:element name="Lo" type="xs:string" />
         <xs:element name="Na" type="xs:string" />
         <xs:element name="Ni" type="xs:string" />
         <xs:element name="Po" type="xs:string" />
         <xs:element name="Ri" type="xs:string" />
         <xs:element name="Va" type="xs:string" />
         <xs:element name="Tp" type="xs:string" />
         <xs:element name="Tn" type="xs:string" />
         <xs:element name="Wa" type="xs:string" />
         <xs:element name="Pa" type="xs:string" />
         <xs:element name="Pi" type="xs:string" />
         <xs:element name="Pr" type="xs:string" />
         <xs:element name="Ph" type="xs:string" />
         <xs:element name="An" type="xs:string" />
         <xs:element name="Cp" type="xs:string" />
         <xs:element name="Ci" type="xs:string" />
         <xs:element name="Di" type="xs:string" />
         <xs:element name="Fo" type="xs:string" />
         <xs:element name="Qu" type="xs:string" />
         <xs:element name="Ux" type="xs:string" />
         <xs:element name="null4" type="xs:string" />
         <xs:element name="B" type="xs:string" />
         <xs:element name="c" type="xs:string" />
         <xs:element name="C" type="xs:string" />
         <xs:element name="D" type="xs:string" />
         <xs:element name="e" type="xs:string" />
         <xs:element name="E" type="xs:string" />
         <xs:element name="F" type="xs:string" />
         <xs:element name="G" type="xs:string" />
         <xs:element name="Loc" type="xs:string" />
         <xs:element name="ScoutID" type="xs:string" />
         <xs:element name="Stellar" type="xs:string" />
         <xs:element name="M1000" type="xs:string" />
         <xs:element name="M0" type="xs:string" />
         <xs:element name="RoM" type="xs:string" />
         <xs:element name="ZS" type="xs:string" />
         <xs:element name="null5" type="xs:string" />
         <xs:element name="Res" type="xs:string" />
         <xs:element name="Lab" type="xs:string" />
         <xs:element name="Inf" type="xs:string" />
         <xs:element name="Bar" type="xs:string" />
         <xs:element name="null6" type="xs:string" />
         <xs:element name="Core" type="xs:string" />
         <xs:element name="Group" type="xs:string" />
         <xs:element name="Ethics" type="xs:string" />
         <xs:element name="Symbols" type="xs:string" />
         <xs:element name="null7" type="xs:string" />
         <xs:element name="Population" type="xs:string" />
         <xs:element name="isHuman" type="xs:string" />
         <xs:element name="isAlien" type="xs:string" />
         <xs:element name="Human-population" type="xs:string" />
         <xs:element name="Non-Human-population" type="xs:string" />
         <xs:element name="Human" type="xs:string" />
         <xs:element name="Minor" type="xs:string" />
         <xs:element name="Travel-Index" type="xs:string" />
         <xs:element name="isHub" type="xs:string" />
      </xs:sequence>
   </xs:complexType>

   <xs:element name="Survey_Data">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="data" type="Row" minOccurs="0" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:complexType>
   </xs:element>
</xs:schema>
 
Yeah, good question. Sorry I didn't clarify that. That's the format for FFE's Second Survey data -- corrected and expanded Sunbane data, that is.
 
Back
Top