<!ELEMENT spanTxnFile (
	created?,
	pointInTime+
	)>

<!ELEMENT pointInTime (
	date,
	isSetl,
	setlQualifier?,
	time?,
	run?,
	desc?,
	portfolio+
	)>

<!ELEMENT date (#PCDATA)>
<!ELEMENT isSetl (#PCDATA)>
<!ELEMENT setlQualifier (#PCDATA)>
<!ELEMENT time (#PCDATA)>
<!ELEMENT run (#PCDATA)> 
<!ELEMENT desc (#PCDATA)>

<!ELEMENT portfolio (
	firm,
	acctId,
	seg?,
	(trade | pcs | adj)*
	)>

<!ELEMENT firm (#PCDATA)>
<!ELEMENT acctId (#PCDATA)>
<!ELEMENT seg (#PCDATA)>

<!ELEMENT trade (
	tradeId?,
	open?,
	tradeDate,
	tradeTime,
	ec,
	exch,
	pfCode,
	pfType,
	((cusip|isin)|(cusip,isin))?,
	pe?,
	undPe?,
	o?,
	k?,
	tradeQty,
	tradePrice,
	etc?
	)>

<!ELEMENT open (
	oc,
	offsetId*
	)>

<!ELEMENT etc (
	trade_type?,
	trade_desc?,
	trade_source?,
	exec_broker?,
	opp_broker?,
	exec_firm?,
	opp_firm?,
	cust_acct?,
	card_order?,
	trade_order?,
	order_type?,
	ctr_code?,
	cti_code?,
	bracket?,
	give_to?
)>

<!ELEMENT give_to (
	exch,
	firm,
	acctId,
	cust_acct
}>

<!ELEMENT created (#PCDATA)>
<!ELEMENT tradeId (#PCDATA)>
<!ELEMENT oc (#PCDATA)>
<!ELEMENT offsetId (#PCDATA)>
<!ELEMENT tradeDate (#PCDATA)>
<!ELEMENT tradeTime (#PCDATA)>
<!ELEMENT ec (#PCDATA)>
<!ELEMENT exch (#PCDATA)>
<!ELEMENT pfCode (#PCDATA)>
<!ELEMENT pfType (#PCDATA)>
<!ELEMENT cusip (#PCDATA)>
<!ELEMENT isin (#PCDATA)>
<!ELEMENT pe (#PCDATA)>
<!ELEMENT undPe (#PCDATA)>
<!ELEMENT o (#PCDATA)>
<!ELEMENT k (#PCDATA)>
<!ELEMENT tradeQty (#PCDATA)>
<!ELEMENT tradePrice (#PCDATA)>
<!ELEMENT trade_type (#PCDATA)>
<!ELEMENT trade_desc (#PCDATA)>
<!ELEMENT trade_source (#PCDATA)>
<!ELEMENT exec_broker (#PCDATA)>
<!ELEMENT opp_broker (#PCDATA)>
<!ELEMENT exec_firm (#PCDATA)>
<!ELEMENT opp_firm (#PCDATA)>
<!ELEMENT cust_acct (#PCDATA)>
<!ELEMENT card_order (#PCDATA)>
<!ELEMENT trade_order (#PCDATA)>
<!ELEMENT order_type (#PCDATA)>
<!ELEMENT ctr_code (#PCDATA)>
<!ELEMENT cti_code (#PCDATA)>
<!ELEMENT bracket (#PCDATA)>
<!ELEMENT cust_acct (#PCDATA)>

<!ELEMENT pcs (
	ec,
	exch,
	pfCode,
	pfType,
	((cusip|isin)|(cusip,isin))?,
	pe?,
	undPe?,
	o?,
	k?,
	(long | longChg)?,
	dispo?
	)>

<!ELEMENT dispo (
	interLong,
	interShort,
	intraLong,
	intraShort
	)>

<!ELEMENT long (#PCDATA)>
<!ELEMENT longChg (#PCDATA)>
<!ELEMENT interLong (#PCDATA)>
<!ELEMENT interShort (#PCDATA)>
<!ELEMENT intraLong (#PCDATA)>
<!ELEMENT intraShort (#PCDATA)>
<!ELEMENT nakedLong (#PCDATA)>
<!ELEMENT nakedShort (#PCDATA)>

<!ELEMENT adj (
	ec,
	exch,
	pfCode,
	pfType,
	((cusip|isin)|(cusip,isin))?,
	pe?,
	undPe?,
	o?,
	k?,
	adjType,
	long,
	short
	)>

<!ELEMENT adjType (#PCDATA)>
<!ELEMENT short (#PCDATA)>

