<?xml version="1.0" encoding="UTF-8"?>
<!-- 20040715 introduced namespace -->
<!-- 20040715 RELAX NG compatible pattern restriction -->
<perl:package name="txt2perl" xmlns:perl="http://ums.isas.jaxa.jp/0.3/0/perl/o" xmlns="http://ums.isas.jaxa.jp/0.3/0">
	<perl:decoderSub name="parse">
		<txt:byte xmlns:txt="http://ums.isas.jaxa.jp/0.3/0/dat/i" encode="txt">
			<group>
				<perl:readerSub name="userProgram">
					<group>
						<txt:byte length="6">
							<perl:var name="type">
								<data type="string"/>
							</perl:var>
						</txt:byte>
						<txt:byte length="1">
							<txt:data type="string">
								<txt:param name="pattern">[\s]+</txt:param>
							</txt:data>
						</txt:byte>
						<perl:var name="name">
							<data type="string">
								<param name="pattern">[a-zA-Z_][a-zA-Z0-9_]*</param>
							</data>
						</perl:var>
						<txt:value>(</txt:value>
						<txt:data type="string">
							<txt:param name="pattern">[\s]*</txt:param>
						</txt:data>
						<perl:var name="order">
							<data type="string">
								<param name="pattern">[0-9]+</param>
							</data>
						</perl:var>
						<txt:data type="string">
							<txt:param name="pattern">[\s]*</txt:param>
						</txt:data>
						<txt:value>)</txt:value>
					</group>
					<zeroOrMore>
						<loopGroup>
							<perl:array>
								<txt:data type="string">
									<txt:param name="pattern">[\s]+</txt:param>
								</txt:data>
								<perl:var name="value">
									<data type="string">
										<param name="pattern">[0-9]+</param>
									</data>
								</perl:var>
							</perl:array>
						</loopGroup>
					</zeroOrMore>
					<choice>
						<choiceGroup>
							<perl:var name="hasComment">
								<perl:value>1</perl:value>
							</perl:var>
							<txt:data type="string">
								<txt:param name="pattern">[\s]+</txt:param>
							</txt:data>
							<txt:data type="string">
								<txt:param name="pattern">#</txt:param>
							</txt:data>
							<perl:var name="comment">
								<data type="string">
									<param name="pattern">.+</param>
								</data>
							</perl:var>
						</choiceGroup>
						<choiceGroup>
							<perl:var name="hasComment">
								<perl:value>0</perl:value>
							</perl:var>
						</choiceGroup>
					</choice>
				</perl:readerSub>
			</group>
		</txt:byte>
	</perl:decoderSub>
</perl:package>
