Sector Metadata Exchange structure (SME?)
This is basically wrapper data for a SEC 2.0 file, containing meta-data that's important to a sector.
Regardless of the format (here I'm using XML), structure is important for data exchange.
Also important is intelligibility of course. Does it make sense? If you look at a structure 6 months from now and go "huh??" then it's a failure. If others look at your structure and wonder what you've been smoking, then it's a failure.
So, my current preference is here. The reason I use XML here is that most people speaks it. We can fight over interchange formats later, elsewhere. Internally there's no difference, and popular formats have readers and writers that operate directly on internal memory structures, so it's a non-issue as far as I'm concerned.
I'll insert comments.
All elements can take attribution attributes and/or sub-elements. For example:
Some sources are de facto standards already; if you can assume these are comprehensible, then by all means assume them. Example: TTB, LBB4, AOTI, TD#8. Likewise publishers (GDW, DGP, HIWG, SJG).
This is basically wrapper data for a SEC 2.0 file, containing meta-data that's important to a sector.
Regardless of the format (here I'm using XML), structure is important for data exchange.
Also important is intelligibility of course. Does it make sense? If you look at a structure 6 months from now and go "huh??" then it's a failure. If others look at your structure and wonder what you've been smoking, then it's a failure.
So, my current preference is here. The reason I use XML here is that most people speaks it. We can fight over interchange formats later, elsewhere. Internally there's no difference, and popular formats have readers and writers that operate directly on internal memory structures, so it's a non-issue as far as I'm concerned.
I'll insert comments.
All elements can take attribution attributes and/or sub-elements. For example:
- allegiance - e.g. "Zh". This makes sense with anything that can be "owned".
- lang - This is used to tag alternate names for things. Uses allegiance codes.
- author - e.g. "Joe Fugate, HIWG, CotI Cleanup Crew"
- source - e.g. "Atlas of the Imperium, Travellers' Digest #8, #9, #10, GEnie (corrected)"
- publisher - e.g. "GDW, DGP, HIWG"
- copyright - e.g. "Copyright 1977-2009 Far Future Enterprises"
- ref - URL, e.g. "http://traveller.my.org/archive/General/sectors/core.sec"
- milieu - i.e. M0, M1100, TNE, Rebellion, ? (there is a published list; I just need to find it)
- year - precise year (Imperial) for that data item. This may be distinct from the era of the file overall (which we also need to capture). E.G. "this route was known to exist in 1118" or "1248" even if the file is ostensibly 1105.
Some sources are de facto standards already; if you can assume these are comprehensible, then by all means assume them. Example: TTB, LBB4, AOTI, TD#8. Likewise publishers (GDW, DGP, HIWG, SJG).
Code:
[color=red]
Sector Metadata Exchange (SME?) informal proposal version 0.6
[/color]
[color=blue]
# There's lots of sector-related data that the old SEC 2.0 format
# doesn't encode and we can't just derive. Border information,
# for example, and route information -- including routes which
# cross sector borders. This is an attempt to represent those.
#
# This document starts out by defining allegiance codes... or,
# more exactly, defining abbreviations for polities which we
# use in our data. We have a core set of pre-defined codes,
# and by using the "base" attribute we can subclass them here.
# Standardizing other polities is beyond the scope of this document...
#
# But first, let's allow people to define a custom sector size/offset.
[/color]
<sector [color=red]minrow="1" mincol="1" maxrow="40" maxcol="32"[/color]>
<allegiances>
<allegiance code="Se">Steaak'heafera</allegiance>
<allegiance code="As">Aslan Heirate</allegiance>
<allegiance code="KO" base="Kk">K'Kree Outpost</allegiance>
<allegiance code="Sy" base="Im">Sylean Federation</allegiance>
<allegiance code="IU" base="Im">Imperial, Ursa world</allegiance>
...
</allegiances>
[color=red]
# If you're using less-known sources for your data, perhaps you'd like
# to define them to help us apply some context to your data:
[/color]
<sources>
<source code="MTR4">My Traveller Resource #4</source>
<source code="IMTU3">In My Traveller Universe #3</source>
</sources>
<borders>
<border allegiance="Zh">
0000 0100 0200 0300 0400 0500 0600 0700 0800 0900 1000 1100 1200 1300 1400
1500 1600 1700 1800 1900 2000 2100 2200 2300 2400 2500 2600 2700 2800 2900 3000
3100 3200 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313
3314 3315 3316 3317 3318 3218 3217 3117 3016 2916 2816 2716 2715 2714 2613 2612
2512 2511 2510 2509 2408 2407 2406 2306 2205 2106 2006 1907 1807 1707 1606 1506
1405 1305 1205 1106 1006 1007 0908 0808 0809 0710 0711 0712 0713 0714 0715 0716
0616 0617 0518 0519 0520 0420 0321 0221 0220 0120 0019 0018 0017 0016 0015 0014
0013 0012 0011 0010 0009 0008 0007 0006 0005 0004 0003 0002 0001 0000
</border>
</borders>
[color=blue]
# As Joshua (of travellermap.com) has mentioned,
# the old plaintext fixed-width SEC 2.0 isn't going
# away. And this is a good place to reference it,
# either embedded (shown here) or as a reference
# to a .sec file.
#
# For the SEC 2.0 content type, we use one of:
#
# * application/x-vnd.farfuture.net-traveller-sector-v2
# * text/x-vnd.farfuture.net-traveller-sector-v2
#
# x- is temporary. Once we have a specification published
# we can apply for a real Internet Media Type (i.e. drop #the x-).
# If you have a published spec it's a rubber stamp to get "vnd."
# types.
[/color]
<data type="application/x-vnd.farfuture.net-traveller-sector-v2">
Irkigkhan 0103 E470100-4 De Lo 920 Im M V
Shana Ma 0104 E324610-5 Ni 111 Im F V
Niizediju 0106 B850864-9 N De Po 924 Im F V M V
Azimuth 0202 B797300-7 N Lo 720 Im M V
</data>
[color=red]
# Some boilerplate metadata. Ring/Ray is from hex 0101 of the sector.
# Maybe we need better tag names for x and y, as in sector offset
# (in the OTU, this means from Core).
[/color]
<sectorName>Alpha Crucis</sectorName>
<milieu>Second Survey</milieu>
<x>-1</x>
<y>0</y>
<ray>62864</ray>
<ring>10080</ring>
[color=blue]
# J. Greely's route data is handy, and lets us annotate every leg if we need to.
# I'm not sure how he handles crossing a sector border, so I added optional
# endpoint sector "x" and "y" offsets.
[/color]
<routes>
<route type="trade">
<start>0123</start>
<end xOffset="-1" yOffset="0">3224</end>
</route>
</routes>
[color=blue]
# Joshua suggested a nice flexible format, which
# allows reference fields -- great for quoting your
# sources.
#
# While we're here, let's allow people to define their own
# subsector size. And, if you really want more than 26
# subsectors in your sector, I guess you can use double
# letters, or numbers.
[/color]
<subsectors [color=red]rows="10" cols="8">
<A>Detsiaiem</A>
<B>Ienji</B>
<C>Naianch</C>
<D>Qiedrkia</D>
<E>Pia</E>
<F>Retan</F>
<G>Dalesabandagh</G>
<H>Zezhpae</H>
<I>Antideluvia </I>
<J>Alsas</J>
<K>Taemerlyk</K>
<L>Inverness</L>
<M>Wulfek</M>
<N>Cabala</N>
<O>Jungleblut</O>
<P>Mnemosyne</P>[/color]
</subsectors>
<world_reference>
<ref name="Ansenz" hex="2425" source="SM">Traveller News Service</ref>
<ref name="Antares" hex="2421" source="VV">Vilani Space: Then and Now</ref>
<ref name="Depot" hex="2021" source="RS">Imperial Navy Depots</ref>
<ref name="Githiaski" hex="2406" source="JTAS">Contact: The Githiaskio</ref>
<ref name="Sabmiqys" hex="2117" source="WBH">Using World Data</ref>
</world_reference>
</sector>
Last edited: