gtl-parsley-ruby 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (299) hide show
  1. data/CHANGELOG +3 -0
  2. data/README +32 -0
  3. data/Rakefile +57 -0
  4. data/VERSION +1 -0
  5. data/ext/cparsley.c +152 -0
  6. data/ext/extconf.rb +82 -0
  7. data/ext/parsley/.gitignore +32 -0
  8. data/ext/parsley/AUTHORS +1 -0
  9. data/ext/parsley/ChangeLog +0 -0
  10. data/ext/parsley/HACKING +4 -0
  11. data/ext/parsley/INSTALL +73 -0
  12. data/ext/parsley/INTRO +84 -0
  13. data/ext/parsley/Makefile.am +80 -0
  14. data/ext/parsley/Makefile.in +1009 -0
  15. data/ext/parsley/NEWS +0 -0
  16. data/ext/parsley/PAPER +36 -0
  17. data/ext/parsley/Portfile +18 -0
  18. data/ext/parsley/Portfile.in +17 -0
  19. data/ext/parsley/README.C-LANG +92 -0
  20. data/ext/parsley/README.markdown +1 -0
  21. data/ext/parsley/TODO +39 -0
  22. data/ext/parsley/VERSION +1 -0
  23. data/ext/parsley/aclocal.m4 +8918 -0
  24. data/ext/parsley/bootstrap.sh +6 -0
  25. data/ext/parsley/config.guess +1561 -0
  26. data/ext/parsley/config.sub +1686 -0
  27. data/ext/parsley/configure +13437 -0
  28. data/ext/parsley/configure.ac +46 -0
  29. data/ext/parsley/depcomp +630 -0
  30. data/ext/parsley/functions.c +368 -0
  31. data/ext/parsley/functions.h +19 -0
  32. data/ext/parsley/generate_bisect.sh +12 -0
  33. data/ext/parsley/hooks/prepare-commit-msg +16 -0
  34. data/ext/parsley/install-sh +520 -0
  35. data/ext/parsley/json-c-0.9/AUTHORS +2 -0
  36. data/ext/parsley/json-c-0.9/COPYING +19 -0
  37. data/ext/parsley/json-c-0.9/ChangeLog +103 -0
  38. data/ext/parsley/json-c-0.9/INSTALL +302 -0
  39. data/ext/parsley/json-c-0.9/Makefile.am +43 -0
  40. data/ext/parsley/json-c-0.9/Makefile.in +800 -0
  41. data/ext/parsley/json-c-0.9/NEWS +1 -0
  42. data/ext/parsley/json-c-0.9/README +20 -0
  43. data/ext/parsley/json-c-0.9/README-WIN32.html +57 -0
  44. data/ext/parsley/json-c-0.9/README.html +32 -0
  45. data/ext/parsley/json-c-0.9/aclocal.m4 +8909 -0
  46. data/ext/parsley/json-c-0.9/arraylist.c +94 -0
  47. data/ext/parsley/json-c-0.9/arraylist.h +53 -0
  48. data/ext/parsley/json-c-0.9/bits.h +27 -0
  49. data/ext/parsley/json-c-0.9/config.guess +1561 -0
  50. data/ext/parsley/json-c-0.9/config.h +125 -0
  51. data/ext/parsley/json-c-0.9/config.h.in +124 -0
  52. data/ext/parsley/json-c-0.9/config.h.win32 +94 -0
  53. data/ext/parsley/json-c-0.9/config.sub +1686 -0
  54. data/ext/parsley/json-c-0.9/configure +13084 -0
  55. data/ext/parsley/json-c-0.9/configure.in +33 -0
  56. data/ext/parsley/json-c-0.9/debug.c +98 -0
  57. data/ext/parsley/json-c-0.9/debug.h +50 -0
  58. data/ext/parsley/json-c-0.9/depcomp +630 -0
  59. data/ext/parsley/json-c-0.9/doc/html/annotated.html +40 -0
  60. data/ext/parsley/json-c-0.9/doc/html/arraylist_8h.html +240 -0
  61. data/ext/parsley/json-c-0.9/doc/html/bits_8h.html +150 -0
  62. data/ext/parsley/json-c-0.9/doc/html/classes.html +36 -0
  63. data/ext/parsley/json-c-0.9/doc/html/config_8h.html +612 -0
  64. data/ext/parsley/json-c-0.9/doc/html/debug_8h.html +392 -0
  65. data/ext/parsley/json-c-0.9/doc/html/doxygen.css +441 -0
  66. data/ext/parsley/json-c-0.9/doc/html/doxygen.png +0 -0
  67. data/ext/parsley/json-c-0.9/doc/html/files.html +42 -0
  68. data/ext/parsley/json-c-0.9/doc/html/functions.html +206 -0
  69. data/ext/parsley/json-c-0.9/doc/html/functions_vars.html +206 -0
  70. data/ext/parsley/json-c-0.9/doc/html/globals.html +459 -0
  71. data/ext/parsley/json-c-0.9/doc/html/globals_defs.html +202 -0
  72. data/ext/parsley/json-c-0.9/doc/html/globals_enum.html +50 -0
  73. data/ext/parsley/json-c-0.9/doc/html/globals_eval.html +135 -0
  74. data/ext/parsley/json-c-0.9/doc/html/globals_func.html +194 -0
  75. data/ext/parsley/json-c-0.9/doc/html/globals_type.html +70 -0
  76. data/ext/parsley/json-c-0.9/doc/html/globals_vars.html +50 -0
  77. data/ext/parsley/json-c-0.9/doc/html/index.html +25 -0
  78. data/ext/parsley/json-c-0.9/doc/html/json_8h.html +32 -0
  79. data/ext/parsley/json-c-0.9/doc/html/json__object_8h.html +1150 -0
  80. data/ext/parsley/json-c-0.9/doc/html/json__object__private_8h.html +75 -0
  81. data/ext/parsley/json-c-0.9/doc/html/json__tokener_8h.html +366 -0
  82. data/ext/parsley/json-c-0.9/doc/html/json__util_8h.html +106 -0
  83. data/ext/parsley/json-c-0.9/doc/html/linkhash_8h.html +740 -0
  84. data/ext/parsley/json-c-0.9/doc/html/printbuf_8h.html +214 -0
  85. data/ext/parsley/json-c-0.9/doc/html/structarray__list.html +104 -0
  86. data/ext/parsley/json-c-0.9/doc/html/structjson__object.html +141 -0
  87. data/ext/parsley/json-c-0.9/doc/html/structjson__object__iter.html +87 -0
  88. data/ext/parsley/json-c-0.9/doc/html/structjson__tokener.html +206 -0
  89. data/ext/parsley/json-c-0.9/doc/html/structjson__tokener__srec.html +104 -0
  90. data/ext/parsley/json-c-0.9/doc/html/structlh__entry.html +105 -0
  91. data/ext/parsley/json-c-0.9/doc/html/structlh__table.html +275 -0
  92. data/ext/parsley/json-c-0.9/doc/html/structprintbuf.html +87 -0
  93. data/ext/parsley/json-c-0.9/doc/html/tab_b.gif +0 -0
  94. data/ext/parsley/json-c-0.9/doc/html/tab_l.gif +0 -0
  95. data/ext/parsley/json-c-0.9/doc/html/tab_r.gif +0 -0
  96. data/ext/parsley/json-c-0.9/doc/html/tabs.css +105 -0
  97. data/ext/parsley/json-c-0.9/doc/html/unionjson__object_1_1data.html +140 -0
  98. data/ext/parsley/json-c-0.9/install-sh +520 -0
  99. data/ext/parsley/json-c-0.9/json.h +31 -0
  100. data/ext/parsley/json-c-0.9/json.pc +11 -0
  101. data/ext/parsley/json-c-0.9/json.pc.in +11 -0
  102. data/ext/parsley/json-c-0.9/json_object.c +512 -0
  103. data/ext/parsley/json-c-0.9/json_object.h +319 -0
  104. data/ext/parsley/json-c-0.9/json_object_private.h +52 -0
  105. data/ext/parsley/json-c-0.9/json_tokener.c +628 -0
  106. data/ext/parsley/json-c-0.9/json_tokener.h +98 -0
  107. data/ext/parsley/json-c-0.9/json_util.c +122 -0
  108. data/ext/parsley/json-c-0.9/json_util.h +31 -0
  109. data/ext/parsley/json-c-0.9/libjson.la +41 -0
  110. data/ext/parsley/json-c-0.9/libtool +8890 -0
  111. data/ext/parsley/json-c-0.9/linkhash.c +216 -0
  112. data/ext/parsley/json-c-0.9/linkhash.h +272 -0
  113. data/ext/parsley/json-c-0.9/ltmain.sh +8406 -0
  114. data/ext/parsley/json-c-0.9/missing +376 -0
  115. data/ext/parsley/json-c-0.9/printbuf.c +149 -0
  116. data/ext/parsley/json-c-0.9/printbuf.h +64 -0
  117. data/ext/parsley/json-c-0.9/stamp-h1 +1 -0
  118. data/ext/parsley/json-c-0.9/test1 +130 -0
  119. data/ext/parsley/json-c-0.9/test1.c +164 -0
  120. data/ext/parsley/json-c-0.9/test2 +130 -0
  121. data/ext/parsley/json-c-0.9/test2.c +20 -0
  122. data/ext/parsley/json-c-0.9/test3 +130 -0
  123. data/ext/parsley/json-c-0.9/test3.c +23 -0
  124. data/ext/parsley/libtool +8890 -0
  125. data/ext/parsley/ltmain.sh +8406 -0
  126. data/ext/parsley/missing +376 -0
  127. data/ext/parsley/parsed_xpath.c +168 -0
  128. data/ext/parsley/parsed_xpath.h +34 -0
  129. data/ext/parsley/parser.y +631 -0
  130. data/ext/parsley/parsley.c +793 -0
  131. data/ext/parsley/parsley.h +87 -0
  132. data/ext/parsley/parsley_main.c +185 -0
  133. data/ext/parsley/parsleyc_main.c +108 -0
  134. data/ext/parsley/regexp.c +359 -0
  135. data/ext/parsley/regexp.h +36 -0
  136. data/ext/parsley/scanner.l +221 -0
  137. data/ext/parsley/test/ambiguous.html +207 -0
  138. data/ext/parsley/test/ambiguous.json +1 -0
  139. data/ext/parsley/test/ambiguous.let +6 -0
  140. data/ext/parsley/test/array-regression.html +5 -0
  141. data/ext/parsley/test/array-regression.json +1 -0
  142. data/ext/parsley/test/array-regression.let +10 -0
  143. data/ext/parsley/test/backslash.html +5 -0
  144. data/ext/parsley/test/backslash.json +1 -0
  145. data/ext/parsley/test/backslash.let +3 -0
  146. data/ext/parsley/test/bang.html +17 -0
  147. data/ext/parsley/test/bang.json +1 -0
  148. data/ext/parsley/test/bang.let +6 -0
  149. data/ext/parsley/test/collate_regression.html +324 -0
  150. data/ext/parsley/test/collate_regression.json +1 -0
  151. data/ext/parsley/test/collate_regression.let +9 -0
  152. data/ext/parsley/test/contains.html +3 -0
  153. data/ext/parsley/test/contains.json +1 -0
  154. data/ext/parsley/test/contains.let +3 -0
  155. data/ext/parsley/test/content.html +13 -0
  156. data/ext/parsley/test/content.json +1 -0
  157. data/ext/parsley/test/content.let +7 -0
  158. data/ext/parsley/test/cool.html +575 -0
  159. data/ext/parsley/test/cool.json +1 -0
  160. data/ext/parsley/test/cool.let +9 -0
  161. data/ext/parsley/test/craigs-simple.html +207 -0
  162. data/ext/parsley/test/craigs-simple.json +1 -0
  163. data/ext/parsley/test/craigs-simple.let +6 -0
  164. data/ext/parsley/test/craigs.html +207 -0
  165. data/ext/parsley/test/craigs.json +1 -0
  166. data/ext/parsley/test/craigs.let +9 -0
  167. data/ext/parsley/test/crash.html +157 -0
  168. data/ext/parsley/test/crash.json +1 -0
  169. data/ext/parsley/test/crash.let +1 -0
  170. data/ext/parsley/test/css_attr.html +3 -0
  171. data/ext/parsley/test/css_attr.json +1 -0
  172. data/ext/parsley/test/css_attr.let +3 -0
  173. data/ext/parsley/test/default-namespace.json +1 -0
  174. data/ext/parsley/test/default-namespace.let +3 -0
  175. data/ext/parsley/test/default-namespace.xml +1493 -0
  176. data/ext/parsley/test/div.html +8 -0
  177. data/ext/parsley/test/div.json +1 -0
  178. data/ext/parsley/test/div.let +10 -0
  179. data/ext/parsley/test/empty.html +3 -0
  180. data/ext/parsley/test/empty.json +1 -0
  181. data/ext/parsley/test/empty.let +1 -0
  182. data/ext/parsley/test/emptyish.html +207 -0
  183. data/ext/parsley/test/emptyish.let +3 -0
  184. data/ext/parsley/test/fictional-opt.html +43 -0
  185. data/ext/parsley/test/fictional-opt.json +1 -0
  186. data/ext/parsley/test/fictional-opt.let +14 -0
  187. data/ext/parsley/test/fictional.html +43 -0
  188. data/ext/parsley/test/fictional.json +1 -0
  189. data/ext/parsley/test/fictional.let +14 -0
  190. data/ext/parsley/test/function-magic.html +9 -0
  191. data/ext/parsley/test/function-magic.json +1 -0
  192. data/ext/parsley/test/function-magic.let +8 -0
  193. data/ext/parsley/test/hn.html +32 -0
  194. data/ext/parsley/test/hn.json +1 -0
  195. data/ext/parsley/test/hn.let +8 -0
  196. data/ext/parsley/test/malformed-array.html +2329 -0
  197. data/ext/parsley/test/malformed-array.json +1 -0
  198. data/ext/parsley/test/malformed-array.let +22 -0
  199. data/ext/parsley/test/malformed-expr.html +2329 -0
  200. data/ext/parsley/test/malformed-expr.json +1 -0
  201. data/ext/parsley/test/malformed-expr.let +16 -0
  202. data/ext/parsley/test/malformed-function.html +845 -0
  203. data/ext/parsley/test/malformed-function.json +197 -0
  204. data/ext/parsley/test/malformed-function.let +8 -0
  205. data/ext/parsley/test/malformed-json.html +2329 -0
  206. data/ext/parsley/test/malformed-json.json +1 -0
  207. data/ext/parsley/test/malformed-json.let +6 -0
  208. data/ext/parsley/test/malformed-xpath.html +8 -0
  209. data/ext/parsley/test/malformed-xpath.json +1 -0
  210. data/ext/parsley/test/malformed-xpath.let +7 -0
  211. data/ext/parsley/test/match.json +1 -0
  212. data/ext/parsley/test/match.let +9 -0
  213. data/ext/parsley/test/match.xml +11 -0
  214. data/ext/parsley/test/math_ambiguity.html +9 -0
  215. data/ext/parsley/test/math_ambiguity.json +1 -0
  216. data/ext/parsley/test/math_ambiguity.let +5 -0
  217. data/ext/parsley/test/nth-regression.html +13 -0
  218. data/ext/parsley/test/nth-regression.json +1 -0
  219. data/ext/parsley/test/nth-regression.let +3 -0
  220. data/ext/parsley/test/optional.html +2328 -0
  221. data/ext/parsley/test/optional.json +1 -0
  222. data/ext/parsley/test/optional.let +8 -0
  223. data/ext/parsley/test/outer-xml.html +6 -0
  224. data/ext/parsley/test/outer-xml.json +1 -0
  225. data/ext/parsley/test/outer-xml.let +5 -0
  226. data/ext/parsley/test/position.html +8 -0
  227. data/ext/parsley/test/position.json +1 -0
  228. data/ext/parsley/test/position.let +6 -0
  229. data/ext/parsley/test/question_regressions.html +443 -0
  230. data/ext/parsley/test/question_regressions.json +1 -0
  231. data/ext/parsley/test/question_regressions.let +6 -0
  232. data/ext/parsley/test/quote.json +1 -0
  233. data/ext/parsley/test/quote.let +8 -0
  234. data/ext/parsley/test/quote.xml +11 -0
  235. data/ext/parsley/test/reddit.html +1 -0
  236. data/ext/parsley/test/reddit.json +1 -0
  237. data/ext/parsley/test/reddit.let +12 -0
  238. data/ext/parsley/test/remote-fail.json +1 -0
  239. data/ext/parsley/test/remote.html +3 -0
  240. data/ext/parsley/test/remote.json +1 -0
  241. data/ext/parsley/test/remote.let +4 -0
  242. data/ext/parsley/test/replace.json +1 -0
  243. data/ext/parsley/test/replace.let +9 -0
  244. data/ext/parsley/test/replace.xml +11 -0
  245. data/ext/parsley/test/scope.html +10 -0
  246. data/ext/parsley/test/scope.json +1 -0
  247. data/ext/parsley/test/scope.let +6 -0
  248. data/ext/parsley/test/segfault.html +5 -0
  249. data/ext/parsley/test/segfault.json +1 -0
  250. data/ext/parsley/test/segfault.let +9 -0
  251. data/ext/parsley/test/sg-wrap.html +5 -0
  252. data/ext/parsley/test/sg-wrap.json +1 -0
  253. data/ext/parsley/test/sg-wrap.let +3 -0
  254. data/ext/parsley/test/sg_off.html +5 -0
  255. data/ext/parsley/test/sg_off.json +1 -0
  256. data/ext/parsley/test/sg_off.let +3 -0
  257. data/ext/parsley/test/test.json +1 -0
  258. data/ext/parsley/test/test.let +6 -0
  259. data/ext/parsley/test/test.xml +11 -0
  260. data/ext/parsley/test/trivial.html +2329 -0
  261. data/ext/parsley/test/trivial.json +1 -0
  262. data/ext/parsley/test/trivial.let +4 -0
  263. data/ext/parsley/test/trivial2.html +2329 -0
  264. data/ext/parsley/test/trivial2.json +1 -0
  265. data/ext/parsley/test/trivial2.let +7 -0
  266. data/ext/parsley/test/unbang.html +17 -0
  267. data/ext/parsley/test/unbang.json +1 -0
  268. data/ext/parsley/test/unbang.let +6 -0
  269. data/ext/parsley/test/unicode.html +3 -0
  270. data/ext/parsley/test/unicode.json +1 -0
  271. data/ext/parsley/test/unicode.let +1 -0
  272. data/ext/parsley/test/whitespace.html +8 -0
  273. data/ext/parsley/test/whitespace.json +1 -0
  274. data/ext/parsley/test/whitespace.let +3 -0
  275. data/ext/parsley/test/whitespace_regression.html +4 -0
  276. data/ext/parsley/test/whitespace_regression.json +1 -0
  277. data/ext/parsley/test/whitespace_regression.let +3 -0
  278. data/ext/parsley/test/yelp-benchmark.rb +53 -0
  279. data/ext/parsley/test/yelp-home.html +1004 -0
  280. data/ext/parsley/test/yelp-home.json +1 -0
  281. data/ext/parsley/test/yelp-home.let +6 -0
  282. data/ext/parsley/test/yelp.html +2329 -0
  283. data/ext/parsley/test/yelp.json +1 -0
  284. data/ext/parsley/test/yelp.let +12 -0
  285. data/ext/parsley/test/youtube.html +1940 -0
  286. data/ext/parsley/test/youtube.let +11 -0
  287. data/ext/parsley/util.c +237 -0
  288. data/ext/parsley/util.h +34 -0
  289. data/ext/parsley/xml2json.c +47 -0
  290. data/ext/parsley/xml2json.h +14 -0
  291. data/ext/parsley/y.tab.h +222 -0
  292. data/ext/parsley/ylwrap +222 -0
  293. data/lib/parsley.rb +84 -0
  294. data/test/test_parsley.rb +120 -0
  295. data/test/yelp-benchmark.rb +53 -0
  296. data/test/yelp-home.html +1004 -0
  297. data/test/yelp-home.let +6 -0
  298. data/test/yelp.html +2329 -0
  299. metadata +366 -0
@@ -0,0 +1 @@
1
+ { }
@@ -0,0 +1,6 @@
1
+ {
2
+ "foo?": "a+b b+c",
3
+ "bar?": "a+b+c",
4
+ "foo-s?": "a + b b + c",
5
+ "bar-s?": "a + b + c"
6
+ }
@@ -0,0 +1,5 @@
1
+ <html>
2
+ <body>
3
+ <h1 class="iCIMS_Header_JobTitle">CEO</h1>
4
+ </body>
5
+ </html>
@@ -0,0 +1 @@
1
+ { "jobs": [ { "title": "CEO" } ] }
@@ -0,0 +1,10 @@
1
+ {
2
+ "jobs": [{
3
+ "prefix?": "blah",
4
+ "title": ".iCIMS_Header_JobTitle",
5
+ "description?": "blah",
6
+ "location?": "blah",
7
+ "experience?": "blah",
8
+ "education?": "blah"
9
+ }]
10
+ }
@@ -0,0 +1,5 @@
1
+ <html>
2
+ <body>
3
+ <div id="foo:bar">hello</div>
4
+ </body>
5
+ </html>
@@ -0,0 +1 @@
1
+ { "content": "hello" }
@@ -0,0 +1,3 @@
1
+ {
2
+ "content": "#foo\\:bar"
3
+ }
@@ -0,0 +1,17 @@
1
+ <html>
2
+ <body>
3
+ <ul>
4
+ <li>
5
+ <h4>hi</h4>
6
+ <p>world</p>
7
+ </li>
8
+ <li>
9
+ <h4>hello</h4>
10
+ <p>people</p>
11
+ </li>
12
+ <li>
13
+ <h4>bye empty</h4>
14
+ </li>
15
+ </ul>
16
+ </body>
17
+ </html>
@@ -0,0 +1 @@
1
+ Parsing failed: /list/para was empty
@@ -0,0 +1,6 @@
1
+ {
2
+ "list(li)!": [{
3
+ "title": "h4",
4
+ "para": "p"
5
+ }]
6
+ }
@@ -0,0 +1,324 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
7
+ <title>KODA Crawler</title>
8
+ <link href="/stylesheets/scaffold.css?1243029069" media="screen" rel="stylesheet" type="text/css" />
9
+ <script src="/javascripts/jquery.js?1243879260" type="text/javascript"></script>
10
+ <script src="/javascripts/jrails.js?1243879260" type="text/javascript"></script>
11
+ </head>
12
+ <body>
13
+
14
+ <p style="color: green"></p>
15
+
16
+ <base href="http://jobs-fleishman.icims.com/jobs/2434/job;jsessionid=4C765025510537258A94EC0448B8DED0">
17
+ <head>
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+ <base href="http://www.fleishman.com/careers/">
44
+ <link rel="SHORTCUT ICON" href="/favicon.ico">
45
+ <title>Fleishman-Hillard - Careers</title>
46
+ <meta name="keywords" content="">
47
+ <style type="text/css">
48
+ @import url(../styles/internet.css); /* main stylesheet */
49
+ @import url(../styles/internet_2col.css); /* column stylesheet */
50
+ @import url(../styles/specific.css); /* specific stylesheet */
51
+ </style>
52
+ <!-- end iCIMS PreHeader -->
53
+ <link rel="stylesheet" type="text/css" href="http://jobs-fleishman.icims.com/ccc/style-ie.jsp">
54
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
55
+ <script type="text/javascript" src="/js/mainpagefunctions.js"></script>
56
+ <script language="JavaScript" src="/js/dropdownmenus.js"></script>
57
+ </head><body><div id="page_bg">
58
+ <div id="page_border">
59
+
60
+ <div id="page_wrapper">
61
+ <table border="0" cellpadding="0" cellspacing="0" height="100%" width="670">
62
+
63
+ <tbody><tr height="30">
64
+ <td align="right" valign="bottom"><a href="../index.asp"><img src="../images/careers_nav/logotop.jpg" align="right" border="0"></a></td>
65
+ <td align="right" background="../images/careers_nav/search.jpg" valign="bottom"><form action="/search/default.asp" method="post" id="form1" name="form1" align="absbottom"><input name="SearchString" size="13" style="font-family: Arial; font-size: 8pt;" maxlength="50" value="" type="text"><a href="javascript:Search();"><img src="../images/careers_nav/launchsearch.jpg" align="absbottom" border="0"></a></form></td>
66
+ <td valign="bottom"><img src="../images/careers_nav/careers_righttop.jpg" align="left" border="0"></td>
67
+ </tr>
68
+ <tr>
69
+ <td align="right" valign="bottom"><a href="../index.asp"><img src="../images/careers_nav/logobottom.jpg" usemap="#Map2" border="0"></a></td>
70
+
71
+ <td bgcolor="#8c9095" height="62" valign="bottom" width="438"><img src="../images/careers_nav/main.jpg" usemap="#Map" border="0" height="62" width="438"></td>
72
+ <td><img src="../images/careers_nav/careers_rightbottom.jpg" valign="bottom" align="left" border="0"></td>
73
+ </tr>
74
+ <tr>
75
+ <td colspan="3" align="middle"><div align="center"><img src="../images/careers_nav/working_at_fh_back.jpg" alt="Job Opportunities - Internships" align="top" border="0" width="670"></div></td>
76
+ </tr>
77
+ <tr bgcolor="#ec8000" height="25">
78
+ <td colspan="3" bgcolor="#ec8000" height="100%" width="100%"><a href="job-opportunities.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('jobopportunities','','../images/careers_nav/jobopportunities_on.gif',0)"><img src="../images/careers_nav/jobopportunities_on.gif" name="jobopportunities" alt="Job Opportunities" border="0" height="25" width="144"></a><img src="../images/divider.gif"><a href="benefits.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('benefits','','../images/careers_nav/benefits_on.gif',0)"><img src="../images/careers_nav/benefits_off.gif" name="benefits" alt="Benefits" border="0" height="25" width="90"></a>
79
+
80
+
81
+ <img src="../images/divider.gif" border="0"><a href="diversity.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('diversity','','../images/careers_nav/diversity_on.jpg')"><img src="../images/careers_nav/diversity_off.jpg" name="diversity" alt="PR Diversity" border="0" height="25" width="91"></a>
82
+
83
+
84
+
85
+
86
+
87
+ <img src="../images/divider.gif"><a href="tools-training.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('trainingdevelopment','','../images/careers_nav/trainingdevelopment_on.gif')"><img src="../images/careers_nav/trainingdevelopment_off.gif" name="trainingdevelopment" alt="Training &amp; Development" border="0" height="25" width="176"></a><img src="../images/divider.gif"></td>
88
+ </tr>
89
+
90
+ </tbody></table>
91
+ <div id="column_wrapper"><!-- begin columns -->
92
+ <!-- begin iCIMS -->
93
+ <!-- Job Core -->
94
+ <script type="text/javascript" language="javascript" src="http://a248.e.akamai.net/7/157/7769/a/images.icims.com/content/platform_9.1.090527.19384/script/portal/job.js"></script>
95
+ <table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="iCIMS_MainTable">
96
+ <table border="0" cellpadding="0" cellspacing="2" width="100%">
97
+
98
+
99
+
100
+
101
+
102
+
103
+ <tbody><tr>
104
+ <td class="iCIMS_Header iCIMS_Header_JobTitle" align="center">
105
+ AE/SAE, Internal Communications
106
+ </td>
107
+ </tr>
108
+ <tr>
109
+ <td valign="top">
110
+ <table class="iCIMS_JobHeaderTable" cellpadding="2" cellspacing="2" width="100%">
111
+
112
+
113
+
114
+ <tbody><tr>
115
+ <th scope="row" style="width: 25%; white-space: nowrap;" class="iCIMS_JobHeaderField" align="right">Job ID:&nbsp;</th>
116
+ <td style="width: 25%;" class="iCIMS_JobHeaderData">2434-09</td>
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+ <th scope="row" style="width: 25%; white-space: nowrap;" class="iCIMS_JobHeaderField" align="right">Location:&nbsp;</th>
126
+ <td style="width: 25%;" class="iCIMS_JobHeaderData">US-MO-St. Louis</td>
127
+ </tr>
128
+
129
+
130
+
131
+
132
+
133
+ <tr>
134
+ <th scope="row" style="width: 25%; white-space: nowrap;" class="iCIMS_JobHeaderField" align="right"># of Positions:&nbsp;</th>
135
+ <td style="width: 25%;" class="iCIMS_JobHeaderData">1</td>
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+ <th scope="row" style="width: 25%; white-space: nowrap;" class="iCIMS_JobHeaderField" align="right">Exp.(Years):&nbsp;</th>
145
+ <td style="width: 25%;" class="iCIMS_JobHeaderData">..</td>
146
+ </tr>
147
+
148
+
149
+
150
+
151
+
152
+ <tr>
153
+ <th scope="row" style="width: 25%; white-space: nowrap;" class="iCIMS_JobHeaderField" align="right">Posted Date:&nbsp;</th>
154
+ <td style="width: 25%;" class="iCIMS_JobHeaderData">5/27/2009</td>
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+ <th scope="row" style="width: 25%; white-space: nowrap;" class="iCIMS_JobHeaderField" align="right">Category:&nbsp;</th>
164
+ <td style="width: 25%;" class="iCIMS_JobHeaderData">1- Public Relations</td>
165
+ </tr>
166
+
167
+
168
+
169
+ </tbody></table>
170
+ </td>
171
+ </tr>
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+ <tr>
183
+ <td class="iCIMS_InfoMsg iCIMS_InfoMsg_Job">
184
+
185
+ <br>
186
+ </td>
187
+ </tr>
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+ <tr>
196
+ <td class="iCIMS_SubHeader iCIMS_SubHeader_Job">Apply for this job:</td>
197
+ </tr>
198
+
199
+ <tr>
200
+ <td class="iCIMS_InfoMsg iCIMS_InfoMsg_Job"><br>
201
+
202
+
203
+ <ul><li>To apply for this job:<span id="Online">Click <a href="http://jobs-fleishman.icims.com/jobs/2434/job?mode=apply&amp;apply=yes" class="iCIMS_Anchor"><b>here</b></a></span></li><li><span id="Referral"><a href="http://jobs-fleishman.icims.com/jobs/2434/referral" class="iCIMS_Anchor">Refer a friend to this job</a></span></li></ul>
204
+
205
+
206
+
207
+ </td>
208
+ </tr>
209
+
210
+
211
+
212
+
213
+ <tr>
214
+ <td class="iCIMS_SubHeader iCIMS_SubHeader_Job">More information about this job:</td>
215
+ </tr>
216
+ <tr>
217
+ <td class="iCIMS_InfoMsg iCIMS_InfoMsg_Job">&nbsp;</td>
218
+ </tr>
219
+
220
+
221
+
222
+ <tr>
223
+ <td class="iCIMS_InfoField iCIMS_InfoField_Job"><strong>Overview</strong>:</td>
224
+ </tr>
225
+ <tr>
226
+ <td class="iCIMS_InfoMsg iCIMS_InfoMsg_Job">Fleishman-Hillard, a leading global communications agency, has an opportunity for an experienced junior to mid level internal communications specialist to join the team at the agency’s global headquarters in St. Louis, Missouri. The successful candidate will have the opportunity to support programs for a diverse set of clients, including Fortune 500 companies, and contribute to the overall growth of the internal communications group by building strong client relationships.<br><br></td>
227
+ </tr>
228
+
229
+
230
+
231
+ <tr>
232
+ <td class="iCIMS_InfoField iCIMS_InfoField_Job"><strong>Responsibilities</strong>:</td>
233
+ </tr>
234
+ <tr>
235
+ <td class="iCIMS_InfoMsg iCIMS_InfoMsg_Job">This person will support clients facing a variety of internal organizational needs including: change management, employee engagement, values-based communications, internal branding, product support, downsizings, mergers, acquisitions, spin-offs, and reorganizations.<br><br></td>
236
+ </tr>
237
+
238
+
239
+
240
+ <tr>
241
+ <td class="iCIMS_InfoField iCIMS_InfoField_Job"><strong>Qualifications</strong>:</td>
242
+ </tr>
243
+ <tr>
244
+ <td class="iCIMS_InfoMsg iCIMS_InfoMsg_Job">• Two to seven years of experience in employee and/or corporate communications in an agency or corporate setting.
245
+ <br>• Bachelor’s degree in journalism, communication, English, or a related area.
246
+ <br>• Excellent writing and editing skills.
247
+ <br>• Outstanding interpersonal skills, including the ability to work effectively in a team environment, negotiate corporate approvals diplomatically, and maintain composure and production quality under deadline pressure.
248
+ <br>• Strong attention to detail.
249
+ <br>• Excellent presentation skills.
250
+ <br>• First-hand knowledge of best practices in internal communications.
251
+ <br>• Experience in online communications and social media is a plus.
252
+ <br>
253
+ <br>Fleishman-Hillard’s reputation for quality, creativity, and results is the foundation of our distinguished status in the industry. We offer a competitive salary and superb benefits including paid holidays, vacation, and a 401(k) plan with a significant company match.
254
+ <br>
255
+ <br>Please do not contact the St. Louis office directly – only resumes submitted through this Web site will be considered.
256
+ <br>
257
+ <br>Fleishman-Hillard is an equal opportunity/affirmative action employer. M/F/D/V.<br><br></td>
258
+ </tr>
259
+
260
+
261
+
262
+
263
+ <tr>
264
+ <td class="iCIMS_Navigation">
265
+
266
+
267
+ <br>
268
+ <a class="iCIMS_Anchor_Nav" href="http://jobs-fleishman.icims.com/jobs/intro"><img src="http://a248.e.akamai.net/7/157/7769/a/jobs-fleishman.icims.com/jobs/image?img=ccciconthemes/default/back&amp;color=FFFFFF-0067c6-000000&amp;a=" style="border: medium none ; vertical-align: middle;" alt="Go back to the welcome page" height="29" width="41"></a>
269
+ Go back to the welcome page
270
+
271
+
272
+ </td>
273
+ </tr>
274
+ <tr>
275
+ <td class="iCIMS_Logo iCIMS_PasswordReminder" align="center">
276
+
277
+
278
+ </td>
279
+ </tr>
280
+ </tbody></table>
281
+ </td></tr></tbody></table>
282
+
283
+
284
+
285
+
286
+
287
+
288
+ </div> <!-- icims added -->
289
+ </div><!-- end page_border -->
290
+ <div id="footer"><!-- begin footer -->
291
+
292
+ <script language="JavaScript" src="/footer.js"></script><a href="/index.asp">Home</a><img src="/images1/spacer.gif" height="1" width="5">|<img src="/images1/spacer.gif" height="1" width="5"><a href="/who-we-are/about-us.html">Who We Are</a><img src="/images1/spacer.gif" height="1" width="5">|<img src="/images1/spacer.gif" height="1" width="5"><a href="/client-solutions/how-we-work.html">Client Solutions</a><img src="/images1/spacer.gif" height="1" width="5">|<img src="/images1/spacer.gif" height="1" width="5"><a href="/careers/working-at-fh.html">Careers</a><img src="/images1/spacer.gif" height="1" width="5">|<img src="/images1/spacer.gif" height="1" width="5"><a href="/global-reach/global-reach.html">Global Reach</a><img src="/images1/spacer.gif" height="1" width="5">|<img src="/images1/spacer.gif" height="1" width="5"><a href="http://pov.fleishman.com/blogs/fhsocialnetwork/featured/index.php">Point of View</a><img src="/images1/spacer.gif" height="1" width="5">|<img src="/images1/spacer.gif" height="1" width="5"><a href="/site-map.html">Site Map</a><img src="/images1/spacer.gif" height="8" width="45">©&nbsp;<script language="JavaScript">now = new Date; document.write(now.getFullYear());</script>2009 Fleishman-Hillard Inc.&nbsp;&nbsp;
293
+
294
+ </div><!-- end footer -->
295
+ </div><!-- end page_bg -->
296
+ </div>
297
+
298
+ <map name="Map" id="Map">
299
+
300
+ <area shape="rect" coords="15,24,88,44" href="/who-we-are/about-us.html" alt="Who We Are - Fleishman-Hillard Strategic Communications">
301
+ <area shape="rect" coords="99,22,192,47" href="/client-solutions/how-we-work.html" alt="PR Agency Client Solutions">
302
+ <area shape="rect" coords="201,26,254,44" href="/careers/working-at-fh.html" alt="Public Relations, Marketing, Public Affairs Careers">
303
+ <area shape="rect" coords="264,25,340,44" href="/global-reach/global-reach.html" alt="International Communications Global Reach">
304
+ <area shape="rect" coords="349,24,426,44" href="http://pov.fleishman.com/blogs/fhsocialnetwork/featured/index.php" alt="Point of View - FH Perspectives on Communications">
305
+ </map>
306
+
307
+ <map name="Map2">
308
+ <area shape="rect" coords="44,3,181,55" href="/index.asp" alt="Home">
309
+ </map>
310
+
311
+
312
+
313
+ <!--Analytics Code-->
314
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
315
+ </script>
316
+ <script type="text/javascript">
317
+ _uacct = "UA-308765-3";
318
+ urchinTracker();
319
+ </script>
320
+ <!--Analytics Code Ends-->
321
+ </body>
322
+
323
+ </body>
324
+ </html>
@@ -0,0 +1 @@
1
+ { "jobs": [ { "title": "\nAE\/SAE, Internal Communications\n", "location": [ "US-MO-St. Louis" ] } ] }
@@ -0,0 +1,9 @@
1
+ {
2
+ "jobs": [{
3
+ "education?": ["skipped"],
4
+ "title": ".iCIMS_Header_JobTitle",
5
+ "experience?": ["skipped"],
6
+ "description?": ["sg_wrap"],
7
+ "location?": [".iCIMS_JobHeaderTable tr:nth-child(1) :nth-child(4)"]
8
+ }]
9
+ }
@@ -0,0 +1,3 @@
1
+ <html>
2
+ <body>hello world</body>
3
+ </html>
@@ -0,0 +1 @@
1
+ { "foo": "hello world" }
@@ -0,0 +1,3 @@
1
+ {
2
+ "foo": ":contains(\"hello\")"
3
+ }
@@ -0,0 +1,13 @@
1
+ <html>
2
+ <body>
3
+ <p id="1">a</p>
4
+ <p id="2">ab</p>
5
+ <p id="3">a </p>
6
+ <p id="4"> a</p>
7
+ <p id="5"> " </p>
8
+ <td height="20"><strong>Position:</strong>&nbsp;Pashto/Dari Linguist</td>
9
+ <p>&nbsp;foo</p>
10
+ <p>foo &nbsp;bar</p>
11
+
12
+ </body>
13
+ </html>
@@ -0,0 +1 @@
1
+ { "foo": [ "a", "a ", " a" ], "td": "Position: Pashto\/Dari Linguist", "content": "Position: Pashto\/Dari Linguist", "leading_nbsp": " foo", "two": "foo  bar" }