The ECW file format can store in portable way a crossword. It is an XML text file based on the following DTD:

<!DOCTYPE cw [ 
<! ELEMENT cw (title, author, across, down, l+, h*)>
<!ATTLIST cw
			rows CDATA #REQUIRED
			columns CDATA #REQUIRED
			lang CDATA 
			style (dense | sparse) 
			>
<! ELEMENT title (#PCDATA) >
<! ELEMENT author (#PCDATA) >
<! ELEMENT across (w+) >
<! ELEMENT down (w+) >
<! ELEMENT w (#PCDATA) >
<!ATTLIST w
			r CDATA #REQUIRED
			c CDATA #REQUIRED
			w CDATA #REQUIRED
			>
<! ELEMENT l EMPTY >
<!ATTLIST l
			r CDATA #REQUIRED
			l CDATA #REQUIRED
			>
<! ELEMENT h EMPTY >
<!ATTLIST h
			r CDATA #REQUIRED
			l CDATA #REQUIRED
			>
]>

It stores some metadata information as the author and the title, the words and the clues, and two different views of the schema (the solved schema an the optional hints).

An example could be:

<cw rows="9" columns="9" lang="en" style="dense">
<title>AutoCrossword easy 1</title>
<author>Automatically generated from Wiktionary</author>
<!-- Clues -->
<across>
	<w r="0" c="0" w="KEV">kiloelectronvolt, 1000 eV</w>
	<w r="0" c="6" w="LDP">Linux Documentation Project</w>
	<w r="1" c="6" w="SOT">stupid person; fool</w>
	<w r="2" c="2" w="AMOSITE">A variety of grunerite asbestos, once used in insulation.</w>
	<w r="4" c="0" w="RACQ">Royal Automobile Club of Queensland (Australian Automobile Association)</w>
	<w r="4" c="5" w="PERT">&apos;P&apos;rogram &apos;E&apos;valuation and &apos;R&apos;eview &apos;T&apos;echnique, a method for diagramming and analyzing the flow of dependent tasks and other events in a project.</w>
	<w r="6" c="0" w="BEEFISH">resembling beef</w>
	<w r="7" c="0" w="MMS">Multimedia Messaging Service</w>
	<w r="8" c="0" w="DES">Data Encryption Standard</w>
	<w r="8" c="6" w="XMP">chemistry xanthosine monophosphate|</w>
</across>
<down>
	<w r="0" c="0" w="KDD">knowledge discovery in databases|</w>
	<w r="0" c="2" w="VIA">A main road or highway, especially in ancient Rome. &apos;(Mainly used in set phrases, below.)&apos;</w>
	<w r="0" c="4" w="RHO">Any of a family of GTP-binding proteins</w>
	<w r="0" c="6" w="LSI">large scale integration|</w>
	<w r="0" c="7" w="DOTARD">An old person with impaired intellect; one in his or her dotage.</w>
	<w r="0" c="8" w="PTE">Abbreviation of private (soldier).</w>
	<w r="2" c="3" w="MAQAF">The Hebrew script hyphen (mul|sc=Hebr|־)</w>
	<w r="2" c="5" w="SUPES">Superman, the &apos;DC Comics&apos; character.</w>
	<w r="3" c="1" w="RACEME">An indeterminate inflorescence in which the flowers are arranged along a single central axis.</w>
	<w r="6" c="0" w="BMD">Bermudian dollar</w>
	<w r="6" c="2" w="ESS">electronic switching system|electronic switching system|</w>
	<w r="6" c="4" w="IRQ">The ISO 3166-1 three-letter (alpha-3) code for Iraq.</w>
	<w r="6" c="6" w="HMX">An explosive, related to RDX, &apos;octahydro-1,3,5,7-tetranitro-1,3,5,7-tetrazocine&apos;</w>
	<w r="6" c="8" w="STP">The ISO 3166-1 three-letter (alpha-3) code for Sao Tome and Principe.</w>
</down>
<!-- Solution -->
<l r="0" l="KEV*R*LDP" />
<l r="1" l="D*I*H*SOT" />
<l r="2" l="D*AMOSITE" />
<l r="3" l="*R*A*U*A*" />
<l r="4" l="RACQ*PERT" />
<l r="5" l="*C*A*E*D*" />
<l r="6" l="BEEFISH*S" />
<l r="7" l="MMS*R*M*T" />
<l r="8" l="DES*Q*XMP" />
<!-- Hints -->
<h r="0" l="   * *   " />
<h r="1" l=" * * *   " />
<h r="2" l=" *       " />
<h r="3" l="* * * * *" />
<h r="4" l="    *    " />
<h r="5" l="* * * * *" />
<h r="6" l="       * " />
<h r="7" l="   * * * " />
<h r="8" l="   * *   " />
</cw>