Init self from an XML element.

var xml = """
 <token id="2">
    <word>University</word>
    <lemma>University</lemma>
    <CharacterOffsetBegin>9</CharacterOffsetBegin>
    <CharacterOffsetEnd>19</CharacterOffsetEnd>
    <POS>NNP</POS>
 </token>""".to_xml["token"].first.as(XMLStartTag)

var token = new  NLPToken.from_xml(xml)
assert token.index == 2
assert token.word == "University"
assert token.lemma == "University"
assert token.begin_offset == 9
assert token.end_offset == 19
assert token.pos == "NNP"

Property definitions

nlp $ NLPToken :: from_xml
	# Init `self` from an XML element.
	#
	# ~~~
	# var xml = """
	#  <token id="2">
	#	<word>University</word>
	#	<lemma>University</lemma>
	#	<CharacterOffsetBegin>9</CharacterOffsetBegin>
	#	<CharacterOffsetEnd>19</CharacterOffsetEnd>
	#	<POS>NNP</POS>
	#  </token>""".to_xml["token"].first.as(XMLStartTag)
	#
	# var token = new  NLPToken.from_xml(xml)
	# assert token.index == 2
	# assert token.word == "University"
	# assert token.lemma == "University"
	# assert token.begin_offset == 9
	# assert token.end_offset == 19
	# assert token.pos == "NNP"
	# ~~~
	init from_xml(xml: XMLStartTag) do
		var index = xml.attributes.first.as(XMLStringAttr).value.to_i
		var word = read_data(xml, "word")
		var lemma = read_data(xml, "lemma")
		var begin_offset = read_data(xml, "CharacterOffsetBegin").to_i
		var end_offset = read_data(xml, "CharacterOffsetEnd").to_i
		var pos = read_data(xml, "POS")
		init(index, word, lemma, begin_offset, end_offset, pos)
	end
lib/nlp/stanford.nit:260,2--288,4