Mechanical Turk / Cmd line tools / Qualification / #set and #foreach in xml

亡梦爱人 提交于 2020-01-06 01:45:50

问题


In the Amazon Mechanical Turk command line tools (I am using version: aws-mturk-clt-1.3.0), in one of the samples (site_filter_qual: "Website Filtering Qualification", file site_filter_qual.question), there is code that looks something like this:

#set( $urls = [ "http://news.bbc.co.uk/", http://..., ...])

#foreach ( $url in $urls )
...

I am wondering :

  • a) What is the language used here (it's not Perl and not PHP, right?);
  • b) Where (on Amazon site or elsewhere) I could read about these constructs;
  • c) How to implement tuples (pairs), e.g.

// in Python:

>> data = [("http://news.bbc.com", "NEWS"), ("http://google.com", "SEARCH"), ...]
>> for (url, category) in data:
>>     ....

-- or something similar?

Thanks in advance!


回答1:


It's a Velocity template (part of the Apache project). The good news is that it's a reasonably flexible language that you can manipulate. The better news is that you can (since I believe all the CLT and SDK code is open) actually create new constructs to override or expand on anything that's not part of Velocity out-of-the-box.

To answer your questions directly:

a) Velocity

b) http://velocity.apache.org/

c) You can use two separate arrays. Not pretty, I realize, but it'll work.



来源:https://stackoverflow.com/questions/3348029/mechanical-turk-cmd-line-tools-qualification-set-and-foreach-in-xml

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!