Missing Alternate TagMissing Alternate TagMissing Alternate TagMissing Alternate TagMissing Alternate TagMissing Alternate TagMissing Alternate TagMissing Alternate Tag

CIXX


CIXX (Compact SIXX) is a variation of SIXX.
It does not change the semantics of SIXX. However, it uses more compact tag names.

To use CIXX,

SixxSettings useCompactTagNames: true.


Example: here is a sample dictionary.

childDic := Dictionary new.
childDic at: #child1 put: 'abcde'.
dic := Dictionary new.
dic at: #parent1 put: 'sample string.'.
dic at: #parent3 put: #(10 20 30 10).
dic at: #parent4 put: childDic.
dic sixxString.

In normal SIXX, the dictionary will be generated as:
<sixx.object sixx.id="0" sixx.type="Dictionary" >
	<sixx.object sixx.id="1" sixx.type="Association" >
		<sixx.object sixx.id="2" sixx.name="key" sixx.type="Symbol" >parent1</sixx.object>
		<sixx.object sixx.id="3" sixx.name="value" sixx.type="String" >sample string.</sixx.object>
	</sixx.object>
	<sixx.object sixx.id="4" sixx.type="Association" >
		<sixx.object sixx.id="5" sixx.name="key" sixx.type="Symbol" >parent3</sixx.object>
		<sixx.object sixx.id="6" sixx.name="value" sixx.type="Array" >
			<sixx.object sixx.id="7" sixx.type="SmallInteger" >10</sixx.object>
			<sixx.object sixx.id="8" sixx.type="SmallInteger" >20</sixx.object>
			<sixx.object sixx.id="9" sixx.type="SmallInteger" >30</sixx.object>
			<sixx.object sixx.idref="7" ></sixx.object>
		</sixx.object>
	</sixx.object>
	<sixx.object sixx.id="10" sixx.type="Association" >
		<sixx.object sixx.id="11" sixx.name="key" sixx.type="Symbol" >parent4</sixx.object>
		<sixx.object sixx.id="12" sixx.name="value" sixx.type="Dictionary" >
			<sixx.object sixx.id="13" sixx.type="Association" >
				<sixx.object sixx.id="14" sixx.name="key" sixx.type="Symbol" >child1</sixx.object>
				<sixx.object sixx.id="15" sixx.name="value" sixx.type="String" >abcde</sixx.object>
			</sixx.object>
		</sixx.object>
	</sixx.object>
</sixx.object>


In CIXX, the dictionary will be:
<o i="0" t="Dictionary" >
	<o i="1" t="Association" >
		<o i="2" n="key" t="Symbol" >parent1</o>
		<o i="3" n="value" t="String" >sample string.</o>
	</o>
	<o i="4" t="Association" >
		<o i="5" n="key" t="Symbol" >parent3</o>
		<o i="6" n="value" t="Array" >
			<o i="7" t="SmallInteger" >10</o>
			<o i="8" t="SmallInteger" >20</o>
			<o i="9" t="SmallInteger" >30</o>
			<o r="7" ></o>
		</o>
	</o>
	<o i="10" t="Association" >
		<o i="11" n="key" t="Symbol" >parent4</o>
		<o i="12" n="value" t="Dictionary" >
			<o i="13" t="Association" >
				<o i="14" n="key" t="Symbol" >child1</o>
				<o i="15" n="value" t="String" >abcde</o>
			</o>
		</o>
	</o>
</o>

If you would like to handle very big data in SIXX, CIXX will be a good option. It will reduce whole data size to approximately 60%. Since the data size shrink, read/write performance will also be improved.

-----------

Link to this Page