<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Stroom – processing</title>
    <link>/tags/processing/</link>
    <description>Recent content in processing on Stroom</description>
    <generator>Hugo -- gohugo.io</generator>
    <lastBuildDate>Tue, 07 Jun 2022 00:00:00 +0000</lastBuildDate>
    
	  <atom:link href="/tags/processing/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: Pipeline Processing</title>
      <link>/docs/quick-start-guide/process/</link>
      <pubDate>Thu, 03 Feb 2022 00:00:00 +0000</pubDate>
      
      <guid>/docs/quick-start-guide/process/</guid>
      <description>
        
        
        &lt;p&gt;Pipelines control how data is processed in Stroom.
Typically you&amp;rsquo;re going to want to do a lot of the same stuff for every pipeline, i.e. similar transformations, indexing, writing out data.
You can actually create a template pipeline and inherit from it, tweaking what you need to for this or that feed.
We&amp;rsquo;re not doing that now because we want to show how to create one from scratch.&lt;/p&gt;
&lt;h2 id=&#34;create-a-pipeline&#34;&gt;Create a pipeline&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Create a pipeline by right-clicking our &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Folder&#34;&gt;&lt;svg xmlns:rdf=&#34;http://www.w3.org/1999/02/22-rdf-syntax-ns#&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; height=&#34;1792&#34; width=&#34;1792&#34; version=&#34;1.1&#34; xmlns:cc=&#34;http://creativecommons.org/ns#&#34; xmlns:dc=&#34;http://purl.org/dc/elements/1.1/&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path fill=&#34;var(--icon-colour__blue)&#34; d=&#34;m1617.9 701.64v610.84q0 79.825-57.266 137.09-57.266 57.266-137.09 57.266h-1055.1q-79.825 0-137.09-57.266-57.266-57.266-57.266-137.09v-832.96q0-79.825 57.266-137.09 57.266-57.266 137.09-57.266h277.65q79.825 0 137.09 57.266 57.266 57.266 57.266 137.09v27.765h583.07q79.825 0 137.09 57.266 57.266 57.266 57.266 137.09z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; &lt;code&gt;Stroom 101&lt;/code&gt; folder and selecting:&lt;/p&gt;





  &lt;div class=&#34;stroom-theme-dark stroom-menu&#34;&gt;
    
    

      

      
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 0px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item &#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;New
      &lt;/div&gt;
        &lt;div class=&#34;stroom-menu-item-arrow&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Arrow right&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

      

      
      
        
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 7px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item stroom-menu-item-leaf&#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Pipeline&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;m 1440,95.339844 c -9.3333,0 -17,2.999997 -23,8.999996 -6,6 -9,13.66667 -9,23 l 0,192 -256,0 c -45.3333,0 -88,5.5 -128,16.5 -40.00001,11 -75.50001,25 -106.50001,42 -31,17 -61,39.83333 -90,68.5 -29,28.66667 -53.66667,56.33333 -74,83 -20.33333,26.66667 -41.66667,60 -64,100 -19.99699,35.8155 -36.49225,67.59036 -49.54102,95.38868 -0.27492,0.10932 -0.53471,0.21669 -0.81054,0.32617 -16,30.66667 -31,56.5 -45,77.5 -14,21 -31,41.5 -51,61.5 -20,20 -43,35 -69,45 -26,10 -55,15 -87,15 l -355.148435,0 c -9.333333,0 -17,3 -23.0000004,9 -6,6 -9.0000000375455,13.66667 -9.0000000375455,23 l 0,192.00001 c 0,9.3333 3.0000000375455,17 9.0000000375455,23 6.0000004,6 13.6666674,9 23.0000004,9 l 355.148435,0 c 45.33333,0 88,-5.5 128,-16.5 40,-11 75.5,-25 106.5,-42 31,-17 61,-39.8333 90,-68.5 29,-28.6667 53.66667,-56.33334 74,-83.00001 20.33333,-26.66667 41.66667,-60 64,-100 19.8569,-35.56461 36.26775,-67.15315 49.27344,-94.8125 0.36178,-0.305 0.71557,-0.5961 1.07812,-0.90235 16,-30.66667 31,-56.5 45,-77.5 14,-21 31,-41.5 51,-61.5 20.00001,-20 43.00001,-35 69.00001,-45 26,-10 55,-15 87,-15 l 256,0 0,192 c 0,8.66667 3.1667,16.16667 9.5,22.5 6.3333,6.33333 13.8333,9.5 22.5,9.5 9.3333,0 17,-3 23,-9 l 320,-320 c 6,-6 9,-13.66667 9,-23 0,-9.33333 -3,-17 -9,-23 l -319,-319 c -8,-6.666666 -16,-9.999996 -24,-9.999996 z&#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__green)&#34; d=&#34;M 32 608.88672 C 22.666667 608.88672 15 611.88672 9 617.88672 C 3.0000001 623.88672 0 631.55342 0 640.88672 L 0 832.88672 C -2.3684758e-15 842.22005 3.0000001 849.88672 9 855.88672 C 14.999999 861.88672 22.666667 864.88672 32 864.88672 L 387.14844 864.88672 C 389.01484 864.88672 390.86885 864.90739 392.71484 864.94141 C 424.84023 863.54598 455.12074 854.70213 477.65234 838.51562 C 513.22947 811.0071 542.31317 769.76507 567.46094 723.21289 A 59.082625 59.082625 0 0 1 567.88281 722.44336 C 577.24508 705.7116 585.95748 689.48787 593.56641 673.41992 A 59.082625 59.082625 0 0 1 594.40625 671.7168 C 596.87369 666.9118 599.36286 662.08644 601.86719 657.25195 C 575.79127 644.74345 546.89263 634.11637 515.14844 625.38672 C 475.14844 614.38672 432.48177 608.88672 387.14844 608.88672 L 32 608.88672 z M 870.56641 957.2793 C 853.49205 984.29535 834.72449 1010.8834 813.4375 1036.3711 A 59.082625 59.082625 0 0 1 813.08984 1036.7852 C 777.58172 1078.5162 737.58032 1121.5966 687.80664 1156.543 C 688.3781 1157.5702 688.9227 1158.5676 689.5 1159.6016 C 711.83333 1199.6016 733.16667 1232.9349 753.5 1259.6016 C 773.83333 1286.2683 798.5 1313.9349 827.5 1342.6016 C 856.5 1371.2683 886.5 1394.1016 917.5 1411.1016 C 948.5 1428.1016 983.99999 1442.1016 1024 1453.1016 C 1064 1464.1016 1106.6667 1469.6016 1152 1469.6016 L 1408 1469.6016 L 1408 1661.6016 C 1408 1670.9349 1411 1678.6016 1417 1684.6016 C 1423 1690.6016 1430.6667 1693.6016 1440 1693.6016 C 1448 1693.6016 1456 1690.2683 1464 1683.6016 L 1783 1364.6016 C 1789 1358.6016 1792 1350.9349 1792 1341.6016 C 1792 1332.2683 1789 1324.6016 1783 1318.6016 L 1463 998.60156 C 1457 992.60156 1449.3333 989.60156 1440 989.60156 C 1431.3333 989.60156 1423.8333 992.76823 1417.5 999.10156 C 1411.1667 1005.4348 1408 1012.9349 1408 1021.6016 L 1408 1213.6016 L 1152 1213.6016 C 1120 1213.6016 1091 1208.6016 1065 1198.6016 C 1039 1188.6016 1016 1173.6016 996 1153.6016 C 976 1133.6016 959 1113.1016 945 1092.1016 C 931 1071.1016 916 1045.2683 900 1014.6016 C 899.63745 1014.2954 899.28365 1014.0042 898.92188 1013.6992 C 890.80126 996.429 881.35206 977.6246 870.56641 957.2793 z &#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;Pipeline
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;/div&gt;



&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Call it something like &lt;code&gt;CSV to XML pipeline&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select &lt;em&gt;Structure&lt;/em&gt; from the top of the new tab. This is the most important view for the pipeline because it shows what will actually happen on the pipeline.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We already have a &lt;code&gt;Source&lt;/code&gt; element.
Unlike most other pipeline elements this isn&amp;rsquo;t something we need to configure.
It&amp;rsquo;s just there to show the starting point.
Data gets into the pipeline via other means - we&amp;rsquo;ll describe this in detail later.&lt;/p&gt;
&lt;h3 id=&#34;add-a-data-splitter&#34;&gt;Add a data splitter&lt;/h3&gt;
&lt;p&gt;Data splitters are powerful, and there is &lt;a href=&#34;../../docs/user-guide/data-splitter/&#34;&gt;a lot we can say&lt;/a&gt; about them.
Here we&amp;rsquo;re just going to make a basic one.&lt;/p&gt;
&lt;h4 id=&#34;create-a-csv-splitter&#34;&gt;Create a CSV splitter&lt;/h4&gt;
&lt;p&gt;We have CSV data in the following form:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-csv&#34;&gt;id,guid,from_ip,to_ip,application
1,10990cde-1084-4006-aaf3-7fe52b62ce06,159.161.108.105,217.151.32.69,Tres-Zap
2,633aa1a8-04ff-442d-ad9a-03ce9166a63a,210.14.34.58,133.136.48.23,Sub-Ex
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;To process this we need to know if there&amp;rsquo;s a header row, and what the delimiters are.
This is a job for a &lt;em&gt;Data Splitter&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The splitter is actually a type of &lt;em&gt;Text Converter&lt;/em&gt; &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Text converter&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;m 1522.1543,129.30336 16.9536,359.41707 -42.9492,0 q -12.4327,-94.94036 -33.9073,-135.62908 -35.0375,-65.55406 -93.8101,-96.0706 -57.6424,-31.64679 -152.5827,-31.64679 l -215.8763,0 0,1170.93104 q 0,141.2803 30.5165,176.3178 42.9492,47.4702 132.2384,47.4702 l 53.1214,0 0,41.819 -649.88937,0 0,-41.819 54.25164,0 q 97.20084,0 137.88956,-58.7726 24.86533,-36.1677 24.86533,-165.0154 l 0,-1170.93104 -184.2295,0 q -107.37302,0 -152.58272,15.8234 -58.7726,21.4746 -100.59156,82.50769 -41.81897,61.03308 -49.73067,165.01538 l -42.94921,0 18.08388,-359.41707 1251.17832,0 z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;, so lets create one of those:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Right click on our &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Folder&#34;&gt;&lt;svg xmlns:rdf=&#34;http://www.w3.org/1999/02/22-rdf-syntax-ns#&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; height=&#34;1792&#34; width=&#34;1792&#34; version=&#34;1.1&#34; xmlns:cc=&#34;http://creativecommons.org/ns#&#34; xmlns:dc=&#34;http://purl.org/dc/elements/1.1/&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path fill=&#34;var(--icon-colour__blue)&#34; d=&#34;m1617.9 701.64v610.84q0 79.825-57.266 137.09-57.266 57.266-137.09 57.266h-1055.1q-79.825 0-137.09-57.266-57.266-57.266-57.266-137.09v-832.96q0-79.825 57.266-137.09 57.266-57.266 137.09-57.266h277.65q79.825 0 137.09 57.266 57.266 57.266 57.266 137.09v27.765h583.07q79.825 0 137.09 57.266 57.266 57.266 57.266 137.09z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; &lt;code&gt;Stroom 101&lt;/code&gt; folder and selecting:&lt;/p&gt;





  &lt;div class=&#34;stroom-theme-dark stroom-menu&#34;&gt;
    
    

      

      
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 0px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item &#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;New
      &lt;/div&gt;
        &lt;div class=&#34;stroom-menu-item-arrow&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Arrow right&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

      

      
      
        
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 7px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item stroom-menu-item-leaf&#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Text converter&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;m 1522.1543,129.30336 16.9536,359.41707 -42.9492,0 q -12.4327,-94.94036 -33.9073,-135.62908 -35.0375,-65.55406 -93.8101,-96.0706 -57.6424,-31.64679 -152.5827,-31.64679 l -215.8763,0 0,1170.93104 q 0,141.2803 30.5165,176.3178 42.9492,47.4702 132.2384,47.4702 l 53.1214,0 0,41.819 -649.88937,0 0,-41.819 54.25164,0 q 97.20084,0 137.88956,-58.7726 24.86533,-36.1677 24.86533,-165.0154 l 0,-1170.93104 -184.2295,0 q -107.37302,0 -152.58272,15.8234 -58.7726,21.4746 -100.59156,82.50769 -41.81897,61.03308 -49.73067,165.01538 l -42.94921,0 18.08388,-359.41707 1251.17832,0 z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;Text Converter
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;/div&gt;



&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Call it something like &lt;code&gt;CSV splitter&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In the new tab you need to tell the &lt;em&gt;Text Converter&lt;/em&gt; that it&amp;rsquo;ll be a &lt;em&gt;Data Splitter&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;Click the &lt;em&gt;Settings&lt;/em&gt; sub-tab then select &lt;em&gt;Data Splitter&lt;/em&gt; in the &lt;em&gt;Converter Type&lt;/em&gt; drop-down.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/quick-start-guide/process/configure-csvSplitter-type.png&#34; href=&#34;../../images/quick-start-guide/process/configure-csvSplitter-type.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/quick-start-guide/process/configure-csvSplitter-type.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/quick-start-guide/process/configure-csvSplitter-type.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Configuring the data splitter&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Now go to the &lt;em&gt;Conversion&lt;/em&gt; tab.
What you need to put in here is specific to the built-in &lt;em&gt;Data Splitter&lt;/em&gt; functionality, so I&amp;rsquo;m just going to tell you what you&amp;rsquo;re going to need:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;quot;1.1&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;dataSplitter
    xmlns=&amp;quot;data-splitter:3&amp;quot;
    xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;
    xsi:schemaLocation=&amp;quot;data-splitter:3 file://data-splitter-v3.0.xsd&amp;quot;
    version=&amp;quot;3.0&amp;quot;&amp;gt;

  &amp;lt;!-- The first line contains the field names --&amp;gt;
  &amp;lt;split delimiter=&amp;quot;\n&amp;quot; maxMatch=&amp;quot;1&amp;quot;&amp;gt;
    &amp;lt;group&amp;gt;
      &amp;lt;split delimiter=&amp;quot;,&amp;quot; containerStart=&amp;quot;&amp;amp;#34;&amp;quot; containerEnd=&amp;quot;&amp;amp;#34;&amp;quot;&amp;gt;
        &amp;lt;var id=&amp;quot;heading&amp;quot; /&amp;gt;
      &amp;lt;/split&amp;gt;
    &amp;lt;/group&amp;gt;
  &amp;lt;/split&amp;gt;

  &amp;lt;!-- All subsequent lines are records --&amp;gt;
  &amp;lt;split delimiter=&amp;quot;\n&amp;quot;&amp;gt;
    &amp;lt;group&amp;gt;
      &amp;lt;split delimiter=&amp;quot;,&amp;quot; containerStart=&amp;quot;&amp;amp;#34;&amp;quot; containerEnd=&amp;quot;&amp;amp;#34;&amp;quot;&amp;gt;
        &amp;lt;data name=&amp;quot;$heading$1&amp;quot; value=&amp;quot;$1&amp;quot; /&amp;gt;
      &amp;lt;/split&amp;gt;
    &amp;lt;/group&amp;gt;
  &amp;lt;/split&amp;gt;
&amp;lt;/dataSplitter&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;This guide assumes you are running the &lt;em&gt;stroom_core_test&lt;/em&gt; stack which has the &lt;em&gt;data_splitter-v3.0.xsd&lt;/em&gt; schema pre-loaded.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Save it by clicking the save button &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;So we now have a configured, re-usable data splitter for CSV files that have headers.
We need to add this to our pipeline as a filter, so head back to the pipeline&amp;rsquo;s Structure section and add a DSParser.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Right-click the 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#source&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;Source &amp;#34;Source&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Stream&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;M 499.42773 349.50586 C 471.2255 349.65535 443.05802 352.21777 415.25195 357.10156 C 314.29291 374.83377 218.08985 423.16111 142.17383 497.58398 C 120.16923 517.22845 82.017578 562.56836 82.017578 562.56836 L 17.439453 647.62891 C 11.715074 655.16906 9.4362619 663.20332 10.603516 671.73047 C 11.770779 680.25761 16.123954 687.38299 23.664062 693.10742 L 178.77539 810.86523 C 186.3155 816.58967 194.34977 818.87035 202.87695 817.70312 C 211.40415 816.53588 218.95139 812.4832 224.25391 804.64062 C 252.73415 758.03917 266.71282 735.64156 320.53711 677.81836 C 409.46174 596.02665 519.53665 566.34857 644.56055 635.73047 C 814.48739 738.37221 971.75585 900.37132 1180.918 905.55859 C 1209.7108 905.57829 1251.7809 901.38952 1283.5625 895.00391 C 1384.5214 877.27168 1480.7245 828.94644 1556.6406 754.52344 C 1578.6452 734.87902 1616.7969 689.53906 1616.7969 689.53906 L 1681.375 604.47852 C 1687.0993 596.93839 1689.3762 588.90409 1688.209 580.37695 C 1687.0417 571.8498 1682.6905 564.72444 1675.1504 559 L 1520.0391 441.24219 C 1512.499 435.51777 1504.4646 433.23706 1495.9375 434.4043 C 1487.4102 435.57155 1479.8631 439.62422 1474.5605 447.4668 C 1446.0803 494.06826 1432.1016 516.46587 1378.2773 574.28906 C 1348.8635 601.34351 1316.4063 622.69518 1281.6191 636.6543 C 1067.6463 709.61943 913.77105 505.66893 745.44531 415.86719 C 668.96293 370.33416 584.03444 349.05738 499.42773 349.50586 z M 594.88477 897.21094 C 566.68253 897.36043 538.51505 899.92285 510.70898 904.80664 C 409.74993 922.53885 313.54689 970.86407 237.63086 1045.2871 C 215.62627 1064.9315 177.47266 1110.2734 177.47266 1110.2734 L 112.89648 1195.332 C 107.1721 1202.8722 104.89329 1210.9084 106.06055 1219.4355 C 107.22781 1227.9627 111.58098 1235.086 119.12109 1240.8105 L 274.23242 1358.5684 C 281.77254 1364.2928 289.80483 1366.5734 298.33203 1365.4062 C 306.85921 1364.239 314.4084 1360.1864 319.71094 1352.3438 C 348.19118 1305.7423 362.16986 1283.3466 415.99414 1225.5234 C 504.91877 1143.7317 614.99368 1114.0536 740.01758 1183.4355 C 909.94442 1286.0772 1067.2128 1448.0744 1276.375 1453.2617 C 1305.1678 1453.2817 1347.2362 1449.0945 1379.0176 1442.709 C 1479.9765 1424.9767 1576.1817 1376.6515 1652.0977 1302.2285 C 1674.1023 1282.584 1712.2539 1237.2441 1712.2539 1237.2441 L 1776.832 1152.1836 C 1782.5562 1144.6434 1784.8333 1136.6091 1783.666 1128.082 C 1782.4987 1119.5548 1778.1456 1112.4295 1770.6055 1106.7051 L 1615.4941 988.94727 C 1607.9538 983.22287 1599.9217 980.94208 1591.3945 982.10938 C 1582.8673 983.27657 1575.3182 987.32927 1570.0156 995.17188 C 1541.5354 1041.7734 1527.5567 1064.169 1473.7324 1121.9922 C 1444.3187 1149.0467 1411.8635 1170.4003 1377.0762 1184.3594 C 1163.1036 1257.3246 1009.2262 1053.3739 840.90039 963.57227 C 764.41799 918.0392 679.49147 896.76246 594.88477 897.21094 z &#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;Source&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







 element and select:&lt;/p&gt;





  &lt;div class=&#34;stroom-theme-dark stroom-menu&#34;&gt;
    
    

      

      
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 0px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item &#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;Add
      &lt;/div&gt;
        &lt;div class=&#34;stroom-menu-item-arrow&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Arrow right&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

      

      
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 7px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item &#34; &gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;Parser
      &lt;/div&gt;
        &lt;div class=&#34;stroom-menu-item-arrow&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Arrow right&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

      

      
      
        
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 14px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item stroom-menu-item-leaf&#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Text&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;m 1522.1543,129.30336 16.9536,359.41707 -42.9492,0 q -12.4327,-94.94036 -33.9073,-135.62908 -35.0375,-65.55406 -93.8101,-96.0706 -57.6424,-31.64679 -152.5827,-31.64679 l -215.8763,0 0,1170.93104 q 0,141.2803 30.5165,176.3178 42.9492,47.4702 132.2384,47.4702 l 53.1214,0 0,41.819 -649.88937,0 0,-41.819 54.25164,0 q 97.20084,0 137.88956,-58.7726 24.86533,-36.1677 24.86533,-165.0154 l 0,-1170.93104 -184.2295,0 q -107.37302,0 -152.58272,15.8234 -58.7726,21.4746 -100.59156,82.50769 -41.81897,61.03308 -49.73067,165.01538 l -42.94921,0 18.08388,-359.41707 1251.17832,0 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;DSParser
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;/div&gt;



&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Call it &lt;em&gt;CSV Parser&lt;/em&gt; and click OK.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We need to tell the new &lt;em&gt;CSV parser&lt;/em&gt; to use the &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Text converter&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;m 1522.1543,129.30336 16.9536,359.41707 -42.9492,0 q -12.4327,-94.94036 -33.9073,-135.62908 -35.0375,-65.55406 -93.8101,-96.0706 -57.6424,-31.64679 -152.5827,-31.64679 l -215.8763,0 0,1170.93104 q 0,141.2803 30.5165,176.3178 42.9492,47.4702 132.2384,47.4702 l 53.1214,0 0,41.819 -649.88937,0 0,-41.819 54.25164,0 q 97.20084,0 137.88956,-58.7726 24.86533,-36.1677 24.86533,-165.0154 l 0,-1170.93104 -184.2295,0 q -107.37302,0 -152.58272,15.8234 -58.7726,21.4746 -100.59156,82.50769 -41.81897,61.03308 -49.73067,165.01538 l -42.94921,0 18.08388,-359.41707 1251.17832,0 z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; &lt;em&gt;TextConverter&lt;/em&gt; (&lt;em&gt;CSV splitter&lt;/em&gt;) we created earlier.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click on the 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#dsparser&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;DSParser &amp;#34;CSV Parser&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Text&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;m 1522.1543,129.30336 16.9536,359.41707 -42.9492,0 q -12.4327,-94.94036 -33.9073,-135.62908 -35.0375,-65.55406 -93.8101,-96.0706 -57.6424,-31.64679 -152.5827,-31.64679 l -215.8763,0 0,1170.93104 q 0,141.2803 30.5165,176.3178 42.9492,47.4702 132.2384,47.4702 l 53.1214,0 0,41.819 -649.88937,0 0,-41.819 54.25164,0 q 97.20084,0 137.88956,-58.7726 24.86533,-36.1677 24.86533,-165.0154 l 0,-1170.93104 -184.2295,0 q -107.37302,0 -152.58272,15.8234 -58.7726,21.4746 -100.59156,82.50769 -41.81897,61.03308 -49.73067,165.01538 l -42.94921,0 18.08388,-359.41707 1251.17832,0 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;CSV Parser&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







 element and the pane below will show its properties.&lt;/li&gt;
&lt;li&gt;Double click the &lt;code&gt;textConverter&lt;/code&gt; property and change &lt;code&gt;Value&lt;/code&gt; to our &lt;em&gt;CSV splitter&lt;/em&gt; entity.&lt;/li&gt;
&lt;/ol&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/quick-start-guide/process/configuring-dsSplitter.png&#34; href=&#34;../../images/quick-start-guide/process/configuring-dsSplitter.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/quick-start-guide/process/configuring-dsSplitter.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/quick-start-guide/process/configuring-dsSplitter.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Configuring the CSV splitter&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Now save the pipeline by clicking the add button &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;.&lt;/p&gt;
&lt;h4 id=&#34;test-the-csv-splitter&#34;&gt;Test the CSV splitter&lt;/h4&gt;
&lt;p&gt;So now we have CSV data in Stroom and a pipeline that is configured to process CSV data.
We&amp;rsquo;ve done a fair few things so far and are we sure the pipeline is correctly configured?
We can do some debugging and find out.&lt;/p&gt;
&lt;p&gt;In Stroom you can step through you records and see what the output is at each stage.
It&amp;rsquo;s easy to start doing this.
The first thing to do is to open your &lt;code&gt;CSV_FEED&lt;/code&gt; feed, click on the &lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/s/glossary-stream&#34;&gt;
      &lt;span&gt;Stream&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;Stream&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;A Stream is the unit of data that Stroom works with and will typically contain many &lt;em&gt;Events&lt;/em&gt;.&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; in the top pane then click the big blue stepping button &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Stepping&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 1792 1792&#34; height=&#34;1792&#34; width=&#34;1792&#34;&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;m 1303.3748,386.71917 0,1018.43693 c 0,18.6714 -15.2766,33.948 -33.948,33.948 l -113.1596,0 c -18.6713,0 -33.9479,-15.2766 -33.9479,-33.948 l 0,-429.72386 -485.17205,442.73726 c -58.27722,48.6587 -148.52205,7.9212 -148.52205,-69.5932 0,-571.78462 0,-247.4743 0,-905.2773 0,-77.51437 90.24483,-117.96894 148.52205,-69.59319 l 485.17205,439.62531 0,-426.61195 c 0,-18.67134 15.2766,-33.94789 33.9479,-33.94789 l 113.1596,0 c 18.6714,0 33.948,15.27655 33.948,33.94789 z&#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; at the bottom right of the bottom data pane.&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll be asked to select a pipeline:&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/quick-start-guide/process/configure-debug.png&#34; href=&#34;../../images/quick-start-guide/process/configure-debug.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/quick-start-guide/process/configure-debug.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/quick-start-guide/process/configure-debug.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Selecting a pipeline to step through&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Now you get a view that&amp;rsquo;s similar to your feed view, except it also shows the pipeline.
The Stepper allows you to step through each record in the source data, where a record is defined by your Data Splitter parser.
The Stepper will highlight the currently selected record/event.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/quick-start-guide/process/debug-source.png&#34; href=&#34;../../images/quick-start-guide/process/debug-source.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/quick-start-guide/process/debug-source.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/quick-start-guide/process/debug-source.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stepping - source data&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;The Stepper also has stepping controls to allow you to move forward/backward through the source data.
Click the green step forward button &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Step forward&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 400,75.977968 0,360.000002 c 0,6.6 -5.4,12 -12,12 l -40,0 c -6.6,0 -12,-5.4 -12,-12 l 0,-151.9 -171.5,156.5 c -20.6,17.2 -52.5,2.8 -52.5,-24.6 0,-202.11605 0,-87.47785 0,-320.000002 0,-27.399997 31.9,-41.699997 52.5,-24.6 L 336,226.77797 336,75.977968 c 0,-6.599997 5.4,-11.999997 12,-11.999997 l 40,0 c 6.6,0 12,5.4 12,11.999997 z&#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;You should see the highlighted section advance to the next record/event.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/quick-start-guide/process/stepping-01.png&#34; href=&#34;../../images/quick-start-guide/process/stepping-01.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/quick-start-guide/process/stepping-01.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/quick-start-guide/process/stepping-01.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stepping through the CSV data&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Click on the &lt;em&gt;CSV parser&lt;/em&gt; element.
You will now see the stepping view for this element that is split into three panes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Top pane - this shows the content of your &lt;em&gt;CSV parser&lt;/em&gt; element, i.e. the &lt;em&gt;TextConverter&lt;/em&gt; (&lt;em&gt;CSV splitter&lt;/em&gt;) XML.
This can be used to modify your &lt;em&gt;TextConverter&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Bottom left pane - this shows the input to the pipeline element.&lt;/li&gt;
&lt;li&gt;Bottom right pane - this shows the output from the pipeline element.
The output from the Data Splitter is XML in &lt;em&gt;records&lt;/em&gt; format.
You can see the schema for &lt;em&gt;records&lt;/em&gt; in the &lt;code&gt;XML schemas&lt;/code&gt; folder.&lt;/li&gt;
&lt;/ul&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/quick-start-guide/process/stepping-02.png&#34; href=&#34;../../images/quick-start-guide/process/stepping-02.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/quick-start-guide/process/stepping-02.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/quick-start-guide/process/stepping-02.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;The output from a working data splitter&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;If there are any errors then you will see an error icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Error&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:#d32f2e&#34; d=&#34;m 1664,896 c 0,139.3333 -34.3333,267.8333 -103,385.5 -68.6667,117.6667 -161.8333,210.8333 -279.5,279.5 -117.6667,68.6667 -246.1667,103 -385.5,103 -139.33333,0 -267.83333,-34.3333 -385.5,-103 C 392.83333,1492.3333 299.66667,1399.1667 231,1281.5 162.33333,1163.8333 128,1035.3333 128,896 128,756.66667 162.33333,628.16667 231,510.5 299.66667,392.83333 392.83333,299.66667 510.5,231 628.16667,162.33333 756.66667,128 896,128 c 139.3333,0 267.8333,34.33333 385.5,103 117.6667,68.66667 210.8333,161.83333 279.5,279.5 68.6667,117.66667 103,246.16667 103,385.5 z&#34;/&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;m 1277,1122 c 0,-17.3333 -6.3333,-32.3333 -19,-45 L 1077,896 1258,715 c 12.6667,-12.66667 19,-27.66667 19,-45 0,-18 -6.3333,-33.33333 -19,-46 l -90,-90 c -12.6667,-12.66667 -28,-19 -46,-19 -17.3333,0 -32.3333,6.33333 -45,19 L 896,715 715,534 c -12.66667,-12.66667 -27.66667,-19 -45,-19 -18,0 -33.33333,6.33333 -46,19 l -90,90 c -12.66667,12.66667 -19,28 -19,46 0,17.33333 6.33333,32.33333 19,45 l 181,181 -181,181 c -12.66667,12.6667 -19,27.6667 -19,45 0,18 6.33333,33.3333 19,46 l 90,90 c 12.66667,12.6667 28,19 46,19 17.33333,0 32.33333,-6.3333 45,-19 l 181,-181 181,181 c 12.6667,12.6667 27.6667,19 45,19 18,0 33.3333,-6.3333 46,-19 l 90,-90 c 12.6667,-12.6667 19,-28 19,-46 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; in the gutter of the top pane.
In the example below, an invalid XML element has been added to the Data Splitter content to demonstrate an error occurring.&lt;/p&gt;







  
  
  
  
  







  
  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;max-width: 710px&#34;&gt;

  &lt;a title=&#34;images/quick-start-guide/process/stepping-error.png&#34; href=&#34;../../images/quick-start-guide/process/stepping-error.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/quick-start-guide/process/stepping-error.png&#34; style=&#34;max-width:700&#34; alt=&#34;images/quick-start-guide/process/stepping-error.png&#34;&gt;
      

      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;h3 id=&#34;add-xslt-to-transform-records-format-xml-into-something-else&#34;&gt;Add XSLT to transform records format XML into something else&lt;/h3&gt;
&lt;p&gt;&lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/x/glossary-xslt&#34;&gt;
      &lt;span&gt;XSLT&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;XSLT&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;E&lt;strong&gt;x&lt;/strong&gt;tensible &lt;strong&gt;S&lt;/strong&gt;tylesheet &lt;strong&gt;L&lt;/strong&gt;anguage &lt;strong&gt;T&lt;/strong&gt;ransformations is a language for transforming XML documents into other XML documents. XSLTs are the primary means of transforming data in Stroom.&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; is the language used to transform record/event data from one form into another in Stroom pipelines.
An 

&lt;span class=&#34;text-pipeline-element&#34;&gt;
&lt;a href=&#34;../../docs/reference-section/pipeline-elements#xsltfilter&#34; title=&#34;Pipeline element reference entry for XSLTFilter&#34; &gt;
&lt;span class=&#34;text-pipeline-element-text&#34;&gt;XSLTFilter&lt;/span&gt;
&lt;/a&gt;
&lt;/span&gt;
 pipeline element takes XML input and uses an XSLT to transform it into different XML or some other text format.&lt;/p&gt;
&lt;h4 id=&#34;create-the-xslt-filter&#34;&gt;Create the XSLT filter&lt;/h4&gt;
&lt;p&gt;This process is very similar to creating the &lt;code&gt;CSV splitter&lt;/code&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create the &lt;a href=&#34;../../docs/user-guide/pipelines/xslt/&#34;&gt;XSLT&lt;/a&gt; filter&lt;/li&gt;
&lt;li&gt;Add it to the pipeline&lt;/li&gt;
&lt;li&gt;Step through to make sure it&amp;rsquo;s doing what we expect&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To create the new &lt;em&gt;XSLT&lt;/em&gt; entity do the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Right click the &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Folder&#34;&gt;&lt;svg xmlns:rdf=&#34;http://www.w3.org/1999/02/22-rdf-syntax-ns#&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; height=&#34;1792&#34; width=&#34;1792&#34; version=&#34;1.1&#34; xmlns:cc=&#34;http://creativecommons.org/ns#&#34; xmlns:dc=&#34;http://purl.org/dc/elements/1.1/&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path fill=&#34;var(--icon-colour__blue)&#34; d=&#34;m1617.9 701.64v610.84q0 79.825-57.266 137.09-57.266 57.266-137.09 57.266h-1055.1q-79.825 0-137.09-57.266-57.266-57.266-57.266-137.09v-832.96q0-79.825 57.266-137.09 57.266-57.266 137.09-57.266h277.65q79.825 0 137.09 57.266 57.266 57.266 57.266 137.09v27.765h583.07q79.825 0 137.09 57.266 57.266 57.266 57.266 137.09z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; &lt;em&gt;Stroom 101&lt;/em&gt; folder in the &lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/e/glossary-explorer-tree&#34;&gt;
      &lt;span&gt;Explorer tree&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;Explorer tree&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;The left hand navigation tree. The Explorer Tree is used for finding, opening, creating, renaming, copying, moving and deleting &lt;em&gt;Documents&lt;/em&gt;.&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; and select:&lt;/p&gt;





  &lt;div class=&#34;stroom-theme-dark stroom-menu&#34;&gt;
    
    

      

      
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 0px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item &#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;New
      &lt;/div&gt;
        &lt;div class=&#34;stroom-menu-item-arrow&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Arrow right&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

      

      
      
        
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 7px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item stroom-menu-item-leaf&#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Xslt&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__xsl-background)&#34; d=&#34;M 684.30664 211.38672 C 672.42766 211.38672 661.91891 215.95413 652.78125 225.0918 L 14.058594 863.81641 C 4.9209141 872.95409 0.3515625 883.46088 0.3515625 895.33984 C 0.3515625 907.21882 4.9209142 917.72756 14.058594 926.86523 L 652.78125 1565.5898 C 661.91891 1574.7275 672.42766 1579.2949 684.30664 1579.2949 C 696.1856 1579.2949 706.69435 1574.7275 715.83203 1565.5898 L 784.36523 1497.0566 C 793.5029 1487.9191 798.07031 1477.4102 798.07031 1465.5312 C 798.07031 1453.6524 793.5029 1443.1436 784.36523 1434.0059 L 245.69922 895.33984 L 784.36523 356.67578 C 793.5029 347.53811 798.07031 337.02937 798.07031 325.15039 C 798.07031 313.27142 793.5029 302.76268 784.36523 293.625 L 715.83203 225.0918 C 706.69435 215.95413 696.1856 211.38672 684.30664 211.38672 z M 1107.9082 211.38672 C 1096.0293 211.38672 1085.5225 215.95414 1076.3848 225.0918 L 1007.8516 293.625 C 998.71402 302.76268 994.14453 313.27142 994.14453 325.15039 C 994.14453 337.02937 998.71402 347.53811 1007.8516 356.67578 L 1546.5176 895.33984 L 1007.8516 1434.0059 C 998.71402 1443.1436 994.14453 1453.6523 994.14453 1465.5312 C 994.14453 1477.4102 998.71402 1487.9191 1007.8516 1497.0566 L 1076.3848 1565.5898 C 1085.5225 1574.7275 1096.0293 1579.2949 1107.9082 1579.2949 C 1119.7872 1579.2949 1130.2959 1574.7275 1139.4336 1565.5898 L 1778.1582 926.86523 C 1787.2959 917.72756 1791.8633 907.21882 1791.8633 895.33984 C 1791.8633 883.46088 1787.2959 872.95409 1778.1582 863.81641 L 1139.4336 225.0918 C 1130.2959 215.95414 1119.7872 211.38672 1107.9082 211.38672 z &#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;M 914.01562 609.75391 C 846.69543 609.75391 793.7585 624.0295 755.20508 652.58203 C 716.65166 681.13457 697.375 720.39439 697.375 770.36133 C 697.375 809.25185 709.09092 840.2669 732.51953 863.4043 C 755.94815 886.29555 800.72934 908.20094 866.86328 929.12305 L 931.36523 949.42969 C 953.90415 956.5678 971.1042 966.4135 982.9668 978.9668 C 994.82939 991.27392 1000.7617 1005.6745 1000.7617 1022.166 C 1000.7617 1044.0727 991.86421 1061.1792 974.07031 1073.4863 C 956.27643 1085.5473 931.21618 1091.5781 898.89062 1091.5781 C 866.86163 1091.5781 834.38939 1086.5313 801.4707 1076.4395 C 768.84858 1066.3477 735.03956 1050.9651 700.04492 1030.2891 L 700.04492 1142.8984 C 730.88766 1155.6978 762.76881 1165.2975 795.6875 1171.6973 C 828.90275 1178.3431 861.96998 1181.666 894.88867 1181.666 C 974.96115 1181.666 1034.719 1168.0054 1074.1621 1140.6836 C 1113.9018 1113.1156 1133.7715 1071.5169 1133.7715 1015.8887 C 1133.7715 975.02903 1121.167 941.18506 1095.959 914.35547 C 1070.751 887.52595 1031.4559 865.98759 978.07422 849.74219 L 921.57812 832.01953 C 882.43158 819.95854 856.6315 809.00586 844.17578 799.16016 C 832.01663 789.06832 825.93555 776.3917 825.93555 761.13086 C 825.93555 741.43946 834.38878 726.30288 851.29297 715.71875 C 868.19716 705.13462 892.51562 699.8418 924.24805 699.8418 C 952.71826 699.8418 981.4855 704.14869 1010.5488 712.76367 C 1039.6122 721.37867 1068.2307 733.93228 1096.4043 750.42383 L 1096.4043 644.08984 C 1066.4513 632.76728 1036.2005 624.27651 1005.6543 618.61523 C 975.10813 612.70782 944.56179 609.75391 914.01562 609.75391 z M 109.28711 619.72266 L 298.79297 891.09375 L 103.94922 1170.959 L 239.62891 1170.959 L 365.96484 988.56641 L 492.74609 1170.959 L 628.42383 1170.959 L 434.4707 891.09375 L 623.08594 619.72266 L 487.4082 619.72266 L 365.96484 795.09961 L 244.9668 619.72266 L 109.28711 619.72266 z M 1288.1328 619.72266 L 1288.1328 1170.959 L 1700.0605 1170.959 L 1700.0605 1074.9629 L 1419.3633 1074.9629 L 1419.3633 619.72266 L 1288.1328 619.72266 z &#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;XSL Translation
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;/div&gt;



&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Name it &lt;em&gt;XSLT&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;em&gt;OK&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This will open a new tab for the &lt;em&gt;XSLT&lt;/em&gt; entity.&lt;/p&gt;
&lt;p&gt;On the new tab ensure the &lt;code&gt;XSLT&lt;/code&gt; sub-tab is selected.
This is another text editor pane but this one accepts &lt;em&gt;XSLT&lt;/em&gt;.
This &lt;em&gt;XSLT&lt;/em&gt; will be very basic and just takes the record data from the split filter and puts it into fields.
The XSLT for this is below but if you&amp;rsquo;d like to tinker then go ahead.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;quot;1.1&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;
&amp;lt;xsl:stylesheet
    xpath-default-namespace=&amp;quot;records:2&amp;quot;
    xmlns:stroom=&amp;quot;stroom&amp;quot;
    xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;
    xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;
    version=&amp;quot;2.0&amp;quot;&amp;gt;

  &amp;lt;xsl:template match=&amp;quot;records&amp;quot;&amp;gt;
    &amp;lt;Events&amp;gt;
      &amp;lt;xsl:apply-templates /&amp;gt;
    &amp;lt;/Events&amp;gt;
  &amp;lt;/xsl:template&amp;gt;
  &amp;lt;xsl:template match=&amp;quot;record&amp;quot;&amp;gt;
    &amp;lt;xsl:variable name=&amp;quot;id&amp;quot; select=&amp;quot;data[@name=&#39;id&#39;]/@value&amp;quot; /&amp;gt;
    &amp;lt;xsl:variable name=&amp;quot;guid&amp;quot; select=&amp;quot;data[@name=&#39;guid&#39;]/@value&amp;quot; /&amp;gt;
    &amp;lt;xsl:variable name=&amp;quot;from_ip&amp;quot; select=&amp;quot;data[@name=&#39;from_ip&#39;]/@value&amp;quot; /&amp;gt;
    &amp;lt;xsl:variable name=&amp;quot;to_ip&amp;quot; select=&amp;quot;data[@name=&#39;to_ip&#39;]/@value&amp;quot; /&amp;gt;
    &amp;lt;xsl:variable name=&amp;quot;application&amp;quot; select=&amp;quot;data[@name=&#39;application&#39;]/@value&amp;quot; /&amp;gt;

    &amp;lt;Event&amp;gt;
      &amp;lt;Id&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;$id&amp;quot; /&amp;gt;&amp;lt;/Id&amp;gt;
      &amp;lt;Guid&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;$guid&amp;quot; /&amp;gt;&amp;lt;/Guid&amp;gt;
      &amp;lt;FromIp&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;$from_ip&amp;quot; /&amp;gt;&amp;lt;/FromIp&amp;gt;
      &amp;lt;ToIp&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;$to_ip&amp;quot; /&amp;gt;&amp;lt;/ToIp&amp;gt;
      &amp;lt;Application&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;$application&amp;quot; /&amp;gt;&amp;lt;/Application&amp;gt;
    &amp;lt;/Event&amp;gt;
  &amp;lt;/xsl:template&amp;gt;
&amp;lt;/xsl:stylesheet&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Make sure you save it by clicking the save button &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Go back to the Structure sub-tab of the pipeline and add an 

&lt;span class=&#34;text-pipeline-element&#34;&gt;
&lt;a href=&#34;../../docs/reference-section/pipeline-elements#xsltfilter&#34; title=&#34;Pipeline element reference entry for XSLTFilter&#34; &gt;
&lt;span class=&#34;text-pipeline-element-text&#34;&gt;XSLTFilter&lt;/span&gt;
&lt;/a&gt;
&lt;/span&gt;
 element downstream of the &lt;em&gt;CSV parser&lt;/em&gt; element.
Call it something like &lt;em&gt;XSLT filter&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Select the &lt;em&gt;XSLT filter&lt;/em&gt; element and configure it to use the actual XSLT you just created by double-clicking &lt;code&gt;xslt&lt;/code&gt; in the properties pane at the bottom:&lt;/p&gt;
&lt;p&gt;In the dialog make sure you select the &lt;code&gt;XSLT&lt;/code&gt; filter in the &lt;em&gt;Stroom 101&lt;/em&gt; folder.
Save the pipeline.&lt;/p&gt;
&lt;h4 id=&#34;test-the-xslt-filter&#34;&gt;Test the XSLT filter&lt;/h4&gt;
&lt;p&gt;We&amp;rsquo;re going to test this in the same way we tested the CSV splitter, by clicking the large stepping button &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Stepping&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 1792 1792&#34; height=&#34;1792&#34; width=&#34;1792&#34;&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;m 1303.3748,386.71917 0,1018.43693 c 0,18.6714 -15.2766,33.948 -33.948,33.948 l -113.1596,0 c -18.6713,0 -33.9479,-15.2766 -33.9479,-33.948 l 0,-429.72386 -485.17205,442.73726 c -58.27722,48.6587 -148.52205,7.9212 -148.52205,-69.5932 0,-571.78462 0,-247.4743 0,-905.2773 0,-77.51437 90.24483,-117.96894 148.52205,-69.59319 l 485.17205,439.62531 0,-426.61195 c 0,-18.67134 15.2766,-33.94789 33.9479,-33.94789 l 113.1596,0 c 18.6714,0 33.948,15.27655 33.948,33.94789 z&#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;on the feed data pane.
Click the step forward button &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Step forward&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 400,75.977968 0,360.000002 c 0,6.6 -5.4,12 -12,12 l -40,0 c -6.6,0 -12,-5.4 -12,-12 l 0,-151.9 -171.5,156.5 c -20.6,17.2 -52.5,2.8 -52.5,-24.6 0,-202.11605 0,-87.47785 0,-320.000002 0,-27.399997 31.9,-41.699997 52.5,-24.6 L 336,226.77797 336,75.977968 c 0,-6.599997 5.4,-11.999997 12,-11.999997 l 40,0 c 6.6,0 12,5.4 12,11.999997 z&#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; a few times to make sure it&amp;rsquo;s working then click on the XSLT element.
This time you should see the XSLT filter there too, as well as the basic XML being transformed into more useful XML:&lt;/p&gt;







  
  
  
  
  







  
  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;max-width: 510px&#34;&gt;

  &lt;a title=&#34;images/quick-start-guide/process/stepping-03.png&#34; href=&#34;../../images/quick-start-guide/process/stepping-03.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/quick-start-guide/process/stepping-03.png&#34; style=&#34;max-width:500&#34; alt=&#34;images/quick-start-guide/process/stepping-03.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stepping the XSLT filter&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;There&amp;rsquo;s a few more things to get this pipeline ready for doing this &lt;a href=&#34;../../docs/reference-section/jobs/&#34;&gt;task&lt;/a&gt; for real.
We need to get this data to a destination.&lt;/p&gt;
&lt;h3 id=&#34;outputting-the-transformed-data&#34;&gt;Outputting the transformed data&lt;/h3&gt;
&lt;p&gt;The XSLT filter doesn&amp;rsquo;t actually write XML but instead it just outputs XML events to the next element in the pipeline.
In order to write these XML events out to a destination you need a writer.
If your transformation is producing XML then you need an 

&lt;span class=&#34;text-pipeline-element&#34;&gt;
&lt;a href=&#34;../../docs/reference-section/pipeline-elements#xmlwriter&#34; title=&#34;Pipeline element reference entry for XMLWriter&#34; &gt;
&lt;span class=&#34;text-pipeline-element-text&#34;&gt;XMLWriter&lt;/span&gt;
&lt;/a&gt;
&lt;/span&gt;
, if it is producing JSON then you need a 

&lt;span class=&#34;text-pipeline-element&#34;&gt;
&lt;a href=&#34;../../docs/reference-section/pipeline-elements#jsonwriter&#34; title=&#34;Pipeline element reference entry for JSONWriter&#34; &gt;
&lt;span class=&#34;text-pipeline-element-text&#34;&gt;JSONWriter&lt;/span&gt;
&lt;/a&gt;
&lt;/span&gt;
 and for plain text you need a 

&lt;span class=&#34;text-pipeline-element&#34;&gt;
&lt;a href=&#34;../../docs/reference-section/pipeline-elements#textwriter&#34; title=&#34;Pipeline element reference entry for TextWriter&#34; &gt;
&lt;span class=&#34;text-pipeline-element-text&#34;&gt;TextWriter&lt;/span&gt;
&lt;/a&gt;
&lt;/span&gt;
.&lt;/p&gt;
&lt;p&gt;Our &lt;em&gt;XSLT filter&lt;/em&gt; element is outputting XML so we will create an &lt;em&gt;XMLWriter&lt;/em&gt;.&lt;/p&gt;
&lt;h4 id=&#34;create-the-xml-writer&#34;&gt;Create the XML writer&lt;/h4&gt;
&lt;p&gt;You don&amp;rsquo;t need to create one outside the pipeline (in the way you did with the &lt;code&gt;CSV splitter&lt;/code&gt; and the &lt;code&gt;XSLT&lt;/code&gt; filter).
Just do the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Right click on the 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#xsltfilter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;XSLTFilter &amp;#34;XSLT filter&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Xslt&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__xsl-background)&#34; d=&#34;M 684.30664 211.38672 C 672.42766 211.38672 661.91891 215.95413 652.78125 225.0918 L 14.058594 863.81641 C 4.9209141 872.95409 0.3515625 883.46088 0.3515625 895.33984 C 0.3515625 907.21882 4.9209142 917.72756 14.058594 926.86523 L 652.78125 1565.5898 C 661.91891 1574.7275 672.42766 1579.2949 684.30664 1579.2949 C 696.1856 1579.2949 706.69435 1574.7275 715.83203 1565.5898 L 784.36523 1497.0566 C 793.5029 1487.9191 798.07031 1477.4102 798.07031 1465.5312 C 798.07031 1453.6524 793.5029 1443.1436 784.36523 1434.0059 L 245.69922 895.33984 L 784.36523 356.67578 C 793.5029 347.53811 798.07031 337.02937 798.07031 325.15039 C 798.07031 313.27142 793.5029 302.76268 784.36523 293.625 L 715.83203 225.0918 C 706.69435 215.95413 696.1856 211.38672 684.30664 211.38672 z M 1107.9082 211.38672 C 1096.0293 211.38672 1085.5225 215.95414 1076.3848 225.0918 L 1007.8516 293.625 C 998.71402 302.76268 994.14453 313.27142 994.14453 325.15039 C 994.14453 337.02937 998.71402 347.53811 1007.8516 356.67578 L 1546.5176 895.33984 L 1007.8516 1434.0059 C 998.71402 1443.1436 994.14453 1453.6523 994.14453 1465.5312 C 994.14453 1477.4102 998.71402 1487.9191 1007.8516 1497.0566 L 1076.3848 1565.5898 C 1085.5225 1574.7275 1096.0293 1579.2949 1107.9082 1579.2949 C 1119.7872 1579.2949 1130.2959 1574.7275 1139.4336 1565.5898 L 1778.1582 926.86523 C 1787.2959 917.72756 1791.8633 907.21882 1791.8633 895.33984 C 1791.8633 883.46088 1787.2959 872.95409 1778.1582 863.81641 L 1139.4336 225.0918 C 1130.2959 215.95414 1119.7872 211.38672 1107.9082 211.38672 z &#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;M 914.01562 609.75391 C 846.69543 609.75391 793.7585 624.0295 755.20508 652.58203 C 716.65166 681.13457 697.375 720.39439 697.375 770.36133 C 697.375 809.25185 709.09092 840.2669 732.51953 863.4043 C 755.94815 886.29555 800.72934 908.20094 866.86328 929.12305 L 931.36523 949.42969 C 953.90415 956.5678 971.1042 966.4135 982.9668 978.9668 C 994.82939 991.27392 1000.7617 1005.6745 1000.7617 1022.166 C 1000.7617 1044.0727 991.86421 1061.1792 974.07031 1073.4863 C 956.27643 1085.5473 931.21618 1091.5781 898.89062 1091.5781 C 866.86163 1091.5781 834.38939 1086.5313 801.4707 1076.4395 C 768.84858 1066.3477 735.03956 1050.9651 700.04492 1030.2891 L 700.04492 1142.8984 C 730.88766 1155.6978 762.76881 1165.2975 795.6875 1171.6973 C 828.90275 1178.3431 861.96998 1181.666 894.88867 1181.666 C 974.96115 1181.666 1034.719 1168.0054 1074.1621 1140.6836 C 1113.9018 1113.1156 1133.7715 1071.5169 1133.7715 1015.8887 C 1133.7715 975.02903 1121.167 941.18506 1095.959 914.35547 C 1070.751 887.52595 1031.4559 865.98759 978.07422 849.74219 L 921.57812 832.01953 C 882.43158 819.95854 856.6315 809.00586 844.17578 799.16016 C 832.01663 789.06832 825.93555 776.3917 825.93555 761.13086 C 825.93555 741.43946 834.38878 726.30288 851.29297 715.71875 C 868.19716 705.13462 892.51562 699.8418 924.24805 699.8418 C 952.71826 699.8418 981.4855 704.14869 1010.5488 712.76367 C 1039.6122 721.37867 1068.2307 733.93228 1096.4043 750.42383 L 1096.4043 644.08984 C 1066.4513 632.76728 1036.2005 624.27651 1005.6543 618.61523 C 975.10813 612.70782 944.56179 609.75391 914.01562 609.75391 z M 109.28711 619.72266 L 298.79297 891.09375 L 103.94922 1170.959 L 239.62891 1170.959 L 365.96484 988.56641 L 492.74609 1170.959 L 628.42383 1170.959 L 434.4707 891.09375 L 623.08594 619.72266 L 487.4082 619.72266 L 365.96484 795.09961 L 244.9668 619.72266 L 109.28711 619.72266 z M 1288.1328 619.72266 L 1288.1328 1170.959 L 1700.0605 1170.959 L 1700.0605 1074.9629 L 1419.3633 1074.9629 L 1419.3633 619.72266 L 1288.1328 619.72266 z &#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;XSLT filter&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







 element and select:&lt;/p&gt;





  &lt;div class=&#34;stroom-theme-dark stroom-menu&#34;&gt;
    
    

      

      
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 0px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item &#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;Add
      &lt;/div&gt;
        &lt;div class=&#34;stroom-menu-item-arrow&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Arrow right&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

      

      
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 7px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item &#34; &gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;Writer
      &lt;/div&gt;
        &lt;div class=&#34;stroom-menu-item-arrow&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Arrow right&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

      

      
      
        
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 14px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item stroom-menu-item-leaf&#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Xml&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__xml-background)&#34; d=&#34;M 684.30664 211.38672 C 672.42766 211.38672 661.91891 215.95413 652.78125 225.0918 L 14.058594 863.81641 C 4.9209141 872.95409 0.3515625 883.46088 0.3515625 895.33984 C 0.3515625 907.21882 4.9209142 917.72756 14.058594 926.86523 L 652.78125 1565.5898 C 661.91891 1574.7275 672.42766 1579.2949 684.30664 1579.2949 C 696.1856 1579.2949 706.69435 1574.7275 715.83203 1565.5898 L 784.36523 1497.0566 C 793.5029 1487.9191 798.07031 1477.4102 798.07031 1465.5312 C 798.07031 1453.6524 793.5029 1443.1436 784.36523 1434.0059 L 245.69922 895.33984 L 784.36523 356.67578 C 793.5029 347.53811 798.07031 337.02937 798.07031 325.15039 C 798.07031 313.27142 793.5029 302.76268 784.36523 293.625 L 715.83203 225.0918 C 706.69435 215.95413 696.1856 211.38672 684.30664 211.38672 z M 1107.9082 211.38672 C 1096.0293 211.38672 1085.5225 215.95414 1076.3848 225.0918 L 1007.8516 293.625 C 998.71402 302.76268 994.14453 313.27142 994.14453 325.15039 C 994.14453 337.02937 998.71402 347.53811 1007.8516 356.67578 L 1546.5176 895.33984 L 1007.8516 1434.0059 C 998.71402 1443.1436 994.14453 1453.6523 994.14453 1465.5312 C 994.14453 1477.4102 998.71402 1487.9191 1007.8516 1497.0566 L 1076.3848 1565.5898 C 1085.5225 1574.7275 1096.0293 1579.2949 1107.9082 1579.2949 C 1119.7872 1579.2949 1130.2959 1574.7275 1139.4336 1565.5898 L 1778.1582 926.86523 C 1787.2959 917.72756 1791.8633 907.21882 1791.8633 895.33984 C 1791.8633 883.46088 1787.2959 872.95409 1778.1582 863.81641 L 1139.4336 225.0918 C 1130.2959 215.95414 1119.7872 211.38672 1107.9082 211.38672 z &#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;M 109.28711 619.72266 L 298.79297 891.09375 L 103.94922 1170.959 L 239.62891 1170.959 L 365.96484 988.56641 L 492.74609 1170.959 L 628.42383 1170.959 L 434.4707 891.09375 L 623.08594 619.72266 L 487.4082 619.72266 L 365.96484 795.09961 L 244.9668 619.72266 L 109.28711 619.72266 z M 678.24805 619.72266 L 678.24805 1170.959 L 791.23828 1170.959 L 791.23828 729.37891 L 862.41406 970.47656 L 966.95312 970.47656 L 1037.2383 729.37891 L 1037.2383 1170.959 L 1150.2305 1170.959 L 1150.2305 619.72266 L 992.75391 619.72266 L 914.01562 861.55664 L 834.83398 619.72266 L 678.24805 619.72266 z M 1288.1328 619.72266 L 1288.1328 1170.959 L 1700.0605 1170.959 L 1700.0605 1074.9629 L 1419.3633 1074.9629 L 1419.3633 619.72266 L 1288.1328 619.72266 z &#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;XMLWriter
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;/div&gt;



&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Name it &lt;em&gt;XML writer&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click OK.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That&amp;rsquo;s it, no other configuration necessary.&lt;/p&gt;
&lt;h4 id=&#34;create-the-destination&#34;&gt;Create the destination&lt;/h4&gt;
&lt;p&gt;We need to do something with the serialised XML.
We&amp;rsquo;ll write it to a &lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/s/glossary-stream&#34;&gt;
      &lt;span&gt;Stream&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;Stream&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;A Stream is the unit of data that Stroom works with and will typically contain many &lt;em&gt;Events&lt;/em&gt;.&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;.
To do this we create a 

&lt;span class=&#34;text-pipeline-element&#34;&gt;
&lt;a href=&#34;../../docs/reference-section/pipeline-elements#streamappender&#34; title=&#34;Pipeline element reference entry for StreamAppender&#34; &gt;
&lt;span class=&#34;text-pipeline-element-text&#34;&gt;StreamAppender&lt;/span&gt;
&lt;/a&gt;
&lt;/span&gt;
:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Right click on the 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#xmlwriter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;XMLWriter &amp;#34;XML Writer&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Xml&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__xml-background)&#34; d=&#34;M 684.30664 211.38672 C 672.42766 211.38672 661.91891 215.95413 652.78125 225.0918 L 14.058594 863.81641 C 4.9209141 872.95409 0.3515625 883.46088 0.3515625 895.33984 C 0.3515625 907.21882 4.9209142 917.72756 14.058594 926.86523 L 652.78125 1565.5898 C 661.91891 1574.7275 672.42766 1579.2949 684.30664 1579.2949 C 696.1856 1579.2949 706.69435 1574.7275 715.83203 1565.5898 L 784.36523 1497.0566 C 793.5029 1487.9191 798.07031 1477.4102 798.07031 1465.5312 C 798.07031 1453.6524 793.5029 1443.1436 784.36523 1434.0059 L 245.69922 895.33984 L 784.36523 356.67578 C 793.5029 347.53811 798.07031 337.02937 798.07031 325.15039 C 798.07031 313.27142 793.5029 302.76268 784.36523 293.625 L 715.83203 225.0918 C 706.69435 215.95413 696.1856 211.38672 684.30664 211.38672 z M 1107.9082 211.38672 C 1096.0293 211.38672 1085.5225 215.95414 1076.3848 225.0918 L 1007.8516 293.625 C 998.71402 302.76268 994.14453 313.27142 994.14453 325.15039 C 994.14453 337.02937 998.71402 347.53811 1007.8516 356.67578 L 1546.5176 895.33984 L 1007.8516 1434.0059 C 998.71402 1443.1436 994.14453 1453.6523 994.14453 1465.5312 C 994.14453 1477.4102 998.71402 1487.9191 1007.8516 1497.0566 L 1076.3848 1565.5898 C 1085.5225 1574.7275 1096.0293 1579.2949 1107.9082 1579.2949 C 1119.7872 1579.2949 1130.2959 1574.7275 1139.4336 1565.5898 L 1778.1582 926.86523 C 1787.2959 917.72756 1791.8633 907.21882 1791.8633 895.33984 C 1791.8633 883.46088 1787.2959 872.95409 1778.1582 863.81641 L 1139.4336 225.0918 C 1130.2959 215.95414 1119.7872 211.38672 1107.9082 211.38672 z &#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;M 109.28711 619.72266 L 298.79297 891.09375 L 103.94922 1170.959 L 239.62891 1170.959 L 365.96484 988.56641 L 492.74609 1170.959 L 628.42383 1170.959 L 434.4707 891.09375 L 623.08594 619.72266 L 487.4082 619.72266 L 365.96484 795.09961 L 244.9668 619.72266 L 109.28711 619.72266 z M 678.24805 619.72266 L 678.24805 1170.959 L 791.23828 1170.959 L 791.23828 729.37891 L 862.41406 970.47656 L 966.95312 970.47656 L 1037.2383 729.37891 L 1037.2383 1170.959 L 1150.2305 1170.959 L 1150.2305 619.72266 L 992.75391 619.72266 L 914.01562 861.55664 L 834.83398 619.72266 L 678.24805 619.72266 z M 1288.1328 619.72266 L 1288.1328 1170.959 L 1700.0605 1170.959 L 1700.0605 1074.9629 L 1419.3633 1074.9629 L 1419.3633 619.72266 L 1288.1328 619.72266 z &#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;XML Writer&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







 element and select:&lt;/p&gt;





  &lt;div class=&#34;stroom-theme-dark stroom-menu&#34;&gt;
    
    

      

      
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 0px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item &#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;Add
      &lt;/div&gt;
        &lt;div class=&#34;stroom-menu-item-arrow&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Arrow right&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

      

      
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 7px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item &#34; &gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;Destination
      &lt;/div&gt;
        &lt;div class=&#34;stroom-menu-item-arrow&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Arrow right&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

      

      
      
        
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 14px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item stroom-menu-item-leaf&#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Stream&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;M 499.42773 349.50586 C 471.2255 349.65535 443.05802 352.21777 415.25195 357.10156 C 314.29291 374.83377 218.08985 423.16111 142.17383 497.58398 C 120.16923 517.22845 82.017578 562.56836 82.017578 562.56836 L 17.439453 647.62891 C 11.715074 655.16906 9.4362619 663.20332 10.603516 671.73047 C 11.770779 680.25761 16.123954 687.38299 23.664062 693.10742 L 178.77539 810.86523 C 186.3155 816.58967 194.34977 818.87035 202.87695 817.70312 C 211.40415 816.53588 218.95139 812.4832 224.25391 804.64062 C 252.73415 758.03917 266.71282 735.64156 320.53711 677.81836 C 409.46174 596.02665 519.53665 566.34857 644.56055 635.73047 C 814.48739 738.37221 971.75585 900.37132 1180.918 905.55859 C 1209.7108 905.57829 1251.7809 901.38952 1283.5625 895.00391 C 1384.5214 877.27168 1480.7245 828.94644 1556.6406 754.52344 C 1578.6452 734.87902 1616.7969 689.53906 1616.7969 689.53906 L 1681.375 604.47852 C 1687.0993 596.93839 1689.3762 588.90409 1688.209 580.37695 C 1687.0417 571.8498 1682.6905 564.72444 1675.1504 559 L 1520.0391 441.24219 C 1512.499 435.51777 1504.4646 433.23706 1495.9375 434.4043 C 1487.4102 435.57155 1479.8631 439.62422 1474.5605 447.4668 C 1446.0803 494.06826 1432.1016 516.46587 1378.2773 574.28906 C 1348.8635 601.34351 1316.4063 622.69518 1281.6191 636.6543 C 1067.6463 709.61943 913.77105 505.66893 745.44531 415.86719 C 668.96293 370.33416 584.03444 349.05738 499.42773 349.50586 z M 594.88477 897.21094 C 566.68253 897.36043 538.51505 899.92285 510.70898 904.80664 C 409.74993 922.53885 313.54689 970.86407 237.63086 1045.2871 C 215.62627 1064.9315 177.47266 1110.2734 177.47266 1110.2734 L 112.89648 1195.332 C 107.1721 1202.8722 104.89329 1210.9084 106.06055 1219.4355 C 107.22781 1227.9627 111.58098 1235.086 119.12109 1240.8105 L 274.23242 1358.5684 C 281.77254 1364.2928 289.80483 1366.5734 298.33203 1365.4062 C 306.85921 1364.239 314.4084 1360.1864 319.71094 1352.3438 C 348.19118 1305.7423 362.16986 1283.3466 415.99414 1225.5234 C 504.91877 1143.7317 614.99368 1114.0536 740.01758 1183.4355 C 909.94442 1286.0772 1067.2128 1448.0744 1276.375 1453.2617 C 1305.1678 1453.2817 1347.2362 1449.0945 1379.0176 1442.709 C 1479.9765 1424.9767 1576.1817 1376.6515 1652.0977 1302.2285 C 1674.1023 1282.584 1712.2539 1237.2441 1712.2539 1237.2441 L 1776.832 1152.1836 C 1782.5562 1144.6434 1784.8333 1136.6091 1783.666 1128.082 C 1782.4987 1119.5548 1778.1456 1112.4295 1770.6055 1106.7051 L 1615.4941 988.94727 C 1607.9538 983.22287 1599.9217 980.94208 1591.3945 982.10938 C 1582.8673 983.27657 1575.3182 987.32927 1570.0156 995.17188 C 1541.5354 1041.7734 1527.5567 1064.169 1473.7324 1121.9922 C 1444.3187 1149.0467 1411.8635 1170.4003 1377.0762 1184.3594 C 1163.1036 1257.3246 1009.2262 1053.3739 840.90039 963.57227 C 764.41799 918.0392 679.49147 896.76246 594.88477 897.21094 z &#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;StreamAppender
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;/div&gt;



&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Name it &lt;em&gt;Stream appender&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click OK.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Streams only exist within feeds and have a type.
We could set the feed that the stream will be written into but by default the &lt;em&gt;StreamAppender&lt;/em&gt; will write to the same &lt;em&gt;Feed&lt;/em&gt; as the input stream.
We must however set the type of the &lt;em&gt;Stream&lt;/em&gt; to distinguish it from the &lt;em&gt;Raw Events&lt;/em&gt; &lt;em&gt;Stream&lt;/em&gt; that we POSTed to Stroom.&lt;/p&gt;
&lt;p&gt;To set the &lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/s/glossary-stream-type&#34;&gt;
      &lt;span&gt;Stream Type&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;Stream Type&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;All &lt;em&gt;Streams&lt;/em&gt; must have a Stream Type. The list of Stream Types is configured using the &lt;em&gt;Property&lt;/em&gt; &lt;code&gt;stroom.data.meta.metaTypes&lt;/code&gt;.&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; do the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click on the &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Stream Appender&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;M 499.42773 349.50586 C 471.2255 349.65535 443.05802 352.21777 415.25195 357.10156 C 314.29291 374.83377 218.08985 423.16111 142.17383 497.58398 C 120.16923 517.22845 82.017578 562.56836 82.017578 562.56836 L 17.439453 647.62891 C 11.715074 655.16906 9.4362619 663.20332 10.603516 671.73047 C 11.770779 680.25761 16.123954 687.38299 23.664062 693.10742 L 178.77539 810.86523 C 186.3155 816.58967 194.34977 818.87035 202.87695 817.70312 C 211.40415 816.53588 218.95139 812.4832 224.25391 804.64062 C 252.73415 758.03917 266.71282 735.64156 320.53711 677.81836 C 409.46174 596.02665 519.53665 566.34857 644.56055 635.73047 C 814.48739 738.37221 971.75585 900.37132 1180.918 905.55859 C 1209.7108 905.57829 1251.7809 901.38952 1283.5625 895.00391 C 1384.5214 877.27168 1480.7245 828.94644 1556.6406 754.52344 C 1578.6452 734.87902 1616.7969 689.53906 1616.7969 689.53906 L 1681.375 604.47852 C 1687.0993 596.93839 1689.3762 588.90409 1688.209 580.37695 C 1687.0417 571.8498 1682.6905 564.72444 1675.1504 559 L 1520.0391 441.24219 C 1512.499 435.51777 1504.4646 433.23706 1495.9375 434.4043 C 1487.4102 435.57155 1479.8631 439.62422 1474.5605 447.4668 C 1446.0803 494.06826 1432.1016 516.46587 1378.2773 574.28906 C 1348.8635 601.34351 1316.4063 622.69518 1281.6191 636.6543 C 1067.6463 709.61943 913.77105 505.66893 745.44531 415.86719 C 668.96293 370.33416 584.03444 349.05738 499.42773 349.50586 z M 594.88477 897.21094 C 566.68253 897.36043 538.51505 899.92285 510.70898 904.80664 C 409.74993 922.53885 313.54689 970.86407 237.63086 1045.2871 C 215.62627 1064.9315 177.47266 1110.2734 177.47266 1110.2734 L 112.89648 1195.332 C 107.1721 1202.8722 104.89329 1210.9084 106.06055 1219.4355 C 107.22781 1227.9627 111.58098 1235.086 119.12109 1240.8105 L 274.23242 1358.5684 C 281.77254 1364.2928 289.80483 1366.5734 298.33203 1365.4062 C 306.85921 1364.239 314.4084 1360.1864 319.71094 1352.3438 C 348.19118 1305.7423 362.16986 1283.3466 415.99414 1225.5234 C 504.91877 1143.7317 614.99368 1114.0536 740.01758 1183.4355 C 909.94442 1286.0772 1067.2128 1448.0744 1276.375 1453.2617 C 1305.1678 1453.2817 1347.2362 1449.0945 1379.0176 1442.709 C 1479.9765 1424.9767 1576.1817 1376.6515 1652.0977 1302.2285 C 1674.1023 1282.584 1712.2539 1237.2441 1712.2539 1237.2441 L 1776.832 1152.1836 C 1782.5562 1144.6434 1784.8333 1136.6091 1783.666 1128.082 C 1782.4987 1119.5548 1778.1456 1112.4295 1770.6055 1106.7051 L 1615.4941 988.94727 C 1607.9538 983.22287 1599.9217 980.94208 1591.3945 982.10938 C 1582.8673 983.27657 1575.3182 987.32927 1570.0156 995.17188 C 1541.5354 1041.7734 1527.5567 1064.169 1473.7324 1121.9922 C 1444.3187 1149.0467 1411.8635 1170.4003 1377.0762 1184.3594 C 1163.1036 1257.3246 1009.2262 1053.3739 840.90039 963.57227 C 764.41799 918.0392 679.49147 896.76246 594.88477 897.21094 z &#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; &lt;em&gt;Stream appender&lt;/em&gt; pipeline element and the pane below will show its properties.&lt;/li&gt;
&lt;li&gt;Double click the &lt;code&gt;streamType&lt;/code&gt; property and change &lt;code&gt;Value&lt;/code&gt; to the &lt;em&gt;Events&lt;/em&gt; stream type.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;test-the-destination&#34;&gt;Test the destination&lt;/h4&gt;
&lt;p&gt;We can test the XML writer and the streamAppender using the same stepping feature.
Make sure you&amp;rsquo;ve saved the pipeline and set a &lt;strong&gt;new&lt;/strong&gt; stepping session running.
If you click on the &lt;code&gt;stream appender&lt;/code&gt; you&amp;rsquo;ll see something like this:&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/quick-start-guide/process/stepping-05.png&#34; href=&#34;../../images/quick-start-guide/process/stepping-05.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/quick-start-guide/process/stepping-05.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/quick-start-guide/process/stepping-05.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;The final output from the pipeline&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;h2 id=&#34;set-the-pipeline-running&#34;&gt;Set the pipeline running&lt;/h2&gt;
&lt;p&gt;Obviously you don&amp;rsquo;t want to step through your data one by one.
This all needs automation, and this is what &lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/p/glossary-processor&#34;&gt;
      &lt;span&gt;Processors&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;Processor&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;A Processor belongs to a &lt;em&gt;Pipeline&lt;/em&gt;. It controls the processing of data through its parent Pipeline using one or more &lt;em&gt;Processor Filters&lt;/em&gt;.&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; and &lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/p/glossary-processor-filter&#34;&gt;
      &lt;span&gt;Processor Filters&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;Processor filter&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;A Processor Filter is used to used to find Streams to process through the &lt;em&gt;Pipeline&lt;/em&gt; associated with the Processor Filter. A Processor Filter consists of an expression tree to select which &lt;em&gt;Streams&lt;/em&gt; to process and a tracker to track the what &lt;em&gt;Streams&lt;/em&gt; have been processed.&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; are for.
The processor works in the background to take any unprocessed streams (as determined by the Processor Filter and its &lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/t/glossary-tracker&#34;&gt;
      &lt;span&gt;Tracker&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;Tracker&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;A Tracker is associated with a &lt;em&gt;Processor Filter&lt;/em&gt; and keeps track of the &lt;em&gt;Stream&lt;/em&gt; that the Processor Filter has already processed.&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;) and process them through the pipeline.
So far everything on our &lt;em&gt;EXAMPLE_IN&lt;/em&gt; feed is unprocessed.&lt;/p&gt;
&lt;h3 id=&#34;create-a-processor-and-filter&#34;&gt;Create a processor and filter&lt;/h3&gt;
&lt;p&gt;Processors are created from the &lt;em&gt;Processors&lt;/em&gt; sub-tab of the pipeline.&lt;/p&gt;
&lt;p&gt;Click the add button &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; and you will be presented with a Filter &lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/e/glossary-expression-tree&#34;&gt;
      &lt;span&gt;Expression tree&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;Expression tree&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;A tree of expression terms that each evaluate to a boolean (True/False) value. Terms can be grouped together within an expression operator (AND, OR, NOT).&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;.
To configure the filter do the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Right click on the root AND operator and click &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add Term&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; Add Term.
A new expression is added to the tree as a child of the operator and it has three dropdowns in it (&lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/f/glossary-field&#34;&gt;
      &lt;span&gt;Field&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;Field&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;A named data Field within some form of record or entity, and where each Field can have an associated value. In Stroom, Fields can be the Fields in an &lt;em&gt;Index&lt;/em&gt; (or other queryable &lt;em&gt;Data Source&lt;/em&gt; or the fields of &lt;em&gt;Metadata&lt;/em&gt; associated with a &lt;em&gt;Stream&lt;/em&gt;, e.g. Stream ID, &lt;em&gt;Feed&lt;/em&gt;, creation time, etc.&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/c/glossary-condition&#34;&gt;
      &lt;span&gt;Condition&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;Condition&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;A Condition in an query expression term, e.g. &lt;code&gt;=&lt;/code&gt;, &lt;code&gt;&amp;gt;&lt;/code&gt;, &lt;code&gt;in&lt;/code&gt;, etc.&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; and value).&lt;/li&gt;
&lt;li&gt;Create an expression term for the Feed:
&lt;ol&gt;
&lt;li&gt;Field: &lt;code&gt;Feed&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Condition: &lt;code&gt;is&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Value: &lt;code&gt;CSV_FEED&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Create an expression term for the Stream Type:
&lt;ol&gt;
&lt;li&gt;Field: &lt;code&gt;Type&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Condition: &lt;code&gt;=&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Value: &lt;code&gt;Raw Events&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You only need to set the incoming feed and the stream types:&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/quick-start-guide/process/configure-processor.png&#34; href=&#34;../../images/quick-start-guide/process/configure-processor.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/quick-start-guide/process/configure-processor.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/quick-start-guide/process/configure-processor.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Configure the new processor filter&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;You will now see the newly created processor and its filter.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/quick-start-guide/process/show-processors.png&#34; href=&#34;../../images/quick-start-guide/process/show-processors.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/quick-start-guide/process/show-processors.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/quick-start-guide/process/show-processors.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;The new processor and filter&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Ensure that both the processor and its filter are enabled by clicking the checkbox at the left of the row.
This is it, everything we&amp;rsquo;ve done is about to start working on its own, just like it would in a real configuration.&lt;/p&gt;
&lt;p&gt;If you keep refreshing this table it will show you the processing status which should change after a few seconds to show that the data you have uploaded is being or has been processed.
The fields in the filter row will have been updated to reflect the new position of the Filter Tracker.
Once this has happened you should be able to open the destination feed &lt;code&gt;CSV_FEED&lt;/code&gt; and see the output data (or errors if there were any).
If the &lt;code&gt;CSV_FEED&lt;/code&gt; tab was already open then you will likely need to click refresh &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Refresh&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M1639 1056q0 5-1 7-64 268-268 434.5t-478 166.5q-146 0-282.5-55t-243.5-157l-129 129q-19 19-45 19t-45-19-19-45v-448q0-26 19-45t45-19h448q26 0 45 19t19 45-19 45l-137 137q71 66 161 102t187 36q134 0 250-65t186-179q11-17 53-117 8-23 30-23h192q13 0 22.5 9.5t9.5 22.5zm25-800v448q0 26-19 45t-45 19h-448q-26 0-45-19t-19-45 19-45l138-138q-148-137-349-137-134 0-250 65t-186 179q-11 17-53 117-8 23-30 23h-199q-13 0-22.5-9.5t-9.5-22.5v-7q65-268 270-434.5t480-166.5q146 0 284 55.5t245 156.5l130-129q19-19 45-19t45 19 19 45z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; on the top pane.&lt;/p&gt;







  
  
  
  
  







  
  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;max-width: 410px&#34;&gt;

  &lt;a title=&#34;images/quick-start-guide/process/show-output.png&#34; href=&#34;../../images/quick-start-guide/process/show-output.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/quick-start-guide/process/show-output.png&#34; style=&#34;max-width:400&#34; alt=&#34;images/quick-start-guide/process/show-output.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;The output of the pipeline&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;You can see that there are the &lt;code&gt;Raw Events&lt;/code&gt; and the processed &lt;code&gt;Events&lt;/code&gt;.
If you click on the &lt;code&gt;Events&lt;/code&gt; then you can see all the XML that we&amp;rsquo;ve produced.&lt;/p&gt;
&lt;p&gt;Now you&amp;rsquo;ve processed your data you can go ahead and &lt;a href=&#34;../../docs/quick-start-guide/indexing/&#34;&gt;index&lt;/a&gt; it.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Pipelines</title>
      <link>/docs/user-guide/pipelines/</link>
      <pubDate>Tue, 27 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>/docs/user-guide/pipelines/</guid>
      <description>
        
        
        &lt;p&gt;Stroom uses Pipelines to process its data.
A pipeline is a set of &lt;a href=&#34;../../docs/reference-section/pipeline-elements/&#34;&gt;pipeline elements&lt;/a&gt; connected together.
Pipelines are very powerful and flexible and allow the user to transform, index, store and forward data in a wide variety of ways.&lt;/p&gt;
&lt;h2 id=&#34;example-pipeline&#34;&gt;Example Pipeline&lt;/h2&gt;
&lt;p&gt;Pipelines can take many forms and be used for a wide variety of purposes, however a typical pipeline to convert CSV data into cooked events might look like this:&lt;/p&gt;

&lt;div class=&#34;stroom-theme-dark pipeline-container&#34;&gt;
  
    
      
      
        
        &lt;div class=&#34;pipeline-item&#34;&gt;
        
 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#source&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;Source &amp;#34;Source&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Stream&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;M 499.42773 349.50586 C 471.2255 349.65535 443.05802 352.21777 415.25195 357.10156 C 314.29291 374.83377 218.08985 423.16111 142.17383 497.58398 C 120.16923 517.22845 82.017578 562.56836 82.017578 562.56836 L 17.439453 647.62891 C 11.715074 655.16906 9.4362619 663.20332 10.603516 671.73047 C 11.770779 680.25761 16.123954 687.38299 23.664062 693.10742 L 178.77539 810.86523 C 186.3155 816.58967 194.34977 818.87035 202.87695 817.70312 C 211.40415 816.53588 218.95139 812.4832 224.25391 804.64062 C 252.73415 758.03917 266.71282 735.64156 320.53711 677.81836 C 409.46174 596.02665 519.53665 566.34857 644.56055 635.73047 C 814.48739 738.37221 971.75585 900.37132 1180.918 905.55859 C 1209.7108 905.57829 1251.7809 901.38952 1283.5625 895.00391 C 1384.5214 877.27168 1480.7245 828.94644 1556.6406 754.52344 C 1578.6452 734.87902 1616.7969 689.53906 1616.7969 689.53906 L 1681.375 604.47852 C 1687.0993 596.93839 1689.3762 588.90409 1688.209 580.37695 C 1687.0417 571.8498 1682.6905 564.72444 1675.1504 559 L 1520.0391 441.24219 C 1512.499 435.51777 1504.4646 433.23706 1495.9375 434.4043 C 1487.4102 435.57155 1479.8631 439.62422 1474.5605 447.4668 C 1446.0803 494.06826 1432.1016 516.46587 1378.2773 574.28906 C 1348.8635 601.34351 1316.4063 622.69518 1281.6191 636.6543 C 1067.6463 709.61943 913.77105 505.66893 745.44531 415.86719 C 668.96293 370.33416 584.03444 349.05738 499.42773 349.50586 z M 594.88477 897.21094 C 566.68253 897.36043 538.51505 899.92285 510.70898 904.80664 C 409.74993 922.53885 313.54689 970.86407 237.63086 1045.2871 C 215.62627 1064.9315 177.47266 1110.2734 177.47266 1110.2734 L 112.89648 1195.332 C 107.1721 1202.8722 104.89329 1210.9084 106.06055 1219.4355 C 107.22781 1227.9627 111.58098 1235.086 119.12109 1240.8105 L 274.23242 1358.5684 C 281.77254 1364.2928 289.80483 1366.5734 298.33203 1365.4062 C 306.85921 1364.239 314.4084 1360.1864 319.71094 1352.3438 C 348.19118 1305.7423 362.16986 1283.3466 415.99414 1225.5234 C 504.91877 1143.7317 614.99368 1114.0536 740.01758 1183.4355 C 909.94442 1286.0772 1067.2128 1448.0744 1276.375 1453.2617 C 1305.1678 1453.2817 1347.2362 1449.0945 1379.0176 1442.709 C 1479.9765 1424.9767 1576.1817 1376.6515 1652.0977 1302.2285 C 1674.1023 1282.584 1712.2539 1237.2441 1712.2539 1237.2441 L 1776.832 1152.1836 C 1782.5562 1144.6434 1784.8333 1136.6091 1783.666 1128.082 C 1782.4987 1119.5548 1778.1456 1112.4295 1770.6055 1106.7051 L 1615.4941 988.94727 C 1607.9538 983.22287 1599.9217 980.94208 1591.3945 982.10938 C 1582.8673 983.27657 1575.3182 987.32927 1570.0156 995.17188 C 1541.5354 1041.7734 1527.5567 1064.169 1473.7324 1121.9922 C 1444.3187 1149.0467 1411.8635 1170.4003 1377.0762 1184.3594 C 1163.1036 1257.3246 1009.2262 1053.3739 840.90039 963.57227 C 764.41799 918.0392 679.49147 896.76246 594.88477 897.21094 z &#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;Source&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      
        &lt;/div&gt;
      
    
  
    
      
      
        
          &lt;div class=&#34;pipeline-separator pipeline-item&#34;&gt;
          &lt;/div&gt;
        
        &lt;div class=&#34;pipeline-item&#34;&gt;
        

    
  








 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#dsparser&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;DSParser &amp;#34;DSParser&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Text&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;m 1522.1543,129.30336 16.9536,359.41707 -42.9492,0 q -12.4327,-94.94036 -33.9073,-135.62908 -35.0375,-65.55406 -93.8101,-96.0706 -57.6424,-31.64679 -152.5827,-31.64679 l -215.8763,0 0,1170.93104 q 0,141.2803 30.5165,176.3178 42.9492,47.4702 132.2384,47.4702 l 53.1214,0 0,41.819 -649.88937,0 0,-41.819 54.25164,0 q 97.20084,0 137.88956,-58.7726 24.86533,-36.1677 24.86533,-165.0154 l 0,-1170.93104 -184.2295,0 q -107.37302,0 -152.58272,15.8234 -58.7726,21.4746 -100.59156,82.50769 -41.81897,61.03308 -49.73067,165.01538 l -42.94921,0 18.08388,-359.41707 1251.17832,0 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;DSParser&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      
        &lt;/div&gt;
      
    
  
    
      
      
        
          &lt;div class=&#34;pipeline-separator pipeline-item&#34;&gt;
          &lt;/div&gt;
        
        &lt;div class=&#34;pipeline-item&#34;&gt;
        

    
  








 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#recordcountfilter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;RecordCountFilter &amp;#34;recordCount (read)&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Record count&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;m 288,333.95508 c -26.66667,0 -49.33333,9.33333 -68,28 -18.66667,18.66666 -28,41.33333 -28,68 0.0805,246.24683 0,490.77231 0,736.97462 0,26.6667 9.33333,49.3333 28,68 18.66667,18.6667 41.33333,28 68,28 l 1216,0 c 26.6667,0 49.3333,-9.3333 68,-28 18.6667,-18.6667 28,-41.3333 28,-68 -0.078,-246.27922 0,-490.86553 0,-736.97462 0,-26.66667 -9.3333,-49.33334 -28,-68 -18.6667,-18.66667 -41.3333,-28 -68,-28 z&#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__white)&#34; d=&#34;M 877.22852 517.63477 C 848.44694 517.63477 822.54479 522.26523 799.51953 531.52539 C 776.49426 540.53528 756.84792 552.92215 740.58008 568.68945 C 724.5625 584.45675 712.17368 602.97861 703.41406 624.25195 C 694.90473 645.27502 690.65039 667.67313 690.65039 691.44922 L 780.74805 691.44922 C 780.74805 660.16489 788.38168 635.63863 803.64844 617.86914 C 819.16546 600.09964 843.19282 591.21484 875.72852 591.21484 C 888.24225 591.21484 899.50464 593.34299 909.51562 597.59766 C 919.77689 601.85232 928.41028 607.85867 935.41797 615.61719 C 942.67594 623.12543 948.18143 632.25968 951.93555 643.02148 C 955.93994 653.53302 957.94336 665.04681 957.94336 677.56055 C 957.94336 687.07098 956.6922 696.45468 954.18945 705.71484 C 951.68671 714.975 947.43237 724.98624 941.42578 735.74805 C 935.41919 746.50985 927.2847 758.39783 917.02344 771.41211 C 907.01246 784.17612 894.4989 798.94254 879.48242 815.71094 L 701.53711 1009.7988 L 701.53711 1071.7422 L 1068.6895 1071.7422 L 1068.6895 1000.0391 L 813.0332 1000.0391 L 936.91992 867.14258 C 952.68722 850.37418 967.32892 834.10714 980.84375 818.33984 C 994.35856 802.32227 1005.9951 786.42941 1015.7559 770.66211 C 1025.5166 754.89481 1033.1502 739.12668 1038.6562 723.35938 C 1044.1623 707.3418 1046.916 690.82531 1046.916 673.80664 C 1046.916 651.03165 1043.1606 630.1322 1035.6523 611.11133 C 1028.1441 592.09046 1017.1331 575.6987 1002.6172 561.93359 C 988.10125 547.91822 970.33166 537.03 949.30859 529.27148 C 928.28553 521.51297 904.25818 517.63477 877.22852 517.63477 z M 1337.4844 517.63477 C 1312.2066 517.63477 1288.9315 521.51297 1267.6582 529.27148 C 1246.3849 536.77972 1227.9897 547.29181 1212.4727 560.80664 C 1197.2059 574.07119 1185.1932 589.83933 1176.4336 608.10938 C 1167.9243 626.37941 1163.668 646.27521 1163.668 667.79883 L 1253.3926 667.79883 C 1253.3926 655.78565 1255.5188 645.02411 1259.7734 635.51367 C 1264.0281 626.00324 1269.9097 617.86874 1277.418 611.11133 C 1285.1765 604.35391 1294.1861 599.22455 1304.4473 595.7207 C 1314.9588 591.96658 1326.3479 590.08789 1338.6113 590.08789 C 1366.6421 590.08789 1387.5396 597.34735 1401.3047 611.86328 C 1415.3201 626.12893 1422.3281 646.52558 1422.3281 673.05469 C 1422.3281 685.56842 1420.3247 697.08026 1416.3203 707.5918 C 1412.5662 717.85306 1406.8113 726.73786 1399.0527 734.24609 C 1391.2943 741.75433 1381.5325 747.63596 1369.7695 751.89062 C 1358.0066 755.89502 1344.2419 757.89844 1328.4746 757.89844 L 1274.791 757.89844 L 1274.791 828.47461 L 1328.4746 828.47461 C 1344.2419 828.47461 1358.3828 830.22662 1370.8965 833.73047 C 1383.4102 837.23431 1394.047 842.74176 1402.8066 850.25 C 1411.8165 857.50796 1418.6979 866.89166 1423.4531 878.4043 C 1428.2083 889.66666 1430.5859 903.18192 1430.5859 918.94922 C 1430.5859 947.7308 1422.3267 969.75474 1405.8086 985.02148 C 1389.5407 1000.038 1367.1427 1007.5469 1338.6113 1007.5469 C 1324.8463 1007.5469 1312.4574 1005.5454 1301.4453 1001.541 C 1290.4332 997.53661 1280.9229 992.02917 1272.9141 985.02148 C 1265.1556 977.76352 1259.1492 969.13013 1254.8945 959.11914 C 1250.6399 948.85788 1248.5117 937.72021 1248.5117 925.70703 L 1158.7891 925.70703 C 1158.7891 950.98476 1163.669 973.2601 1173.4297 992.53125 C 1183.1904 1011.5521 1196.2048 1027.5697 1212.4727 1040.584 C 1228.9908 1053.348 1248.0116 1062.9831 1269.5352 1069.4902 C 1291.0588 1075.9974 1313.7083 1079.25 1337.4844 1079.25 C 1363.2626 1079.25 1387.29 1075.7459 1409.5645 1068.7383 C 1431.8389 1061.4803 1451.1091 1051.0949 1467.377 1037.5801 C 1483.8951 1023.815 1496.7848 1006.9204 1506.0449 986.89844 C 1515.3051 966.87647 1519.9355 944.10223 1519.9355 918.57422 C 1519.9355 905.30966 1518.433 892.29525 1515.4297 879.53125 C 1512.4264 866.76724 1507.4218 854.87927 1500.4141 843.86719 C 1493.4064 832.60483 1484.2701 822.46887 1473.0078 813.45898 C 1461.7454 804.4491 1447.856 797.06687 1431.3379 791.31055 C 1445.103 785.05368 1456.991 777.42004 1467.002 768.41016 C 1477.2632 759.15 1485.6472 749.26349 1492.1543 738.75195 C 1498.9117 728.24042 1503.9163 717.35416 1507.1699 706.0918 C 1510.4235 694.82944 1512.0508 683.8165 1512.0508 673.05469 C 1512.0508 647.52668 1507.7964 625.12662 1499.2871 605.85547 C 1490.7778 586.33406 1478.8898 570.06701 1463.623 557.05273 C 1448.3563 544.03845 1429.9612 534.27667 1408.4375 527.76953 C 1386.9139 521.01212 1363.2626 517.63477 1337.4844 517.63477 z M 496.5625 525.14258 L 272.06641 608.10938 L 272.06641 686.94531 L 411.71875 635.88867 L 411.71875 1071.7422 L 502.19336 1071.7422 L 502.19336 525.14258 L 496.5625 525.14258 z &#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;recordCount (read)&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      
        &lt;/div&gt;
      
    
  
    
      
      
        
          &lt;div class=&#34;pipeline-separator pipeline-item&#34;&gt;
          &lt;/div&gt;
        
        &lt;div class=&#34;pipeline-item&#34;&gt;
        

    
  








 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#splitfilter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;SplitFilter &amp;#34;SplitFilter&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Split&#34;&gt;&lt;svg width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;m 1440,96.289062 c -9.3333,0 -17,3.000004 -23,8.999998 -6,6 -9,13.66667 -9,23 v 192 h -256 c -45.3333,0 -88,5.5 -128,16.5 -40,11 -75.5,25 -106.5,42 -31,17 -61,39.83333 -90,68.5 -29,28.66667 -53.66667,56.33333 -74,83 -8.86076,11.62068 -17.91178,24.50943 -27.15234,38.66211 -0.30342,-0.21044 -0.58959,-0.399 -0.89454,-0.61133 -2.01732,3.86655 -4.01837,7.65431 -6.0039,11.36719 -9.77563,15.4777 -19.75705,32.3274 -29.94922,50.58203 -2.11038,3.77979 -4.14474,7.47162 -6.17773,11.16211 -0.95714,1.46627 -1.92118,2.96672 -2.86915,4.38867 -14,21 -31,41.5 -51,61.5 -20,20 -43,35 -69,45 -17.14673,6.5949 -35.60697,11.00047 -55.36328,13.2461 -10.39894,-0.61233 -31.63672,-0.92969 -31.63672,-0.92969 l -228.84906,2.68359 -212.60406,0 c -9.333333,0 -17,3 -23,9 -6,6 -9,13.66667 -9,23 v 192 c 0,9.33336 3,16.99996 9,22.99996 6,6 13.666667,9 23,9 h 224 217.45312 c 10.69584,0 21.23778,-0.3173 31.63672,-0.9296 19.75631,2.2456 38.21655,6.6512 55.36328,13.246 26,10 49,25 69,45 17.743,17.743 33.11984,35.8802 46.14063,54.4102 4.44404,8.2203 9.05293,16.6317 13.90625,25.3242 22.33333,40 43.66667,73.3333 64,100 20.33333,26.6667 45,54.3333 74,83 29,28.6667 59,51.5 90,68.5 31,17 66.5,31 106.5,42 40,11 82.6667,16.5 128,16.5 h 256 v 192 c 0,9.3333 3,17 9,23 6,6 13.6667,9 23,9 8,0 16,-3.3333 24,-10 l 319,-319 c 6,-6 9,-13.6667 9,-23 0,-9.3333 -3,-17 -9,-23 L 1463,999.39062 c -6,-6 -13.6667,-9 -23,-9 -8.6667,0 -16.1667,3.16668 -22.5,9.5 -6.3333,6.33328 -9.5,13.83328 -9.5,22.49998 v 192 h -256 c -32,0 -61,-5 -87,-15 -26,-10 -49,-25 -69,-45 -20,-20 -37,-40.5 -51,-61.5 -1.53061,-2.2959 -3.07829,-4.6744 -4.63281,-7.0859 -1.40636,-3.6714 -2.87267,-7.3847 -4.41407,-11.1485 -22.33333,-40 -43.66666,-73.3332 -64,-99.99995 -19.77849,-25.93902 -43.66979,-52.82684 -71.64843,-80.6582 27.97864,-27.83136 51.86994,-54.71919 71.64843,-80.65821 8.59791,-11.27594 17.37653,-23.75802 26.33204,-37.41796 0.59631,-0.21895 1.1162,-0.41315 1.71484,-0.63282 2.01733,-3.86655 4.01837,-7.65431 6.00391,-11.36718 9.77563,-15.4777 19.75705,-32.32741 29.94921,-50.58204 -0.19533,-0.20339 -0.37752,-0.38545 -0.57226,-0.58789 3.25495,-5.22066 6.46567,-10.23268 9.61914,-14.96289 14,-21 31,-41.5 51,-61.5 20,-20 43,-35 69,-45 26,-10 55,-15 87,-15 h 256 v 192 c 0,8.66667 3.1667,16.16667 9.5,22.5 6.3333,6.33333 13.8333,9.5 22.5,9.5 9.3333,0 17,-3 23,-9 l 320,-320 c 6,-6 9,-13.66667 9,-23 0,-9.33333 -3,-17 -9,-23 l -319,-319 c -8,-6.66666 -16,-9.999998 -24,-9.999998 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;SplitFilter&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      
        &lt;/div&gt;
      
    
  
    
      
      
        
          &lt;div class=&#34;pipeline-separator pipeline-item&#34;&gt;
          &lt;/div&gt;
        
        &lt;div class=&#34;pipeline-item&#34;&gt;
        

    
  








 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#idenrichmentfilter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;IdEnrichmentFilter &amp;#34;IdEnrichmentFilter&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;ID&#34;&gt;&lt;svg xmlns:dc=&#34;http://purl.org/dc/elements/1.1/&#34; xmlns:cc=&#34;http://creativecommons.org/ns#&#34; xmlns:rdf=&#34;http://www.w3.org/1999/02/22-rdf-syntax-ns#&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; xmlns:sodipodi=&#34;http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&#34; xmlns:inkscape=&#34;http://www.inkscape.org/namespaces/inkscape&#34; version=&#34;1.1&#34; id=&#34;svg3336&#34; viewBox=&#34;0 0 1792 1792&#34; height=&#34;1792&#34; width=&#34;1792&#34; inkscape:version=&#34;0.91 r13725&#34; sodipodi:docname=&#34;id.svg&#34;&gt;&lt;sodipodi:namedview pagecolor=&#34;var(--icon-colour__white)&#34; bordercolor=&#34;#666666&#34; borderopacity=&#34;1&#34; objecttolerance=&#34;10&#34; gridtolerance=&#34;10&#34; guidetolerance=&#34;10&#34; inkscape:pageopacity=&#34;0&#34; inkscape:pageshadow=&#34;2&#34; inkscape:window-width=&#34;1730&#34; inkscape:window-height=&#34;1120&#34; id=&#34;namedview9&#34; showgrid=&#34;false&#34; inkscape:zoom=&#34;0.13169643&#34; inkscape:cx=&#34;-277.15254&#34; inkscape:cy=&#34;896&#34; inkscape:window-x=&#34;3006&#34; inkscape:window-y=&#34;147&#34; inkscape:window-maximized=&#34;0&#34; inkscape:current-layer=&#34;svg3336&#34; /&gt;&lt;metadata id=&#34;metadata3344&#34;&gt;&lt;rdf:RDF&gt;&lt;cc:Work rdf:about=&#34;&#34;&gt;&lt;dc:format&gt;image/svg+xml&lt;/dc:format&gt;&lt;dc:type rdf:resource=&#34;http://purl.org/dc/dcmitype/StillImage&#34; /&gt;&lt;dc:title /&gt;&lt;/cc:Work&gt;&lt;/rdf:RDF&gt;&lt;/metadata&gt;&lt;defs id=&#34;defs3342&#34; /&gt;&lt;path style=&#34;fill:var(--icon-colour__black);fill-opacity:1&#34; d=&#34;m 126.70508,126.41406 166.85351,0 0,1536.95894 -166.85351,0 z m 498.90625,0 342.79101,0 c 238.98996,0 414.37646,62.11053 526.16216,186.33008 111.7856,123.53325 167.6796,317.06786 167.6796,580.60547 0,264.91019 -56.1676,459.47579 -168.5039,583.69529 -112.3363,124.2196 -287.4492,186.3281 -525.33786,186.3281 l -342.79101,0 z m 166.85156,170.88672 0,1195.18552 201.54492,0 c 170.15649,0 294.60799,-48.0416 373.35349,-144.123 79.2962,-96.0814 118.9434,-247.7523 118.9434,-455.01369 0,-205.88876 -39.6472,-356.53066 -118.9434,-451.92578 -78.7455,-96.08142 -203.197,-144.12305 -373.35349,-144.12305 z&#34; id=&#34;rect3375&#34; inkscape:connector-curvature=&#34;0&#34; sodipodi:nodetypes=&#34;ccccccscsssccccscscsc&#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;IdEnrichmentFilter&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      
        &lt;/div&gt;
      
    
  
    
      
      
        
          &lt;div class=&#34;pipeline-separator pipeline-item&#34;&gt;
          &lt;/div&gt;
        
        &lt;div class=&#34;pipeline-item&#34;&gt;
        

    
  








 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#xsltfilter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;XSLTFilter &amp;#34;XSLTFilter&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Xslt&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__xsl-background)&#34; d=&#34;M 684.30664 211.38672 C 672.42766 211.38672 661.91891 215.95413 652.78125 225.0918 L 14.058594 863.81641 C 4.9209141 872.95409 0.3515625 883.46088 0.3515625 895.33984 C 0.3515625 907.21882 4.9209142 917.72756 14.058594 926.86523 L 652.78125 1565.5898 C 661.91891 1574.7275 672.42766 1579.2949 684.30664 1579.2949 C 696.1856 1579.2949 706.69435 1574.7275 715.83203 1565.5898 L 784.36523 1497.0566 C 793.5029 1487.9191 798.07031 1477.4102 798.07031 1465.5312 C 798.07031 1453.6524 793.5029 1443.1436 784.36523 1434.0059 L 245.69922 895.33984 L 784.36523 356.67578 C 793.5029 347.53811 798.07031 337.02937 798.07031 325.15039 C 798.07031 313.27142 793.5029 302.76268 784.36523 293.625 L 715.83203 225.0918 C 706.69435 215.95413 696.1856 211.38672 684.30664 211.38672 z M 1107.9082 211.38672 C 1096.0293 211.38672 1085.5225 215.95414 1076.3848 225.0918 L 1007.8516 293.625 C 998.71402 302.76268 994.14453 313.27142 994.14453 325.15039 C 994.14453 337.02937 998.71402 347.53811 1007.8516 356.67578 L 1546.5176 895.33984 L 1007.8516 1434.0059 C 998.71402 1443.1436 994.14453 1453.6523 994.14453 1465.5312 C 994.14453 1477.4102 998.71402 1487.9191 1007.8516 1497.0566 L 1076.3848 1565.5898 C 1085.5225 1574.7275 1096.0293 1579.2949 1107.9082 1579.2949 C 1119.7872 1579.2949 1130.2959 1574.7275 1139.4336 1565.5898 L 1778.1582 926.86523 C 1787.2959 917.72756 1791.8633 907.21882 1791.8633 895.33984 C 1791.8633 883.46088 1787.2959 872.95409 1778.1582 863.81641 L 1139.4336 225.0918 C 1130.2959 215.95414 1119.7872 211.38672 1107.9082 211.38672 z &#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;M 914.01562 609.75391 C 846.69543 609.75391 793.7585 624.0295 755.20508 652.58203 C 716.65166 681.13457 697.375 720.39439 697.375 770.36133 C 697.375 809.25185 709.09092 840.2669 732.51953 863.4043 C 755.94815 886.29555 800.72934 908.20094 866.86328 929.12305 L 931.36523 949.42969 C 953.90415 956.5678 971.1042 966.4135 982.9668 978.9668 C 994.82939 991.27392 1000.7617 1005.6745 1000.7617 1022.166 C 1000.7617 1044.0727 991.86421 1061.1792 974.07031 1073.4863 C 956.27643 1085.5473 931.21618 1091.5781 898.89062 1091.5781 C 866.86163 1091.5781 834.38939 1086.5313 801.4707 1076.4395 C 768.84858 1066.3477 735.03956 1050.9651 700.04492 1030.2891 L 700.04492 1142.8984 C 730.88766 1155.6978 762.76881 1165.2975 795.6875 1171.6973 C 828.90275 1178.3431 861.96998 1181.666 894.88867 1181.666 C 974.96115 1181.666 1034.719 1168.0054 1074.1621 1140.6836 C 1113.9018 1113.1156 1133.7715 1071.5169 1133.7715 1015.8887 C 1133.7715 975.02903 1121.167 941.18506 1095.959 914.35547 C 1070.751 887.52595 1031.4559 865.98759 978.07422 849.74219 L 921.57812 832.01953 C 882.43158 819.95854 856.6315 809.00586 844.17578 799.16016 C 832.01663 789.06832 825.93555 776.3917 825.93555 761.13086 C 825.93555 741.43946 834.38878 726.30288 851.29297 715.71875 C 868.19716 705.13462 892.51562 699.8418 924.24805 699.8418 C 952.71826 699.8418 981.4855 704.14869 1010.5488 712.76367 C 1039.6122 721.37867 1068.2307 733.93228 1096.4043 750.42383 L 1096.4043 644.08984 C 1066.4513 632.76728 1036.2005 624.27651 1005.6543 618.61523 C 975.10813 612.70782 944.56179 609.75391 914.01562 609.75391 z M 109.28711 619.72266 L 298.79297 891.09375 L 103.94922 1170.959 L 239.62891 1170.959 L 365.96484 988.56641 L 492.74609 1170.959 L 628.42383 1170.959 L 434.4707 891.09375 L 623.08594 619.72266 L 487.4082 619.72266 L 365.96484 795.09961 L 244.9668 619.72266 L 109.28711 619.72266 z M 1288.1328 619.72266 L 1288.1328 1170.959 L 1700.0605 1170.959 L 1700.0605 1074.9629 L 1419.3633 1074.9629 L 1419.3633 619.72266 L 1288.1328 619.72266 z &#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;XSLTFilter&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      
        &lt;/div&gt;
      
    
  
    
      
      
        
          &lt;div class=&#34;pipeline-separator pipeline-item&#34;&gt;
          &lt;/div&gt;
        
        &lt;div class=&#34;pipeline-item&#34;&gt;
        

    
  








 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#schemafilter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;SchemaFilter &amp;#34;SchemaFilter&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Xsd&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__xsd-background)&#34; d=&#34;M 684.30664 211.38672 C 672.42766 211.38672 661.91891 215.95413 652.78125 225.0918 L 14.058594 863.81641 C 4.9209141 872.95409 0.3515625 883.46088 0.3515625 895.33984 C 0.3515625 907.21882 4.9209142 917.72756 14.058594 926.86523 L 652.78125 1565.5898 C 661.91891 1574.7275 672.42766 1579.2949 684.30664 1579.2949 C 696.1856 1579.2949 706.69435 1574.7275 715.83203 1565.5898 L 784.36523 1497.0566 C 793.5029 1487.9191 798.07031 1477.4102 798.07031 1465.5312 C 798.07031 1453.6524 793.5029 1443.1436 784.36523 1434.0059 L 245.69922 895.33984 L 784.36523 356.67578 C 793.5029 347.53811 798.07031 337.02937 798.07031 325.15039 C 798.07031 313.27142 793.5029 302.76268 784.36523 293.625 L 715.83203 225.0918 C 706.69435 215.95413 696.1856 211.38672 684.30664 211.38672 z M 1107.9082 211.38672 C 1096.0293 211.38672 1085.5225 215.95414 1076.3848 225.0918 L 1007.8516 293.625 C 998.71402 302.76268 994.14453 313.27142 994.14453 325.15039 C 994.14453 337.02937 998.71402 347.53811 1007.8516 356.67578 L 1546.5176 895.33984 L 1007.8516 1434.0059 C 998.71402 1443.1436 994.14453 1453.6523 994.14453 1465.5312 C 994.14453 1477.4102 998.71402 1487.9191 1007.8516 1497.0566 L 1076.3848 1565.5898 C 1085.5225 1574.7275 1096.0293 1579.2949 1107.9082 1579.2949 C 1119.7872 1579.2949 1130.2959 1574.7275 1139.4336 1565.5898 L 1778.1582 926.86523 C 1787.2959 917.72756 1791.8633 907.21882 1791.8633 895.33984 C 1791.8633 883.46088 1787.2959 872.95409 1778.1582 863.81641 L 1139.4336 225.0918 C 1130.2959 215.95414 1119.7872 211.38672 1107.9082 211.38672 z &#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;M 914.01562 609.75391 C 846.69543 609.75391 793.7585 624.0295 755.20508 652.58203 C 716.65166 681.13457 697.375 720.39439 697.375 770.36133 C 697.375 809.25185 709.09092 840.2669 732.51953 863.4043 C 755.94815 886.29555 800.72934 908.20094 866.86328 929.12305 L 931.36523 949.42969 C 953.90415 956.5678 971.1042 966.4135 982.9668 978.9668 C 994.82939 991.27392 1000.7617 1005.6745 1000.7617 1022.166 C 1000.7617 1044.0727 991.86421 1061.1792 974.07031 1073.4863 C 956.27643 1085.5473 931.21618 1091.5781 898.89062 1091.5781 C 866.86163 1091.5781 834.38939 1086.5313 801.4707 1076.4395 C 768.84858 1066.3477 735.03956 1050.9651 700.04492 1030.2891 L 700.04492 1142.8984 C 730.88766 1155.6978 762.76881 1165.2975 795.6875 1171.6973 C 828.90275 1178.3431 861.96998 1181.666 894.88867 1181.666 C 974.96115 1181.666 1034.719 1168.0054 1074.1621 1140.6836 C 1113.9018 1113.1156 1133.7715 1071.5169 1133.7715 1015.8887 C 1133.7715 975.02903 1121.167 941.18506 1095.959 914.35547 C 1070.751 887.52595 1031.4559 865.98759 978.07422 849.74219 L 921.57812 832.01953 C 882.43158 819.95854 856.6315 809.00586 844.17578 799.16016 C 832.01663 789.06832 825.93555 776.3917 825.93555 761.13086 C 825.93555 741.43946 834.38878 726.30288 851.29297 715.71875 C 868.19716 705.13462 892.51562 699.8418 924.24805 699.8418 C 952.71826 699.8418 981.4855 704.14869 1010.5488 712.76367 C 1039.6122 721.37867 1068.2307 733.93228 1096.4043 750.42383 L 1096.4043 644.08984 C 1066.4513 632.76728 1036.2005 624.27651 1005.6543 618.61523 C 975.10813 612.70782 944.56179 609.75391 914.01562 609.75391 z M 109.28711 619.72266 L 298.79297 891.09375 L 103.94922 1170.959 L 239.62891 1170.959 L 365.96484 988.56641 L 492.74609 1170.959 L 628.42383 1170.959 L 434.4707 891.09375 L 623.08594 619.72266 L 487.4082 619.72266 L 365.96484 795.09961 L 244.9668 619.72266 L 109.28711 619.72266 z M 1248.9863 619.72266 L 1248.9863 1170.959 L 1389.5586 1170.959 C 1498.1013 1170.959 1576.2453 1149.4206 1623.9922 1106.3457 C 1671.7391 1063.0246 1695.6133 992.50568 1695.6133 894.78711 C 1695.6133 797.31467 1671.7391 727.16474 1623.9922 684.33594 C 1576.2453 641.26099 1498.1013 619.72266 1389.5586 619.72266 L 1248.9863 619.72266 z M 1380.2168 717.93359 L 1415.8047 717.93359 C 1467.407 717.93359 1504.1793 731.34819 1526.125 758.17773 C 1548.0708 785.00727 1559.0449 830.5439 1559.0449 894.78711 C 1559.0449 959.5226 1548.0708 1005.4282 1526.125 1032.5039 C 1504.1793 1059.3334 1467.407 1072.748 1415.8047 1072.748 L 1380.2168 1072.748 L 1380.2168 717.93359 z &#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;SchemaFilter&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      
        &lt;/div&gt;
      
    
  
    
      
      
        
          &lt;div class=&#34;pipeline-separator pipeline-item&#34;&gt;
          &lt;/div&gt;
        
        &lt;div class=&#34;pipeline-item&#34;&gt;
        

    
  








 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#recordcountfilter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;RecordCountFilter &amp;#34;recordCount (written)&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Record count&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;m 288,333.95508 c -26.66667,0 -49.33333,9.33333 -68,28 -18.66667,18.66666 -28,41.33333 -28,68 0.0805,246.24683 0,490.77231 0,736.97462 0,26.6667 9.33333,49.3333 28,68 18.66667,18.6667 41.33333,28 68,28 l 1216,0 c 26.6667,0 49.3333,-9.3333 68,-28 18.6667,-18.6667 28,-41.3333 28,-68 -0.078,-246.27922 0,-490.86553 0,-736.97462 0,-26.66667 -9.3333,-49.33334 -28,-68 -18.6667,-18.66667 -41.3333,-28 -68,-28 z&#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__white)&#34; d=&#34;M 877.22852 517.63477 C 848.44694 517.63477 822.54479 522.26523 799.51953 531.52539 C 776.49426 540.53528 756.84792 552.92215 740.58008 568.68945 C 724.5625 584.45675 712.17368 602.97861 703.41406 624.25195 C 694.90473 645.27502 690.65039 667.67313 690.65039 691.44922 L 780.74805 691.44922 C 780.74805 660.16489 788.38168 635.63863 803.64844 617.86914 C 819.16546 600.09964 843.19282 591.21484 875.72852 591.21484 C 888.24225 591.21484 899.50464 593.34299 909.51562 597.59766 C 919.77689 601.85232 928.41028 607.85867 935.41797 615.61719 C 942.67594 623.12543 948.18143 632.25968 951.93555 643.02148 C 955.93994 653.53302 957.94336 665.04681 957.94336 677.56055 C 957.94336 687.07098 956.6922 696.45468 954.18945 705.71484 C 951.68671 714.975 947.43237 724.98624 941.42578 735.74805 C 935.41919 746.50985 927.2847 758.39783 917.02344 771.41211 C 907.01246 784.17612 894.4989 798.94254 879.48242 815.71094 L 701.53711 1009.7988 L 701.53711 1071.7422 L 1068.6895 1071.7422 L 1068.6895 1000.0391 L 813.0332 1000.0391 L 936.91992 867.14258 C 952.68722 850.37418 967.32892 834.10714 980.84375 818.33984 C 994.35856 802.32227 1005.9951 786.42941 1015.7559 770.66211 C 1025.5166 754.89481 1033.1502 739.12668 1038.6562 723.35938 C 1044.1623 707.3418 1046.916 690.82531 1046.916 673.80664 C 1046.916 651.03165 1043.1606 630.1322 1035.6523 611.11133 C 1028.1441 592.09046 1017.1331 575.6987 1002.6172 561.93359 C 988.10125 547.91822 970.33166 537.03 949.30859 529.27148 C 928.28553 521.51297 904.25818 517.63477 877.22852 517.63477 z M 1337.4844 517.63477 C 1312.2066 517.63477 1288.9315 521.51297 1267.6582 529.27148 C 1246.3849 536.77972 1227.9897 547.29181 1212.4727 560.80664 C 1197.2059 574.07119 1185.1932 589.83933 1176.4336 608.10938 C 1167.9243 626.37941 1163.668 646.27521 1163.668 667.79883 L 1253.3926 667.79883 C 1253.3926 655.78565 1255.5188 645.02411 1259.7734 635.51367 C 1264.0281 626.00324 1269.9097 617.86874 1277.418 611.11133 C 1285.1765 604.35391 1294.1861 599.22455 1304.4473 595.7207 C 1314.9588 591.96658 1326.3479 590.08789 1338.6113 590.08789 C 1366.6421 590.08789 1387.5396 597.34735 1401.3047 611.86328 C 1415.3201 626.12893 1422.3281 646.52558 1422.3281 673.05469 C 1422.3281 685.56842 1420.3247 697.08026 1416.3203 707.5918 C 1412.5662 717.85306 1406.8113 726.73786 1399.0527 734.24609 C 1391.2943 741.75433 1381.5325 747.63596 1369.7695 751.89062 C 1358.0066 755.89502 1344.2419 757.89844 1328.4746 757.89844 L 1274.791 757.89844 L 1274.791 828.47461 L 1328.4746 828.47461 C 1344.2419 828.47461 1358.3828 830.22662 1370.8965 833.73047 C 1383.4102 837.23431 1394.047 842.74176 1402.8066 850.25 C 1411.8165 857.50796 1418.6979 866.89166 1423.4531 878.4043 C 1428.2083 889.66666 1430.5859 903.18192 1430.5859 918.94922 C 1430.5859 947.7308 1422.3267 969.75474 1405.8086 985.02148 C 1389.5407 1000.038 1367.1427 1007.5469 1338.6113 1007.5469 C 1324.8463 1007.5469 1312.4574 1005.5454 1301.4453 1001.541 C 1290.4332 997.53661 1280.9229 992.02917 1272.9141 985.02148 C 1265.1556 977.76352 1259.1492 969.13013 1254.8945 959.11914 C 1250.6399 948.85788 1248.5117 937.72021 1248.5117 925.70703 L 1158.7891 925.70703 C 1158.7891 950.98476 1163.669 973.2601 1173.4297 992.53125 C 1183.1904 1011.5521 1196.2048 1027.5697 1212.4727 1040.584 C 1228.9908 1053.348 1248.0116 1062.9831 1269.5352 1069.4902 C 1291.0588 1075.9974 1313.7083 1079.25 1337.4844 1079.25 C 1363.2626 1079.25 1387.29 1075.7459 1409.5645 1068.7383 C 1431.8389 1061.4803 1451.1091 1051.0949 1467.377 1037.5801 C 1483.8951 1023.815 1496.7848 1006.9204 1506.0449 986.89844 C 1515.3051 966.87647 1519.9355 944.10223 1519.9355 918.57422 C 1519.9355 905.30966 1518.433 892.29525 1515.4297 879.53125 C 1512.4264 866.76724 1507.4218 854.87927 1500.4141 843.86719 C 1493.4064 832.60483 1484.2701 822.46887 1473.0078 813.45898 C 1461.7454 804.4491 1447.856 797.06687 1431.3379 791.31055 C 1445.103 785.05368 1456.991 777.42004 1467.002 768.41016 C 1477.2632 759.15 1485.6472 749.26349 1492.1543 738.75195 C 1498.9117 728.24042 1503.9163 717.35416 1507.1699 706.0918 C 1510.4235 694.82944 1512.0508 683.8165 1512.0508 673.05469 C 1512.0508 647.52668 1507.7964 625.12662 1499.2871 605.85547 C 1490.7778 586.33406 1478.8898 570.06701 1463.623 557.05273 C 1448.3563 544.03845 1429.9612 534.27667 1408.4375 527.76953 C 1386.9139 521.01212 1363.2626 517.63477 1337.4844 517.63477 z M 496.5625 525.14258 L 272.06641 608.10938 L 272.06641 686.94531 L 411.71875 635.88867 L 411.71875 1071.7422 L 502.19336 1071.7422 L 502.19336 525.14258 L 496.5625 525.14258 z &#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;recordCount (written)&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      
        &lt;/div&gt;
      
    
  
    
      
      
        
          &lt;div class=&#34;pipeline-separator pipeline-item&#34;&gt;
          &lt;/div&gt;
        
        &lt;div class=&#34;pipeline-item&#34;&gt;
        

    
  








 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#xmlwriter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;XMLWriter &amp;#34;XMLWriter&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Xml&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__xml-background)&#34; d=&#34;M 684.30664 211.38672 C 672.42766 211.38672 661.91891 215.95413 652.78125 225.0918 L 14.058594 863.81641 C 4.9209141 872.95409 0.3515625 883.46088 0.3515625 895.33984 C 0.3515625 907.21882 4.9209142 917.72756 14.058594 926.86523 L 652.78125 1565.5898 C 661.91891 1574.7275 672.42766 1579.2949 684.30664 1579.2949 C 696.1856 1579.2949 706.69435 1574.7275 715.83203 1565.5898 L 784.36523 1497.0566 C 793.5029 1487.9191 798.07031 1477.4102 798.07031 1465.5312 C 798.07031 1453.6524 793.5029 1443.1436 784.36523 1434.0059 L 245.69922 895.33984 L 784.36523 356.67578 C 793.5029 347.53811 798.07031 337.02937 798.07031 325.15039 C 798.07031 313.27142 793.5029 302.76268 784.36523 293.625 L 715.83203 225.0918 C 706.69435 215.95413 696.1856 211.38672 684.30664 211.38672 z M 1107.9082 211.38672 C 1096.0293 211.38672 1085.5225 215.95414 1076.3848 225.0918 L 1007.8516 293.625 C 998.71402 302.76268 994.14453 313.27142 994.14453 325.15039 C 994.14453 337.02937 998.71402 347.53811 1007.8516 356.67578 L 1546.5176 895.33984 L 1007.8516 1434.0059 C 998.71402 1443.1436 994.14453 1453.6523 994.14453 1465.5312 C 994.14453 1477.4102 998.71402 1487.9191 1007.8516 1497.0566 L 1076.3848 1565.5898 C 1085.5225 1574.7275 1096.0293 1579.2949 1107.9082 1579.2949 C 1119.7872 1579.2949 1130.2959 1574.7275 1139.4336 1565.5898 L 1778.1582 926.86523 C 1787.2959 917.72756 1791.8633 907.21882 1791.8633 895.33984 C 1791.8633 883.46088 1787.2959 872.95409 1778.1582 863.81641 L 1139.4336 225.0918 C 1130.2959 215.95414 1119.7872 211.38672 1107.9082 211.38672 z &#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;M 109.28711 619.72266 L 298.79297 891.09375 L 103.94922 1170.959 L 239.62891 1170.959 L 365.96484 988.56641 L 492.74609 1170.959 L 628.42383 1170.959 L 434.4707 891.09375 L 623.08594 619.72266 L 487.4082 619.72266 L 365.96484 795.09961 L 244.9668 619.72266 L 109.28711 619.72266 z M 678.24805 619.72266 L 678.24805 1170.959 L 791.23828 1170.959 L 791.23828 729.37891 L 862.41406 970.47656 L 966.95312 970.47656 L 1037.2383 729.37891 L 1037.2383 1170.959 L 1150.2305 1170.959 L 1150.2305 619.72266 L 992.75391 619.72266 L 914.01562 861.55664 L 834.83398 619.72266 L 678.24805 619.72266 z M 1288.1328 619.72266 L 1288.1328 1170.959 L 1700.0605 1170.959 L 1700.0605 1074.9629 L 1419.3633 1074.9629 L 1419.3633 619.72266 L 1288.1328 619.72266 z &#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;XMLWriter&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      
        &lt;/div&gt;
      
    
  
    
      
      
        
          &lt;div class=&#34;pipeline-separator pipeline-item&#34;&gt;
          &lt;/div&gt;
        
        &lt;div class=&#34;pipeline-item&#34;&gt;
        

    
  








 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#streamappender&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;StreamAppender &amp;#34;StreamAppender&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Stream&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;M 499.42773 349.50586 C 471.2255 349.65535 443.05802 352.21777 415.25195 357.10156 C 314.29291 374.83377 218.08985 423.16111 142.17383 497.58398 C 120.16923 517.22845 82.017578 562.56836 82.017578 562.56836 L 17.439453 647.62891 C 11.715074 655.16906 9.4362619 663.20332 10.603516 671.73047 C 11.770779 680.25761 16.123954 687.38299 23.664062 693.10742 L 178.77539 810.86523 C 186.3155 816.58967 194.34977 818.87035 202.87695 817.70312 C 211.40415 816.53588 218.95139 812.4832 224.25391 804.64062 C 252.73415 758.03917 266.71282 735.64156 320.53711 677.81836 C 409.46174 596.02665 519.53665 566.34857 644.56055 635.73047 C 814.48739 738.37221 971.75585 900.37132 1180.918 905.55859 C 1209.7108 905.57829 1251.7809 901.38952 1283.5625 895.00391 C 1384.5214 877.27168 1480.7245 828.94644 1556.6406 754.52344 C 1578.6452 734.87902 1616.7969 689.53906 1616.7969 689.53906 L 1681.375 604.47852 C 1687.0993 596.93839 1689.3762 588.90409 1688.209 580.37695 C 1687.0417 571.8498 1682.6905 564.72444 1675.1504 559 L 1520.0391 441.24219 C 1512.499 435.51777 1504.4646 433.23706 1495.9375 434.4043 C 1487.4102 435.57155 1479.8631 439.62422 1474.5605 447.4668 C 1446.0803 494.06826 1432.1016 516.46587 1378.2773 574.28906 C 1348.8635 601.34351 1316.4063 622.69518 1281.6191 636.6543 C 1067.6463 709.61943 913.77105 505.66893 745.44531 415.86719 C 668.96293 370.33416 584.03444 349.05738 499.42773 349.50586 z M 594.88477 897.21094 C 566.68253 897.36043 538.51505 899.92285 510.70898 904.80664 C 409.74993 922.53885 313.54689 970.86407 237.63086 1045.2871 C 215.62627 1064.9315 177.47266 1110.2734 177.47266 1110.2734 L 112.89648 1195.332 C 107.1721 1202.8722 104.89329 1210.9084 106.06055 1219.4355 C 107.22781 1227.9627 111.58098 1235.086 119.12109 1240.8105 L 274.23242 1358.5684 C 281.77254 1364.2928 289.80483 1366.5734 298.33203 1365.4062 C 306.85921 1364.239 314.4084 1360.1864 319.71094 1352.3438 C 348.19118 1305.7423 362.16986 1283.3466 415.99414 1225.5234 C 504.91877 1143.7317 614.99368 1114.0536 740.01758 1183.4355 C 909.94442 1286.0772 1067.2128 1448.0744 1276.375 1453.2617 C 1305.1678 1453.2817 1347.2362 1449.0945 1379.0176 1442.709 C 1479.9765 1424.9767 1576.1817 1376.6515 1652.0977 1302.2285 C 1674.1023 1282.584 1712.2539 1237.2441 1712.2539 1237.2441 L 1776.832 1152.1836 C 1782.5562 1144.6434 1784.8333 1136.6091 1783.666 1128.082 C 1782.4987 1119.5548 1778.1456 1112.4295 1770.6055 1106.7051 L 1615.4941 988.94727 C 1607.9538 983.22287 1599.9217 980.94208 1591.3945 982.10938 C 1582.8673 983.27657 1575.3182 987.32927 1570.0156 995.17188 C 1541.5354 1041.7734 1527.5567 1064.169 1473.7324 1121.9922 C 1444.3187 1149.0467 1411.8635 1170.4003 1377.0762 1184.3594 C 1163.1036 1257.3246 1009.2262 1053.3739 840.90039 963.57227 C 764.41799 918.0392 679.49147 896.76246 594.88477 897.21094 z &#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;StreamAppender&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      
        &lt;/div&gt;
      
    
  
    
      
      
    
  
&lt;/div&gt;


&lt;h2 id=&#34;input-data&#34;&gt;Input Data&lt;/h2&gt;
&lt;p&gt;Pipelines process data in batches.
This batch of data is referred to as a &lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/s/glossary-stream&#34;&gt;
      &lt;span&gt;Stream&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;Stream&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;A Stream is the unit of data that Stroom works with and will typically contain many &lt;em&gt;Events&lt;/em&gt;.&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;.
The input for the pipeline is a single Stream that exists within a Feed and this data is fed into the left-hand side of the pipeline at 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#source&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;Source &amp;#34;Source&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Stream&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;M 499.42773 349.50586 C 471.2255 349.65535 443.05802 352.21777 415.25195 357.10156 C 314.29291 374.83377 218.08985 423.16111 142.17383 497.58398 C 120.16923 517.22845 82.017578 562.56836 82.017578 562.56836 L 17.439453 647.62891 C 11.715074 655.16906 9.4362619 663.20332 10.603516 671.73047 C 11.770779 680.25761 16.123954 687.38299 23.664062 693.10742 L 178.77539 810.86523 C 186.3155 816.58967 194.34977 818.87035 202.87695 817.70312 C 211.40415 816.53588 218.95139 812.4832 224.25391 804.64062 C 252.73415 758.03917 266.71282 735.64156 320.53711 677.81836 C 409.46174 596.02665 519.53665 566.34857 644.56055 635.73047 C 814.48739 738.37221 971.75585 900.37132 1180.918 905.55859 C 1209.7108 905.57829 1251.7809 901.38952 1283.5625 895.00391 C 1384.5214 877.27168 1480.7245 828.94644 1556.6406 754.52344 C 1578.6452 734.87902 1616.7969 689.53906 1616.7969 689.53906 L 1681.375 604.47852 C 1687.0993 596.93839 1689.3762 588.90409 1688.209 580.37695 C 1687.0417 571.8498 1682.6905 564.72444 1675.1504 559 L 1520.0391 441.24219 C 1512.499 435.51777 1504.4646 433.23706 1495.9375 434.4043 C 1487.4102 435.57155 1479.8631 439.62422 1474.5605 447.4668 C 1446.0803 494.06826 1432.1016 516.46587 1378.2773 574.28906 C 1348.8635 601.34351 1316.4063 622.69518 1281.6191 636.6543 C 1067.6463 709.61943 913.77105 505.66893 745.44531 415.86719 C 668.96293 370.33416 584.03444 349.05738 499.42773 349.50586 z M 594.88477 897.21094 C 566.68253 897.36043 538.51505 899.92285 510.70898 904.80664 C 409.74993 922.53885 313.54689 970.86407 237.63086 1045.2871 C 215.62627 1064.9315 177.47266 1110.2734 177.47266 1110.2734 L 112.89648 1195.332 C 107.1721 1202.8722 104.89329 1210.9084 106.06055 1219.4355 C 107.22781 1227.9627 111.58098 1235.086 119.12109 1240.8105 L 274.23242 1358.5684 C 281.77254 1364.2928 289.80483 1366.5734 298.33203 1365.4062 C 306.85921 1364.239 314.4084 1360.1864 319.71094 1352.3438 C 348.19118 1305.7423 362.16986 1283.3466 415.99414 1225.5234 C 504.91877 1143.7317 614.99368 1114.0536 740.01758 1183.4355 C 909.94442 1286.0772 1067.2128 1448.0744 1276.375 1453.2617 C 1305.1678 1453.2817 1347.2362 1449.0945 1379.0176 1442.709 C 1479.9765 1424.9767 1576.1817 1376.6515 1652.0977 1302.2285 C 1674.1023 1282.584 1712.2539 1237.2441 1712.2539 1237.2441 L 1776.832 1152.1836 C 1782.5562 1144.6434 1784.8333 1136.6091 1783.666 1128.082 C 1782.4987 1119.5548 1778.1456 1112.4295 1770.6055 1106.7051 L 1615.4941 988.94727 C 1607.9538 983.22287 1599.9217 980.94208 1591.3945 982.10938 C 1582.8673 983.27657 1575.3182 987.32927 1570.0156 995.17188 C 1541.5354 1041.7734 1527.5567 1064.169 1473.7324 1121.9922 C 1444.3187 1149.0467 1411.8635 1170.4003 1377.0762 1184.3594 C 1163.1036 1257.3246 1009.2262 1053.3739 840.90039 963.57227 C 764.41799 918.0392 679.49147 896.76246 594.88477 897.21094 z &#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;Source&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







.
Pipelines can accept streams from multiple Feeds assuming those feeds contain similar data.&lt;/p&gt;
&lt;p&gt;The data in the Stream is always text data (XML, JSON, CSV, fixed-width, etc.) in a known &lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/c/glossary-character-encoding&#34;&gt;
      &lt;span&gt;Character encoding&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;Character encoding&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;&lt;em&gt;Character Encoding&lt;/em&gt; is the means of encoding character data (i.e. text) into binary form. Therefore to decode character data from a stream of bytes, the character encoding must be known (or guessed).&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;.
Stroom does not currently support processing binary formats.&lt;/p&gt;
&lt;h2 id=&#34;xml&#34;&gt;XML&lt;/h2&gt;
&lt;p&gt;The working format for pipeline processing is &lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/x/glossary-xml&#34;&gt;
      &lt;span&gt;XML&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;XML&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;E&lt;strong&gt;x&lt;/strong&gt;tensible &lt;strong&gt;M&lt;/strong&gt;arkup &lt;strong&gt;L&lt;/strong&gt;anguage is a markup language for storing/transmitting structured data. It is the working format for most &lt;em&gt;Pipeline&lt;/em&gt; processing in Stroom and is the standard normalised format for event data.&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; (with the exception of raw streaming).
Data can be input and output in other forms, e.g. JSON, CSV, fixed-width, etc. but the majority of pipelines do most of their processing in XML.
Input data is converted into XML &lt;span class=&#34;external-link&#34;&gt;
  &lt;a href=&#34;https://en.wikipedia.org/wiki/Simple_API_for_XML&#34; target=&#34;_blank&#34; class=&#34;external-link&#34; title=&#34;SAX (external link to https://en.wikipedia.org/wiki/Simple_API_for_XML)&#34;&gt;
    &lt;span&gt;SAX&lt;/span&gt;
    &lt;i class=&#34;external-link-icon fas fa-external-link-alt fa-sm text-secondary&#34;&gt;&lt;/i&gt;
  &lt;/a&gt;
&lt;/span&gt;
 events, processed using &lt;a href=&#34;../../docs/user-guide/pipelines/xslt/&#34;&gt;XSLT&lt;/a&gt; to transform it into different shapes of XML then either consumed as XML (e.g. an 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#indexingfilter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;IndexingFilter &amp;#34;IndexingFilter&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Index&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__orange)&#34; d=&#34;M896 768q237 0 443-43t325-127v170q0 69-103 128t-280 93.5-385 34.5-385-34.5-280-93.5-103-128v-170q119 84 325 127t443 43zm0 768q237 0 443-43t325-127v170q0 69-103 128t-280 93.5-385 34.5-385-34.5-280-93.5-103-128v-170q119 84 325 127t443 43zm0-384q237 0 443-43t325-127v170q0 69-103 128t-280 93.5-385 34.5-385-34.5-280-93.5-103-128v-170q119 84 325 127t443 43zm0-1152q208 0 385 34.5t280 93.5 103 128v128q0 69-103 128t-280 93.5-385 34.5-385-34.5-280-93.5-103-128v-128q0-69 103-128t280-93.5 385-34.5z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;IndexingFilter&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







) or converted into a desired output format for storage/forwarding.&lt;/p&gt;
&lt;h2 id=&#34;forks&#34;&gt;Forks&lt;/h2&gt;
&lt;p&gt;Pipelines can also be forked at any point in the pipeline.
This allows the same data to be processed in different ways.&lt;/p&gt;

&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;


    Rather than creating complicated pipelines with forks, it is sometimes better to create multiple pipelines as this makes it easier to handle errors in one fork of the processing.
It also makes it easier to re-use common simple pipelines.
For example if you have a pipeline to transform CSV events into normalised XML then index it and forward it to a remote server, it may be better to have a pipeline to cook the events, then a common one to index those XML events and one to forward XML events.

&lt;/div&gt;


&lt;h2 id=&#34;pipeline-inheritance&#34;&gt;Pipeline Inheritance&lt;/h2&gt;
&lt;p&gt;It is possible for pipelines to inherit from other pipelines.
This allows for the creation of a standard abstract pipelines with a set structure, though not fully configured, to be inherited by many concrete pipelines.&lt;/p&gt;
&lt;p&gt;For example you may have a standard pipeline for indexing XML events, i.e. read XML data and pass it to an 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#indexingfilter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;IndexingFilter &amp;#34;IndexingFilter&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Index&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__orange)&#34; d=&#34;M896 768q237 0 443-43t325-127v170q0 69-103 128t-280 93.5-385 34.5-385-34.5-280-93.5-103-128v-170q119 84 325 127t443 43zm0 768q237 0 443-43t325-127v170q0 69-103 128t-280 93.5-385 34.5-385-34.5-280-93.5-103-128v-170q119 84 325 127t443 43zm0-384q237 0 443-43t325-127v170q0 69-103 128t-280 93.5-385 34.5-385-34.5-280-93.5-103-128v-170q119 84 325 127t443 43zm0-1152q208 0 385 34.5t280 93.5 103 128v128q0 69-103 128t-280 93.5-385 34.5-385-34.5-280-93.5-103-128v-128q0-69 103-128t280-93.5 385-34.5z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;IndexingFilter&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







, but the IndexingFilter is not configured with the actual Index &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Index&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__orange)&#34; d=&#34;M896 768q237 0 443-43t325-127v170q0 69-103 128t-280 93.5-385 34.5-385-34.5-280-93.5-103-128v-170q119 84 325 127t443 43zm0 768q237 0 443-43t325-127v170q0 69-103 128t-280 93.5-385 34.5-385-34.5-280-93.5-103-128v-170q119 84 325 127t443 43zm0-384q237 0 443-43t325-127v170q0 69-103 128t-280 93.5-385 34.5-385-34.5-280-93.5-103-128v-170q119 84 325 127t443 43zm0-1152q208 0 385 34.5t280 93.5 103 128v128q0 69-103 128t-280 93.5-385 34.5-385-34.5-280-93.5-103-128v-128q0-69 103-128t280-93.5 385-34.5z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; to send documents to.
A pipeline that inherits this one can then be simply configured with the Index &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Index&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__orange)&#34; d=&#34;M896 768q237 0 443-43t325-127v170q0 69-103 128t-280 93.5-385 34.5-385-34.5-280-93.5-103-128v-170q119 84 325 127t443 43zm0 768q237 0 443-43t325-127v170q0 69-103 128t-280 93.5-385 34.5-385-34.5-280-93.5-103-128v-170q119 84 325 127t443 43zm0-384q237 0 443-43t325-127v170q0 69-103 128t-280 93.5-385 34.5-385-34.5-280-93.5-103-128v-170q119 84 325 127t443 43zm0-1152q208 0 385 34.5t280 93.5 103 128v128q0 69-103 128t-280 93.5-385 34.5-385-34.5-280-93.5-103-128v-128q0-69 103-128t280-93.5 385-34.5z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; to use.&lt;/p&gt;
&lt;p&gt;Pipeline inheritance allows for changes to the inherited structure, e.g. adding additional elements in line.
Multi level inheritance is also supported.&lt;/p&gt;
&lt;h2 id=&#34;pipeline-element-types&#34;&gt;Pipeline Element Types&lt;/h2&gt;
&lt;p&gt;Stroom has a number of categories of pipeline element.&lt;/p&gt;
&lt;h3 id=&#34;reader&#34;&gt;Reader&lt;/h3&gt;
&lt;p&gt;Readers are responsible for reading the raw bytes of the input data and converting it to character data using the Feed&amp;rsquo;s character encoding.
They also provide functionality to modify the data before or after it is decoded to characters, e.g. &lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/b/glossary-byte-order-mark&#34;&gt;
      &lt;span&gt;Byte order mark&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;Byte order mark&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;A special Unicode character at the start of a text stream that indicates the byte order (or endianness) of the stream.&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; removal, or doing find/replace on the character data.
You can chain multiple Readers.&lt;/p&gt;
&lt;h3 id=&#34;parser&#34;&gt;Parser&lt;/h3&gt;
&lt;p&gt;A parser is designed to convert the character data into XML for processing.
For example, the 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#jsonparser&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;JSONParser &amp;#34;JSONParser&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;JSON&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;m 838.79102,128.16797 539.12698,0 0,1062.61323 c 0,146.8389 -43.2697,262.5192 -129.8106,347.0411 -86.5408,83.8055 -205.0476,125.707 -355.51951,125.707 -279.1137,0 -444.78903,-132.5129 -497.02539,-397.5391 l 218.69141,-33.3066 c 14.03365,83.0893 45.60879,147.914 94.72656,194.4726 49.11778,46.5587 110.71086,69.8379 184.77734,69.8379 81.08331,0 145.01409,-25.4287 191.79299,-76.2851 46.7788,-51.5727 70.168,-126.7833 70.168,-225.6309 l 0,-899.2988 -316.92778,0 z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;JSONParser&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







 will use a JSON parser to read the character data as JSON and convert it into XML elements and attributes that represent the JSON structure, so that it can be transformed downstream using XSLT.&lt;/p&gt;
&lt;p&gt;Parsers have a built in reader so if they are not preceded by a Reader they will decode the raw bytes into character data before parsing.&lt;/p&gt;
&lt;h3 id=&#34;filter&#34;&gt;Filter&lt;/h3&gt;
&lt;p&gt;A filter is an element that handles XML SAX events (e.g. element, attribute, character data, etc.) and can either return those events unchanged or modify them.
An example of Filter is an 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#xsltfilter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;XSLTFilter &amp;#34;XSLTFilter&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Xslt&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__xsl-background)&#34; d=&#34;M 684.30664 211.38672 C 672.42766 211.38672 661.91891 215.95413 652.78125 225.0918 L 14.058594 863.81641 C 4.9209141 872.95409 0.3515625 883.46088 0.3515625 895.33984 C 0.3515625 907.21882 4.9209142 917.72756 14.058594 926.86523 L 652.78125 1565.5898 C 661.91891 1574.7275 672.42766 1579.2949 684.30664 1579.2949 C 696.1856 1579.2949 706.69435 1574.7275 715.83203 1565.5898 L 784.36523 1497.0566 C 793.5029 1487.9191 798.07031 1477.4102 798.07031 1465.5312 C 798.07031 1453.6524 793.5029 1443.1436 784.36523 1434.0059 L 245.69922 895.33984 L 784.36523 356.67578 C 793.5029 347.53811 798.07031 337.02937 798.07031 325.15039 C 798.07031 313.27142 793.5029 302.76268 784.36523 293.625 L 715.83203 225.0918 C 706.69435 215.95413 696.1856 211.38672 684.30664 211.38672 z M 1107.9082 211.38672 C 1096.0293 211.38672 1085.5225 215.95414 1076.3848 225.0918 L 1007.8516 293.625 C 998.71402 302.76268 994.14453 313.27142 994.14453 325.15039 C 994.14453 337.02937 998.71402 347.53811 1007.8516 356.67578 L 1546.5176 895.33984 L 1007.8516 1434.0059 C 998.71402 1443.1436 994.14453 1453.6523 994.14453 1465.5312 C 994.14453 1477.4102 998.71402 1487.9191 1007.8516 1497.0566 L 1076.3848 1565.5898 C 1085.5225 1574.7275 1096.0293 1579.2949 1107.9082 1579.2949 C 1119.7872 1579.2949 1130.2959 1574.7275 1139.4336 1565.5898 L 1778.1582 926.86523 C 1787.2959 917.72756 1791.8633 907.21882 1791.8633 895.33984 C 1791.8633 883.46088 1787.2959 872.95409 1778.1582 863.81641 L 1139.4336 225.0918 C 1130.2959 215.95414 1119.7872 211.38672 1107.9082 211.38672 z &#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;M 914.01562 609.75391 C 846.69543 609.75391 793.7585 624.0295 755.20508 652.58203 C 716.65166 681.13457 697.375 720.39439 697.375 770.36133 C 697.375 809.25185 709.09092 840.2669 732.51953 863.4043 C 755.94815 886.29555 800.72934 908.20094 866.86328 929.12305 L 931.36523 949.42969 C 953.90415 956.5678 971.1042 966.4135 982.9668 978.9668 C 994.82939 991.27392 1000.7617 1005.6745 1000.7617 1022.166 C 1000.7617 1044.0727 991.86421 1061.1792 974.07031 1073.4863 C 956.27643 1085.5473 931.21618 1091.5781 898.89062 1091.5781 C 866.86163 1091.5781 834.38939 1086.5313 801.4707 1076.4395 C 768.84858 1066.3477 735.03956 1050.9651 700.04492 1030.2891 L 700.04492 1142.8984 C 730.88766 1155.6978 762.76881 1165.2975 795.6875 1171.6973 C 828.90275 1178.3431 861.96998 1181.666 894.88867 1181.666 C 974.96115 1181.666 1034.719 1168.0054 1074.1621 1140.6836 C 1113.9018 1113.1156 1133.7715 1071.5169 1133.7715 1015.8887 C 1133.7715 975.02903 1121.167 941.18506 1095.959 914.35547 C 1070.751 887.52595 1031.4559 865.98759 978.07422 849.74219 L 921.57812 832.01953 C 882.43158 819.95854 856.6315 809.00586 844.17578 799.16016 C 832.01663 789.06832 825.93555 776.3917 825.93555 761.13086 C 825.93555 741.43946 834.38878 726.30288 851.29297 715.71875 C 868.19716 705.13462 892.51562 699.8418 924.24805 699.8418 C 952.71826 699.8418 981.4855 704.14869 1010.5488 712.76367 C 1039.6122 721.37867 1068.2307 733.93228 1096.4043 750.42383 L 1096.4043 644.08984 C 1066.4513 632.76728 1036.2005 624.27651 1005.6543 618.61523 C 975.10813 612.70782 944.56179 609.75391 914.01562 609.75391 z M 109.28711 619.72266 L 298.79297 891.09375 L 103.94922 1170.959 L 239.62891 1170.959 L 365.96484 988.56641 L 492.74609 1170.959 L 628.42383 1170.959 L 434.4707 891.09375 L 623.08594 619.72266 L 487.4082 619.72266 L 365.96484 795.09961 L 244.9668 619.72266 L 109.28711 619.72266 z M 1288.1328 619.72266 L 1288.1328 1170.959 L 1700.0605 1170.959 L 1700.0605 1074.9629 L 1419.3633 1074.9629 L 1419.3633 619.72266 L 1288.1328 619.72266 z &#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;XSLTFilter&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







 element.
Multiple filters can be chained, with each one consuming the events output by the one preceding it, therefore you can have lots of common reusable XSLTFilters that all do small incremental changes to a document.&lt;/p&gt;
&lt;h3 id=&#34;writer&#34;&gt;Writer&lt;/h3&gt;
&lt;p&gt;A writer is an element that handles XML SAX events (e.g. element, attribute, character data, etc.) and converts them into encoded character data (using a specified encoding) of some form.
The preceding filter may have been an 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#xsltfilter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;XSLTFilter &amp;#34;XSLTFilter&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Xslt&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__xsl-background)&#34; d=&#34;M 684.30664 211.38672 C 672.42766 211.38672 661.91891 215.95413 652.78125 225.0918 L 14.058594 863.81641 C 4.9209141 872.95409 0.3515625 883.46088 0.3515625 895.33984 C 0.3515625 907.21882 4.9209142 917.72756 14.058594 926.86523 L 652.78125 1565.5898 C 661.91891 1574.7275 672.42766 1579.2949 684.30664 1579.2949 C 696.1856 1579.2949 706.69435 1574.7275 715.83203 1565.5898 L 784.36523 1497.0566 C 793.5029 1487.9191 798.07031 1477.4102 798.07031 1465.5312 C 798.07031 1453.6524 793.5029 1443.1436 784.36523 1434.0059 L 245.69922 895.33984 L 784.36523 356.67578 C 793.5029 347.53811 798.07031 337.02937 798.07031 325.15039 C 798.07031 313.27142 793.5029 302.76268 784.36523 293.625 L 715.83203 225.0918 C 706.69435 215.95413 696.1856 211.38672 684.30664 211.38672 z M 1107.9082 211.38672 C 1096.0293 211.38672 1085.5225 215.95414 1076.3848 225.0918 L 1007.8516 293.625 C 998.71402 302.76268 994.14453 313.27142 994.14453 325.15039 C 994.14453 337.02937 998.71402 347.53811 1007.8516 356.67578 L 1546.5176 895.33984 L 1007.8516 1434.0059 C 998.71402 1443.1436 994.14453 1453.6523 994.14453 1465.5312 C 994.14453 1477.4102 998.71402 1487.9191 1007.8516 1497.0566 L 1076.3848 1565.5898 C 1085.5225 1574.7275 1096.0293 1579.2949 1107.9082 1579.2949 C 1119.7872 1579.2949 1130.2959 1574.7275 1139.4336 1565.5898 L 1778.1582 926.86523 C 1787.2959 917.72756 1791.8633 907.21882 1791.8633 895.33984 C 1791.8633 883.46088 1787.2959 872.95409 1778.1582 863.81641 L 1139.4336 225.0918 C 1130.2959 215.95414 1119.7872 211.38672 1107.9082 211.38672 z &#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;M 914.01562 609.75391 C 846.69543 609.75391 793.7585 624.0295 755.20508 652.58203 C 716.65166 681.13457 697.375 720.39439 697.375 770.36133 C 697.375 809.25185 709.09092 840.2669 732.51953 863.4043 C 755.94815 886.29555 800.72934 908.20094 866.86328 929.12305 L 931.36523 949.42969 C 953.90415 956.5678 971.1042 966.4135 982.9668 978.9668 C 994.82939 991.27392 1000.7617 1005.6745 1000.7617 1022.166 C 1000.7617 1044.0727 991.86421 1061.1792 974.07031 1073.4863 C 956.27643 1085.5473 931.21618 1091.5781 898.89062 1091.5781 C 866.86163 1091.5781 834.38939 1086.5313 801.4707 1076.4395 C 768.84858 1066.3477 735.03956 1050.9651 700.04492 1030.2891 L 700.04492 1142.8984 C 730.88766 1155.6978 762.76881 1165.2975 795.6875 1171.6973 C 828.90275 1178.3431 861.96998 1181.666 894.88867 1181.666 C 974.96115 1181.666 1034.719 1168.0054 1074.1621 1140.6836 C 1113.9018 1113.1156 1133.7715 1071.5169 1133.7715 1015.8887 C 1133.7715 975.02903 1121.167 941.18506 1095.959 914.35547 C 1070.751 887.52595 1031.4559 865.98759 978.07422 849.74219 L 921.57812 832.01953 C 882.43158 819.95854 856.6315 809.00586 844.17578 799.16016 C 832.01663 789.06832 825.93555 776.3917 825.93555 761.13086 C 825.93555 741.43946 834.38878 726.30288 851.29297 715.71875 C 868.19716 705.13462 892.51562 699.8418 924.24805 699.8418 C 952.71826 699.8418 981.4855 704.14869 1010.5488 712.76367 C 1039.6122 721.37867 1068.2307 733.93228 1096.4043 750.42383 L 1096.4043 644.08984 C 1066.4513 632.76728 1036.2005 624.27651 1005.6543 618.61523 C 975.10813 612.70782 944.56179 609.75391 914.01562 609.75391 z M 109.28711 619.72266 L 298.79297 891.09375 L 103.94922 1170.959 L 239.62891 1170.959 L 365.96484 988.56641 L 492.74609 1170.959 L 628.42383 1170.959 L 434.4707 891.09375 L 623.08594 619.72266 L 487.4082 619.72266 L 365.96484 795.09961 L 244.9668 619.72266 L 109.28711 619.72266 z M 1288.1328 619.72266 L 1288.1328 1170.959 L 1700.0605 1170.959 L 1700.0605 1074.9629 L 1419.3633 1074.9629 L 1419.3633 619.72266 L 1288.1328 619.72266 z &#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;XSLTFilter&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







 which transformed XML into plain text, in which case only character data events will be output and a 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#textwriter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;TextWriter &amp;#34;TextWriter&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Text&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;m 1522.1543,129.30336 16.9536,359.41707 -42.9492,0 q -12.4327,-94.94036 -33.9073,-135.62908 -35.0375,-65.55406 -93.8101,-96.0706 -57.6424,-31.64679 -152.5827,-31.64679 l -215.8763,0 0,1170.93104 q 0,141.2803 30.5165,176.3178 42.9492,47.4702 132.2384,47.4702 l 53.1214,0 0,41.819 -649.88937,0 0,-41.819 54.25164,0 q 97.20084,0 137.88956,-58.7726 24.86533,-36.1677 24.86533,-165.0154 l 0,-1170.93104 -184.2295,0 q -107.37302,0 -152.58272,15.8234 -58.7726,21.4746 -100.59156,82.50769 -41.81897,61.03308 -49.73067,165.01538 l -42.94921,0 18.08388,-359.41707 1251.17832,0 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;TextWriter&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







 can just write these out as text data.
Other writers will handle the XML SAX events to convert them into another format, e.g. the 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#jsonwriter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;JSONWriter &amp;#34;JSONWriter&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;JSON&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;m 838.79102,128.16797 539.12698,0 0,1062.61323 c 0,146.8389 -43.2697,262.5192 -129.8106,347.0411 -86.5408,83.8055 -205.0476,125.707 -355.51951,125.707 -279.1137,0 -444.78903,-132.5129 -497.02539,-397.5391 l 218.69141,-33.3066 c 14.03365,83.0893 45.60879,147.914 94.72656,194.4726 49.11778,46.5587 110.71086,69.8379 184.77734,69.8379 81.08331,0 145.01409,-25.4287 191.79299,-76.2851 46.7788,-51.5727 70.168,-126.7833 70.168,-225.6309 l 0,-899.2988 -316.92778,0 z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;JSONWriter&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







 before encoding them as character data.&lt;/p&gt;
&lt;h3 id=&#34;destination&#34;&gt;Destination&lt;/h3&gt;
&lt;p&gt;A destination element is a consumer of character data, as produced by a writer.
A typical destination is a 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#streamappender&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;StreamAppender &amp;#34;StreamAppender&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Stream&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;M 499.42773 349.50586 C 471.2255 349.65535 443.05802 352.21777 415.25195 357.10156 C 314.29291 374.83377 218.08985 423.16111 142.17383 497.58398 C 120.16923 517.22845 82.017578 562.56836 82.017578 562.56836 L 17.439453 647.62891 C 11.715074 655.16906 9.4362619 663.20332 10.603516 671.73047 C 11.770779 680.25761 16.123954 687.38299 23.664062 693.10742 L 178.77539 810.86523 C 186.3155 816.58967 194.34977 818.87035 202.87695 817.70312 C 211.40415 816.53588 218.95139 812.4832 224.25391 804.64062 C 252.73415 758.03917 266.71282 735.64156 320.53711 677.81836 C 409.46174 596.02665 519.53665 566.34857 644.56055 635.73047 C 814.48739 738.37221 971.75585 900.37132 1180.918 905.55859 C 1209.7108 905.57829 1251.7809 901.38952 1283.5625 895.00391 C 1384.5214 877.27168 1480.7245 828.94644 1556.6406 754.52344 C 1578.6452 734.87902 1616.7969 689.53906 1616.7969 689.53906 L 1681.375 604.47852 C 1687.0993 596.93839 1689.3762 588.90409 1688.209 580.37695 C 1687.0417 571.8498 1682.6905 564.72444 1675.1504 559 L 1520.0391 441.24219 C 1512.499 435.51777 1504.4646 433.23706 1495.9375 434.4043 C 1487.4102 435.57155 1479.8631 439.62422 1474.5605 447.4668 C 1446.0803 494.06826 1432.1016 516.46587 1378.2773 574.28906 C 1348.8635 601.34351 1316.4063 622.69518 1281.6191 636.6543 C 1067.6463 709.61943 913.77105 505.66893 745.44531 415.86719 C 668.96293 370.33416 584.03444 349.05738 499.42773 349.50586 z M 594.88477 897.21094 C 566.68253 897.36043 538.51505 899.92285 510.70898 904.80664 C 409.74993 922.53885 313.54689 970.86407 237.63086 1045.2871 C 215.62627 1064.9315 177.47266 1110.2734 177.47266 1110.2734 L 112.89648 1195.332 C 107.1721 1202.8722 104.89329 1210.9084 106.06055 1219.4355 C 107.22781 1227.9627 111.58098 1235.086 119.12109 1240.8105 L 274.23242 1358.5684 C 281.77254 1364.2928 289.80483 1366.5734 298.33203 1365.4062 C 306.85921 1364.239 314.4084 1360.1864 319.71094 1352.3438 C 348.19118 1305.7423 362.16986 1283.3466 415.99414 1225.5234 C 504.91877 1143.7317 614.99368 1114.0536 740.01758 1183.4355 C 909.94442 1286.0772 1067.2128 1448.0744 1276.375 1453.2617 C 1305.1678 1453.2817 1347.2362 1449.0945 1379.0176 1442.709 C 1479.9765 1424.9767 1576.1817 1376.6515 1652.0977 1302.2285 C 1674.1023 1282.584 1712.2539 1237.2441 1712.2539 1237.2441 L 1776.832 1152.1836 C 1782.5562 1144.6434 1784.8333 1136.6091 1783.666 1128.082 C 1782.4987 1119.5548 1778.1456 1112.4295 1770.6055 1106.7051 L 1615.4941 988.94727 C 1607.9538 983.22287 1599.9217 980.94208 1591.3945 982.10938 C 1582.8673 983.27657 1575.3182 987.32927 1570.0156 995.17188 C 1541.5354 1041.7734 1527.5567 1064.169 1473.7324 1121.9922 C 1444.3187 1149.0467 1411.8635 1170.4003 1377.0762 1184.3594 C 1163.1036 1257.3246 1009.2262 1053.3739 840.90039 963.57227 C 764.41799 918.0392 679.49147 896.76246 594.88477 897.21094 z &#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;StreamAppender&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







 that writes the character data (which may be XML, JSON, CSV, etc.) to a new Stream in Stroom&amp;rsquo;s stream store.
Other destinations can be used for sending the encoded character data to Kafka, a file on a file system or forwarding to an HTTP URL.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Writing an XSLT Translation</title>
      <link>/docs/howtos/eventfeeds/translation-how-to/</link>
      <pubDate>Tue, 07 Jun 2022 00:00:00 +0000</pubDate>
      
      <guid>/docs/howtos/eventfeeds/translation-how-to/</guid>
      <description>
        
        
        &lt;!-- Created with Stroom v6.1-beta.16 --&gt;

&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;See Also&lt;/h4&gt;
&lt;div class=&#34;alert-content&#34;&gt;
  
  &lt;p&gt;&lt;a href=&#34;../../docs/howtos/eventfeeds/processinghowto/&#34;&gt;HOWTO - Event Processing&lt;/a&gt;&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;This document is intended to explain how and why to produce a translation within stroom and how the translation fits into the overall processing within stroom.
It is intended for use by the developers/admins of client systems that want to send data to stroom and need to transform their events into event-logging XML format.
It&amp;rsquo;s not intended as an XSLT tutorial so a basic XSLT knowledge must be assumed.
The document will contain potentially useful XSLT fragments to show how certain processing activities can be carried out.
As with most programming languages, there are likely to be multiple ways of producing the same end result with different degrees of complexity and efficiency.
Examples here may not be the best for all situations but do reflect experience built up from many previous translation jobs.&lt;/p&gt;
&lt;p&gt;The document should be read in conjunction with other online stroom documentation, in particular &lt;a href=&#34;../../docs/howtos/eventfeeds/processinghowto/&#34;&gt;Event Processing&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;translation-overview&#34;&gt;Translation Overview&lt;/h2&gt;
&lt;p&gt;The translation process for raw logs is a multi-stage process defined by the processing pipeline:&lt;/p&gt;
&lt;h3 id=&#34;parser&#34;&gt;Parser&lt;/h3&gt;
&lt;p&gt;The parser takes raw data and converts it into an intermediate XML document format.
This is only required if source data is not already within an XML document.
There are various standard parsers available (although not all may be available on a default stroom build) to cover the majority of standard source formats such as CSV, TSV, CSV with header row and XML fragments.&lt;/p&gt;
&lt;p&gt;The language used within the parser is defined within an XML schema located at &lt;code&gt;XML Schemas / data-splitter / data-splitter v3.0&lt;/code&gt; within the tree browser.
The data splitter schema may have been provided as part of the core schemas content pack.
It is not present in a vanilla stroom.
The language can be quite complex so if non-standard format logs are being parsed, it may be worth speaking to your stroom sysadmin team to at least get an initial parser configured for your data.&lt;/p&gt;
&lt;p&gt;Stroom also has a built-in parser for JSON fragments.
This can be set either by using the 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#combinedparser&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;CombinedParser &amp;#34;CombinedParser&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Text&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;m 1522.1543,129.30336 16.9536,359.41707 -42.9492,0 q -12.4327,-94.94036 -33.9073,-135.62908 -35.0375,-65.55406 -93.8101,-96.0706 -57.6424,-31.64679 -152.5827,-31.64679 l -215.8763,0 0,1170.93104 q 0,141.2803 30.5165,176.3178 42.9492,47.4702 132.2384,47.4702 l 53.1214,0 0,41.819 -649.88937,0 0,-41.819 54.25164,0 q 97.20084,0 137.88956,-58.7726 24.86533,-36.1677 24.86533,-165.0154 l 0,-1170.93104 -184.2295,0 q -107.37302,0 -152.58272,15.8234 -58.7726,21.4746 -100.59156,82.50769 -41.81897,61.03308 -49.73067,165.01538 l -42.94921,0 18.08388,-359.41707 1251.17832,0 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;CombinedParser&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







 and setting the &lt;code&gt;type&lt;/code&gt; property to JSON or preferably by just using the 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#jsonparser&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;JSONParser &amp;#34;JSONParser&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;JSON&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;m 838.79102,128.16797 539.12698,0 0,1062.61323 c 0,146.8389 -43.2697,262.5192 -129.8106,347.0411 -86.5408,83.8055 -205.0476,125.707 -355.51951,125.707 -279.1137,0 -444.78903,-132.5129 -497.02539,-397.5391 l 218.69141,-33.3066 c 14.03365,83.0893 45.60879,147.914 94.72656,194.4726 49.11778,46.5587 110.71086,69.8379 184.77734,69.8379 81.08331,0 145.01409,-25.4287 191.79299,-76.2851 46.7788,-51.5727 70.168,-126.7833 70.168,-225.6309 l 0,-899.2988 -316.92778,0 z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;JSONParser&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







.&lt;/p&gt;
&lt;p&gt;The parser has several minor limitations.
The most significant is that it&amp;rsquo;s unable to deal with records that are interleaved.
This occasionally happens within multi-line syslog records where a syslog server receives the first x lines of record A followed by the first y lines of record B, then the rest of record A and finally the rest of record B (or the start of record C etc.).
If data is likely to arrive like this then some sort of pre-processing within the source system would be necessary to ensure that each record is a contiguous block before being forwarded to stroom.&lt;/p&gt;
&lt;p&gt;The other main limitation of the parser is actually its flexibility.
If forwarding large streams to stroom and one or more regexes within the parser have been written inefficiently or incorrectly then it&amp;rsquo;s quite possible for the parser to try to read the entire stream in one go rather than a single record or part of a record.
This will slow down the overall processing and may even cause memory issues in the worst cases.
This is one of the reasons why the stroom team would prefer to be involved in the production of any non-standard parsers as mentioned above.&lt;/p&gt;
&lt;h3 id=&#34;xslt&#34;&gt;XSLT&lt;/h3&gt;
&lt;p&gt;The actual translation takes the XML document produced by the parser and converts it to a new XML document format in what&amp;rsquo;s known as &amp;ldquo;stroom schema format&amp;rdquo;.
The current latest schema is documented at &lt;code&gt;XML Schemas / event-logging / event-logging v3.5.2&lt;/code&gt; within the tree browser.
The version is likely to change over time so you should aim to use the latest non-beta version.&lt;/p&gt;
&lt;h3 id=&#34;other-pipeline-elements&#34;&gt;Other Pipeline Elements&lt;/h3&gt;
&lt;p&gt;The pipeline functionality is flexible in that multiple XSLTs may be used in sequence to add decoration (e.g. Job Title, Grade, Employee type etc. from an HR reference database), schema validation and other business-related tasks.
However, this is outside the scope of this document and pipelines should not be altered unless agreed with the stroom sysadmins.
As an example, we&amp;rsquo;ve seen instances of people removing schema validation tasks from a pipeline so that processing appears to occur without error.
In practice, this just breaks things further down the processing chain.&lt;/p&gt;
&lt;h2 id=&#34;translation-basics&#34;&gt;Translation Basics&lt;/h2&gt;
&lt;p&gt;Assuming you have a simple pipeline containing a working parser and an empty XSLT, the output of the parser will look something like this:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;quot;1.1&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;records
    xmlns=&amp;quot;records:2&amp;quot;
    xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;
    xsi:schemaLocation=&amp;quot;records:2 file://records-v2.0.xsd&amp;quot;
    version=&amp;quot;2.0&amp;quot;&amp;gt;
  &amp;lt;record&amp;gt;
    &amp;lt;data value=&amp;quot;2022-04-06 15:45:38.737&amp;quot; /&amp;gt;
    &amp;lt;data value=&amp;quot;fakeuser2&amp;quot; /&amp;gt;
    &amp;lt;data value=&amp;quot;192.168.0.1&amp;quot; /&amp;gt;
    &amp;lt;data value=&amp;quot;1000011&amp;quot; /&amp;gt;
    &amp;lt;data value=&amp;quot;200&amp;quot; /&amp;gt;
    &amp;lt;data value=&amp;quot;Query success&amp;quot; /&amp;gt;
    &amp;lt;data value=&amp;quot;1&amp;quot; /&amp;gt;
  &amp;lt;/record&amp;gt;
&amp;lt;/records&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The data nodes within the &lt;strong&gt;record&lt;/strong&gt; node will differ as it&amp;rsquo;s possible to have nested data nodes as well as named data nodes, but for a non-JSON and non-XML fragment source data format, the top-level structure will be similar.&lt;/p&gt;
&lt;p&gt;The XSLT needed to recognise and start processing the above example data needs to do several things.
The following initial XSLT provides the minimum required function:&lt;/p&gt;









  







  
  


&lt;div class=&#34;code-block code-toolbar&#34;&gt;
  &lt;pre 
     class=&#34;line-numbers language-xml&#34; 
     
     data-start=&#34;1&#34;  &gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;#34;1.1&amp;#34; encoding=&amp;#34;UTF-8&amp;#34; ?&amp;gt;
&amp;lt;xsl:stylesheet
    xpath-default-namespace=&amp;#34;records:2&amp;#34;
    xmlns=&amp;#34;event-logging:3&amp;#34;
    xmlns:stroom=&amp;#34;stroom&amp;#34;
    xmlns:xsl=&amp;#34;http://www.w3.org/1999/XSL/Transform&amp;#34;
    xmlns:xsi=&amp;#34;http://www.w3.org/2001/XMLSchema-instance&amp;#34;
    version=&amp;#34;2.0&amp;#34;&amp;gt;

  &amp;lt;xsl:template match=&amp;#34;records&amp;#34;&amp;gt;
    &amp;lt;Events
        xsi:schemaLocation=&amp;#34;event-logging:3 file://event-logging-v3.5.2.xsd&amp;#34; Version=&amp;#34;3.5.2&amp;#34;&amp;gt;
      &amp;lt;xsl:apply-templates /&amp;gt;
    &amp;lt;/Events&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

  &amp;lt;xsl:template match=&amp;#34;record&amp;#34;&amp;gt;
    &amp;lt;Event&amp;gt;
      ...
    &amp;lt;/Event&amp;gt;
  &amp;lt;/xsl:template&amp;gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;The following lists the necessary functions of the XSLT, along with the line numbers where they&amp;rsquo;re implemented in the above example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Match the source namespace - &lt;code&gt;line 3&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;Specify the output namespace - &lt;code&gt;lines 4, 12&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;Specify the namespace for any functions - &lt;code&gt;lines 5-8&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;Match the top-level &lt;strong&gt;records&lt;/strong&gt; node - &lt;code&gt;line 10&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;Provide any output in stroom schema format - &lt;code&gt;lines 11, 14, 18-20&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;Individually match subsequent &lt;strong&gt;record&lt;/strong&gt; nodes - &lt;code&gt;line 17&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This XSLT will generate the following output data:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;quot;1.1&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;Events
    xmlns=&amp;quot;event-logging:3&amp;quot;
    xmlns:stroom=&amp;quot;stroom&amp;quot;
    xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;
    xsi:schemaLocation=&amp;quot;event-logging:3 file://event-logging-v3.5.2.xsd&amp;quot;
    Version=&amp;quot;3.5.2&amp;quot;&amp;gt;
  &amp;lt;Event&amp;gt;
    ...
  &amp;lt;/Event&amp;gt;
  ...
&amp;lt;Events&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It&amp;rsquo;s normally best to get this part of the XSLT correctly stepping before getting any further into the code.&lt;/p&gt;
&lt;p&gt;Similarly for JSON fragments, the output of the parser will look like:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;quot;1.1&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;map xmlns=&amp;quot;http://www.w3.org/2013/XSL/json&amp;quot;&amp;gt;
  &amp;lt;map&amp;gt;
    &amp;lt;string key=&amp;quot;version&amp;quot;&amp;gt;0&amp;lt;/string&amp;gt;
    &amp;lt;string key=&amp;quot;id&amp;quot;&amp;gt;2801bbff-fafa-4427-32b5-d38068d3de73&amp;lt;/string&amp;gt;
    &amp;lt;string key=&amp;quot;detail-type&amp;quot;&amp;gt;xyz_event&amp;lt;/string&amp;gt;
    &amp;lt;string key=&amp;quot;source&amp;quot;&amp;gt;my.host.here&amp;lt;/string&amp;gt;
    &amp;lt;string key=&amp;quot;account&amp;quot;&amp;gt;223592823261&amp;lt;/string&amp;gt;
    &amp;lt;string key=&amp;quot;time&amp;quot;&amp;gt;2022-02-15T11:01:36Z&amp;lt;/string&amp;gt;
    &amp;lt;array key=&amp;quot;resources&amp;quot; /&amp;gt;
    &amp;lt;map key=&amp;quot;detail&amp;quot;&amp;gt;
      &amp;lt;number key=&amp;quot;id&amp;quot;&amp;gt;1644922894335&amp;lt;/number&amp;gt;
      &amp;lt;string key=&amp;quot;userId&amp;quot;&amp;gt;testuser&amp;lt;/string&amp;gt;
    &amp;lt;/map&amp;gt;
  &amp;lt;/map&amp;gt;
&amp;lt;/map&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The following initial XSLT will carry out the same tasks as before:&lt;/p&gt;









  







  
  


&lt;div class=&#34;code-block code-toolbar&#34;&gt;
  &lt;pre 
     class=&#34;line-numbers language-xml&#34; 
     
     data-start=&#34;1&#34;  &gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34; ?&amp;gt;
&amp;lt;xsl:stylesheet
    xpath-default-namespace=&amp;#34;http://www.w3.org/2013/XSL/json&amp;#34;
    xmlns=&amp;#34;event-logging:3&amp;#34;
    xmlns:stroom=&amp;#34;stroom&amp;#34;
    xmlns:xsl=&amp;#34;http://www.w3.org/1999/XSL/Transform&amp;#34;
    xmlns:xsi=&amp;#34;http://www.w3.org/2001/XMLSchema-instance&amp;#34;
    version=&amp;#34;2.0&amp;#34;&amp;gt;

  &amp;lt;xsl:template match=&amp;#34;/map&amp;#34;&amp;gt;
    &amp;lt;Events
        xsi:schemaLocation=&amp;#34;event-logging:3 file://event-logging-v3.5.2.xsd&amp;#34; Version=&amp;#34;3.5.2&amp;#34;&amp;gt;
      &amp;lt;xsl:apply-templates /&amp;gt;
    &amp;lt;/Events&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

  &amp;lt;xsl:template match=&amp;#34;/map/map&amp;#34;&amp;gt;
    &amp;lt;Event&amp;gt;
      ...
    &amp;lt;/Event&amp;gt;
  &amp;lt;/xsl:template&amp;gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;The necessary functions of the XSLT, along with the line numbers where they&amp;rsquo;re implemented in the above example as before:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Match the source namespace - &lt;code&gt;line 3&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;Specify the output namespace - &lt;code&gt;lines 4, 12&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;Specify the namespace for any functions - &lt;code&gt;lines 5-8&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;Match the top-level &lt;strong&gt;/map&lt;/strong&gt; node - &lt;code&gt;line 10&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;Provide any output in stroom schema format - &lt;code&gt;lines 11, 14, 18-20&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;Individually match subsequent &lt;strong&gt;/map/map&lt;/strong&gt; nodes - &lt;code&gt;line 17&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This XSLT will generate the following output data which is identical to the previous output:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;quot;1.1&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;Events
    xmlns=&amp;quot;event-logging:3&amp;quot;
    xmlns:stroom=&amp;quot;stroom&amp;quot;
    xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;
    xsi:schemaLocation=&amp;quot;event-logging:3 file://event-logging-v3.5.2.xsd&amp;quot;
    Version=&amp;quot;3.5.2&amp;quot;&amp;gt;
  &amp;lt;Event&amp;gt;
    ...
  &amp;lt;/Event&amp;gt;
  ...
&amp;lt;Events&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Once the initial XSLT is correct, it&amp;rsquo;s a fairly simple matter to populate the correct nodes using standard XSLT functions and a knowledge of XPaths.&lt;/p&gt;
&lt;h2 id=&#34;extending-the-translation-to-populate-specific-nodes&#34;&gt;Extending the Translation to Populate Specific Nodes&lt;/h2&gt;
&lt;p&gt;The above examples of &lt;code&gt;&amp;lt;xsl:apply-templates match=&amp;quot;...&amp;quot;/&amp;gt;&lt;/code&gt; for an Event all point to a specific path within the XML document - often at &lt;code&gt;/records/record/&lt;/code&gt; or at &lt;code&gt;/map/map/&lt;/code&gt;.
XPath references to nodes further down inside the record should normally be made relative to this node.&lt;/p&gt;
&lt;p&gt;Depending on the output format from the parser, there are two ways of referencing a field to populate an output node.&lt;/p&gt;
&lt;p&gt;If the intermediate XML is of the following format:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;record&amp;gt;
  &amp;lt;data value=&amp;quot;2022-04-06 15:45:38.737&amp;quot; /&amp;gt;
  &amp;lt;data value=&amp;quot;fakeuser2&amp;quot; /&amp;gt;
  &amp;lt;data value=&amp;quot;192.168.0.1&amp;quot; /&amp;gt;
  ...
&amp;lt;/record&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then the developer needs to understand which field contains what data and then to reference based upon the index, e.g.:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;IPAddress&amp;gt;
  &amp;lt;xsl:value-of select=&amp;quot;data[3]/@value&amp;quot;/&amp;gt;
&amp;lt;/IPAddress&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;However, if the intermediate XML is of this format:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;record&amp;gt;
  &amp;lt;data name=&amp;quot;time&amp;quot; value=&amp;quot;2022-04-06 15:45:38.737&amp;quot; /&amp;gt;
  &amp;lt;data name=&amp;quot;user&amp;quot; value=&amp;quot;fakeuser2&amp;quot; /&amp;gt;
  &amp;lt;data name=&amp;quot;ip&amp;quot; value=&amp;quot;192.168.0.1&amp;quot; /&amp;gt;
  ...
&amp;lt;/record&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then, although the first method is still acceptable, it&amp;rsquo;s easier and safer to reference by @name:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;IPAddress&amp;gt;
  &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;ip&#39;]/@value&amp;quot;/&amp;gt;
&amp;lt;/IPAddress&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This second method also has the advantage that if the field positions differ for different event types, the names will hopefully stay the same, saving the need to add &lt;code&gt;if TypeA then do X, if TypeB then do Y, ...&lt;/code&gt; code into the XSLT.&lt;/p&gt;
&lt;p&gt;More complex field references are likely to be required at times, particularly for data that&amp;rsquo;s been converted using the internal JSON parser.
Assuming source data of:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;map&amp;gt;
  &amp;lt;string key=&amp;quot;version&amp;quot;&amp;gt;0&amp;lt;/string&amp;gt;
  ...
  &amp;lt;array key=&amp;quot;resources&amp;quot; /&amp;gt;
  &amp;lt;map key=&amp;quot;detail&amp;quot;&amp;gt;
    &amp;lt;number key=&amp;quot;id&amp;quot;&amp;gt;1644922894335&amp;lt;/number&amp;gt;
    &amp;lt;string key=&amp;quot;userId&amp;quot;&amp;gt;testuser&amp;lt;/string&amp;gt;
  &amp;lt;/map&amp;gt;
&amp;lt;/map&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then selecting the id field requires something like:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;xsl:value-of select=&amp;quot;map[@key=&#39;detail&#39;]/number[@key=&#39;id&#39;]&amp;quot;/&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It&amp;rsquo;s important at this stage to have a reasonable understanding of which fields in the source data provide what detail in terms of stroom schema values, which fields can be ignored and which can be used but modified to control the flow of the translation.
For example - there may be an IP address within the log, but is it of the device itself or of the client?
It&amp;rsquo;s normally best to start with several examples of each event type requiring translation to ensure that fields are translated correctly.&lt;/p&gt;
&lt;h2 id=&#34;structuring-the-xslt&#34;&gt;Structuring the XSLT&lt;/h2&gt;
&lt;p&gt;There are many different ways of structuring the overall XSLT and it&amp;rsquo;s ultimately for the developer to decide the best way based upon the requirements of their own data.
However, the following points should be noted:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When working on e.g. a CreateDocument event, it&amp;rsquo;s far easier to edit a 10-line template named &lt;strong&gt;CreateDocument&lt;/strong&gt; than lines 841-850 of a template named &lt;strong&gt;MainTemplate&lt;/strong&gt;.
Therefore, keep each template relatively small and helpfully named.&lt;/li&gt;
&lt;li&gt;Both the logic and XPaths required for EventTime and EventSource are normally common to all or most events for a given log.
Therefore, it usually makes sense to have a common EventTime and EventSource template for all event types rather than a duplicate of this code for each event type.&lt;/li&gt;
&lt;li&gt;If code needs to be repeated in multiple templates, then it&amp;rsquo;s often simpler to move that code into a separate template and call it from multiple places.
This is often used for e.g. adding an Outcome node for multiple failed event types.&lt;/li&gt;
&lt;li&gt;Use comments within the XSLT even when the code appears obvious.
If nothing else, a comment field will ensure a newline prior to the comment once auto-formatted.
This allows the end of one template and the start of the next template to be differentiated more easily if each template is prefixed by something like &lt;code&gt;&amp;lt;!-- Template for EventDetail --&amp;gt;&lt;/code&gt;.
Comments are also useful for anybody who needs to fix your code several years later when you&amp;rsquo;ve moved on to far more interesting work.&lt;/li&gt;
&lt;li&gt;For most feeds, the main development work is within the EventDetail node.
This will normally contain a lot of code effectively doing &lt;code&gt;if CreateDocument do X; if DeleteFile do Y; if SuccessfulLogin do Z; ...&lt;/code&gt;.
From experience, the following type of XSLT is normally the easiest to write and to follow:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;  &amp;lt;!-- Event Detail template --&amp;gt;
  &amp;lt;xsl:template name=&amp;quot;EventDetail&amp;quot;&amp;gt;
    &amp;lt;xsl:variable name=&amp;quot;typeId&amp;quot; select=&amp;quot;...&amp;quot;/&amp;gt;
      &amp;lt;EventDetail&amp;gt;
        &amp;lt;xsl:choose&amp;gt;
          &amp;lt;xsl:when test=&amp;quot;$typeId=&#39;A&#39;&amp;quot;&amp;gt;
            &amp;lt;xsl:call-template name=&amp;quot;Logon&amp;quot;/&amp;gt;
          &amp;lt;/xsl:when&amp;gt;
          &amp;lt;xsl:when test=&amp;quot;$typeId=&#39;B&#39;&amp;quot;&amp;gt;
            &amp;lt;xsl:call-template name=&amp;quot;CreateDoc&amp;quot;/&amp;gt;
          &amp;lt;/xsl:when&amp;gt;
          ...
        &amp;lt;/xsl:choose&amp;gt;
      &amp;lt;/EventDetail&amp;gt;
    &amp;lt;/xsl:template&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;If in the above example, the various values of &lt;code&gt;$typeId&lt;/code&gt; are sufficiently descriptive to use as text values then the &lt;strong&gt;TypeId&lt;/strong&gt; node can be implemented prior to the &lt;code&gt;&amp;lt;xsl:choose&amp;gt;&lt;/code&gt; to avoid specifying it once in each child template.&lt;/li&gt;
&lt;li&gt;It&amp;rsquo;s common for systems to generate &lt;code&gt;Create/Delete/View/Modify/...&lt;/code&gt; events against a range of different &lt;code&gt;Document/File/Email/Object/...&lt;/code&gt; types.
Rather than looking at events such as &lt;code&gt;CreateDocument/DeleteFile/...&lt;/code&gt; and creating a template for each, it&amp;rsquo;s often simpler to work in two stages.
Firstly create templates for the &lt;code&gt;Create/Delete/...&lt;/code&gt; types within &lt;code&gt;EventDetail&lt;/code&gt; and then from each of these templates, call another template which then checks and calls the relevant object template.&lt;/li&gt;
&lt;li&gt;It&amp;rsquo;s also sometimes possible to take the above multi-step process further and use a common template for Create/Delete/View.
The following code assumes that the variable &lt;code&gt;${evttype}&lt;/code&gt; is a valid schema action such as &lt;code&gt;Create/Delete/View&lt;/code&gt;.
Whilst it can be used to produce more compact XSLT code, it tends to lose readability and makes extending the code for additional types more difficult.
The inner &lt;code&gt;&amp;lt;xsl:choose&amp;gt;&lt;/code&gt; can even be simplified again by populating an &lt;code&gt;&amp;lt;xsl:element&amp;gt;&lt;/code&gt; with &lt;code&gt;{objType}&lt;/code&gt; to make the code even more compact and more difficult to follow.
There may occasionally be times when this sort of thing is useful but care should be taken to use it sparingly and provide plenty of comments.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;  &amp;lt;xsl:variable name=&amp;quot;evttype&amp;quot; select=&amp;quot;...&amp;quot;/&amp;gt;
  &amp;lt;xsl:element name=&amp;quot;${evttype}&amp;quot;&amp;gt;
    &amp;lt;xsl:choose&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;objType=&#39;Document&#39;&amp;quot;&amp;gt;
        &amp;lt;xsl:call-template name=&amp;quot;Document&amp;quot;/&amp;gt;
      &amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;objType=&#39;File&#39;&amp;quot;&amp;gt;
        &amp;lt;xsl:call-template name=&amp;quot;File&amp;quot;/&amp;gt;
      &amp;lt;/xsl:when&amp;gt;
      ...
    &amp;lt;/xsl:choose&amp;gt;
  &amp;lt;/xsl:element&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;There are always exceptions to the above advice.
If a feed will only ever contain e.g. successful logins then it may be easier to create the entire event within a single template, for example.
But if there&amp;rsquo;s ever a possibility of e.g. logon failures, logoffs or anything else in the future then it&amp;rsquo;s safer to structure the XSLT into separate templates.&lt;/p&gt;
&lt;h2 id=&#34;filtering-wantedunwanted-event-types&#34;&gt;Filtering Wanted/Unwanted Event Types&lt;/h2&gt;
&lt;p&gt;It&amp;rsquo;s common that not all received events are required to be translated. Depending upon the data being received and the auditing requirements that have been set against the source system, there are several ways to filter the events.&lt;/p&gt;
&lt;h3 id=&#34;remove-unwanted-events&#34;&gt;Remove Unwanted Events&lt;/h3&gt;
&lt;p&gt;The first method is best to use when the majority of event types are to be translated and only a few types, such as debug messages are to be dropped.
Consider the code fragment from earlier:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;xsl:template match=&amp;quot;record&amp;quot;&amp;gt;
  &amp;lt;Event&amp;gt;
    ...
  &amp;lt;/Event&amp;gt;
&amp;lt;/xsl:template&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This will create an Event node for every source record.
However, if we replace this with something like:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;xsl:template match=&amp;quot;record[data[@name=&#39;logLevel&#39; and @value=&#39;DEBUG&#39;]]&amp;quot;/&amp;gt;

&amp;lt;xsl:template match=&amp;quot;record[data[@name=&#39;msgType&#39;
                                 and (@value=&#39;drop1&#39; or @value=&#39;drop2&#39;)
                                ]]&amp;quot;/&amp;gt;

&amp;lt;xsl:template match=&amp;quot;record&amp;quot;&amp;gt;
  &amp;lt;Event&amp;gt;
    ...
  &amp;lt;/Event&amp;gt;
&amp;lt;/xsl:template&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This will filter out all DEBUG messages and messages where the msgType is either “drop1&amp;quot; or “drop2&amp;quot;.
All other messages will result in an Event being generated.&lt;/p&gt;
&lt;p&gt;This method is often not suited to systems where the full set of message types isn&amp;rsquo;t known prior to translation development, such as for closed source software where the full set of possible messages isn&amp;rsquo;t already known.
If an unexpected message type appears in the logs then it&amp;rsquo;s likely that the translation won&amp;rsquo;t know how to deal with it and may either make incorrect assumptions about it or fail to produce a schema-compliant output.&lt;/p&gt;
&lt;h3 id=&#34;translate-wanted-events&#34;&gt;Translate Wanted Events&lt;/h3&gt;
&lt;p&gt;This is the opposite of the previous method and the XSLT just ignores anything that it&amp;rsquo;s not expecting.
This method is best used where only a few event types are of interest such as the scenario of translation logons/logoffs from a vast range of possible types.&lt;/p&gt;
&lt;p&gt;For this, we&amp;rsquo;d use something like:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;xsl:template match=&amp;quot;record[data[@name=&#39;msgType&#39;
                                   and (@value=&#39;logon&#39; or @value=&#39;logoff&#39;)
                                  ]]&amp;quot;&amp;gt;
  &amp;lt;Event&amp;gt;
    ...
  &amp;lt;/Event&amp;gt;
&amp;lt;/xsl:template&amp;gt;

&amp;lt;xsl:template match=&amp;quot;text()&amp;quot;/&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The final line stops the XSLT outputting a sequence of unformatted text nodes for any unmatched event types when an &lt;code&gt;&amp;lt;xsl:apply-templates/&amp;gt;&lt;/code&gt; is used elsewhere within the XSLT.
It isn&amp;rsquo;t always needed but does no harm if present.&lt;/p&gt;
&lt;p&gt;This method starts to become messy and difficult to understand if a large number of wanted types are to be matched.&lt;/p&gt;
&lt;h3 id=&#34;advanced-removal-method-with-optional-warnings&#34;&gt;Advanced Removal Method (With Optional Warnings)&lt;/h3&gt;
&lt;p&gt;Where the full list of event types isn&amp;rsquo;t known or may expand over time, the best method may be to filter out the definite unwanted events and handle anything unexpected as well as the known and wanted events.
This would use code similar to before to drop the specific unwanted types but handle everything else including unknown types:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;xsl:template match=&amp;quot;record[data[@name=&#39;logLevel&#39; and @value=&#39;DEBUG&#39;]]&amp;quot;/&amp;gt;
...
&amp;lt;xsl:template match=&amp;quot;record[data[@name=&#39;msgType&#39;
                                   and (@value=&#39;drop1&#39; or @value=&#39;drop2&#39;)
                                  ]]&amp;quot;/&amp;gt;

&amp;lt;xsl:template match=&amp;quot;record&amp;quot;&amp;gt;
  &amp;lt;Event&amp;gt;
    ...
  &amp;lt;/Event&amp;gt;
&amp;lt;/xsl:template&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;However, the XSLT must then be able to handle unknown arbitrary event types.
In practice, most systems provide a consistent format for logging the “who/where/when&amp;quot; and it&amp;rsquo;s only the “what&amp;quot; that differs between event types.
Therefore, it&amp;rsquo;s usually possible to add something like this into the XSLT:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;EventDetail&amp;gt;
  &amp;lt;xsl:choose&amp;gt;
    &amp;lt;xsl:when test=&amp;quot;$evtType=&#39;1&#39;&amp;quot;&amp;gt;
      ...
    &amp;lt;/xsl:when&amp;gt;
    ...
    &amp;lt;xsl:when test=&amp;quot;$evtType=&#39;n&#39;&amp;quot;&amp;gt;
      ...
    &amp;lt;/xsl:when&amp;gt;
    &amp;lt;!-- Unknown event type --&amp;gt;
    &amp;lt;xsl:otherwise&amp;gt;
      &amp;lt;Unknown&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;stroom:log(‘WARN&#39;,concat(&#39;Unexpected Event Type - &#39;, $evtType))&amp;quot;/&amp;gt;
        ...
      &amp;lt;/Unknown&amp;gt;
    &amp;lt;/xsl:otherwise&amp;gt;
&amp;lt;/EventDetail&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This will create an Event of type &lt;code&gt;Unknown&lt;/code&gt;.
The Unknown node is only able to contain data name/value pairs and it should be simple to extract these directly from the intermediate XML using an &lt;code&gt;&amp;lt;xsl:for-each&amp;gt;&lt;/code&gt;.
This will allow the attributes from the source event to populate the output event for later analysis but will also generate an error stream of level &lt;strong&gt;WARN&lt;/strong&gt; which will record the event type.
Looking through these error streams will allow the developer to see which unexpected events have appeared then either filter them out within a top-level &lt;code&gt;&amp;lt;xsl:template match=&amp;quot;record[data[@name=&#39;...&#39; and @value=&#39;...&#39;]]&amp;quot;/&amp;gt;&lt;/code&gt; statement or to produce an additional &lt;code&gt;&amp;lt;xsl:when&amp;gt;&lt;/code&gt; within the EventDetail node to translate the type correctly.&lt;/p&gt;
&lt;h2 id=&#34;common-mistakes&#34;&gt;Common Mistakes&lt;/h2&gt;
&lt;h3 id=&#34;performance-issues&#34;&gt;Performance Issues&lt;/h3&gt;
&lt;p&gt;The way that the code is written can affect its overall performance.
This may not matter for low-volume logs but can greatly affect processing time for higher volumes.
Consider the following example:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;!-- Event Detail template --&amp;gt;
&amp;lt;xsl:template name=&amp;quot;EventDetail&amp;quot;&amp;gt;
  &amp;lt;xsl:variable name=&amp;quot;X&amp;quot; select=&amp;quot;...&amp;quot;/&amp;gt;
  &amp;lt;xsl:variable name=&amp;quot;Y&amp;quot; select=&amp;quot;...&amp;quot;/&amp;gt;
  &amp;lt;xsl:variable name=&amp;quot;Z&amp;quot; select=&amp;quot;...&amp;quot;/&amp;gt;

  &amp;lt;EventDetail&amp;gt;
    &amp;lt;xsl:choose&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$X=&#39;A&#39; and $Y=&#39;foo&#39; and matches($Z,&#39;blah.*blah&#39;)&amp;quot;&amp;gt;
        &amp;lt;xsl:call-template name=&amp;quot;AAA&amp;quot;/&amp;gt;
      &amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$X=&#39;B&#39; or $Z=&#39;ABC&#39;&amp;quot;&amp;gt;
        &amp;lt;xsl:call-template name=&amp;quot;BBB&amp;quot;/&amp;gt;
      &amp;lt;/xsl:when&amp;gt;
      ...
      &amp;lt;xsl:otherwise&amp;gt;
        &amp;lt;xsl:call-template name=&amp;quot;ZZZ&amp;quot;/&amp;gt;
      &amp;lt;/xsl:otherwise&amp;gt;
    &amp;lt;/xsl:choose&amp;gt;
  &amp;lt;/EventDetail&amp;gt;
&amp;lt;/xsl:template&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If none of the &lt;code&gt;&amp;lt;xsl:when&amp;gt;&lt;/code&gt; choices match, particularly if there are many of them or their logic is complex then it&amp;rsquo;ll take a significant time to reach the &lt;code&gt;&amp;lt;xsl:otherwise&amp;gt;&lt;/code&gt; element.
If this is by far the most common type of source data (i.e. none of the specific &lt;code&gt;&amp;lt;xsl:when&amp;gt;&lt;/code&gt; elements is expected to match very often) then the XSLT will be slow and inefficient.
It&amp;rsquo;s therefore better to list the most common examples first, if known.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s also usually better to have a hierarchy of smaller numbers of options within an &lt;code&gt;&amp;lt;xsl:choose&amp;gt;&lt;/code&gt;.
So rather than the above code, the following is likely to be more efficient:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;xsl:choose&amp;gt;
  &amp;lt;xsl:when test=&amp;quot;$X=&#39;A&#39;&amp;quot;&amp;gt;
    &amp;lt;xsl:choose&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$Y=&#39;foo&#39;&amp;quot;&amp;gt;
        &amp;lt;xsl:choose&amp;gt;
          &amp;lt;xsl:when test=&amp;quot;matches($Z,&#39;blah.*blah&#39;)&amp;quot;&amp;gt;
            &amp;lt;xsl:call-template name=&amp;quot;AAA&amp;quot;/&amp;gt;
          &amp;lt;/xsl:when&amp;gt;
          &amp;lt;xsl:otherwise&amp;gt;
            ...
          &amp;lt;/xsl:otherwise&amp;gt;
        &amp;lt;/xsl:choose&amp;gt;
      &amp;lt;/xsl:when&amp;gt;
      ...
    &amp;lt;/xsl:choose&amp;gt;
    ...
  &amp;lt;/xsl:when&amp;gt;
  ...
&amp;lt;/xsl:choose&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Whilst this code looks more complex, it&amp;rsquo;s far more efficient to carry out a shorter sequence of checks, each based upon the result of the previous check, rather than a single consecutive list of checks where the data may only match the final check.&lt;/p&gt;
&lt;p&gt;Where possible, the most commonly appearing choices in the source data should be dealt with first to avoid running through multiple &lt;code&gt;&amp;lt;xsl:when&amp;gt;&lt;/code&gt; statements.&lt;/p&gt;
&lt;h3 id=&#34;stepping-works-fine-but-errors-whilst-processing&#34;&gt;Stepping Works Fine But Errors Whilst Processing&lt;/h3&gt;
&lt;p&gt;When data is being stepped, it&amp;rsquo;s only ever fed to the XSLT as a single event, whilst a pipeline is able to process multiple events within a single input stream.
This apparently minor difference sometimes results in obscure errors if the translation has incorrect XPaths specified.
Taking the following input data example:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;TopLevelNode&amp;gt;
  &amp;lt;EventNode&amp;gt;
    &amp;lt;Field1&amp;gt;1&amp;lt;/Field1&amp;gt;
    ...
  &amp;lt;/EventNode&amp;gt;
  &amp;lt;EventNode&amp;gt;
    &amp;lt;Field1&amp;gt;2&amp;lt;/Field1&amp;gt;
    ...
  &amp;lt;/EventNode&amp;gt;
  ...
  &amp;lt;EventNode&amp;gt;
    &amp;lt;Field1&amp;gt;n&amp;lt;/Field1&amp;gt;
    ...
  &amp;lt;/EventNode&amp;gt;
&amp;lt;/TopLevelNode&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If an XSLT is stepped, all XPaths will be relative to &lt;code&gt;&amp;lt;EventNode&amp;gt;&lt;/code&gt;.
To extract the value of Field1, you&amp;rsquo;d use something similar to &lt;code&gt;&amp;lt;xsl:value-of select=&amp;quot;Field1&amp;quot;/&amp;gt;&lt;/code&gt;.
The following examples would also work in stepping mode or when there was only ever one Event per input stream:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;xsl:value-of select=&amp;quot;//Field1&amp;quot;/&amp;gt;
&amp;lt;xsl:value-of select=&amp;quot;../EventNode/Field1&amp;quot;/&amp;gt;
&amp;lt;xsl:value-of select=&amp;quot;../*/Field1&amp;quot;/&amp;gt;
&amp;lt;xsl:value-of select=&amp;quot;/TopLevelNode/EventNode/Field1&amp;quot;/&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;However, if there&amp;rsquo;s ever a stream with multiple event nodes, the output from pipeline processing would be a sequence of the Field1 node values i.e. &lt;code&gt;12...n&lt;/code&gt; for each event.
Whilst it&amp;rsquo;s easy to spot the issues in these basic examples, it&amp;rsquo;s harder to see in more complex structures.
It&amp;rsquo;s also worth mentioning that just because your test data only ever has a single event per stream, there&amp;rsquo;s nothing to say it&amp;rsquo;ll stay this way when operational or when the next version of the software is installed on the source system, so you should always guard against using XPaths that go to the root of the tree.&lt;/p&gt;
&lt;h2 id=&#34;unexpected-data-values-causing-schema-validation-errors&#34;&gt;Unexpected Data Values Causing Schema Validation Errors&lt;/h2&gt;
&lt;p&gt;A source system may provide a log containing an IP address.
All works fine for a while with the following code fragment:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;Client&amp;gt;
  &amp;lt;IPAddress&amp;gt;
    &amp;lt;xsl:value-of select=&amp;quot;$ipAddress&amp;quot;/&amp;gt;
  &amp;lt;/IPAddress&amp;gt;
&amp;lt;/Client&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;However, let&amp;rsquo;s assume that in certain circumstances (e.g. when accessed locally rather than over a network) the system provides a value of &lt;code&gt;localhost&lt;/code&gt; or something else that&amp;rsquo;s not an IP address.
Whilst the majority of schema values are of type &lt;code&gt;string&lt;/code&gt;, there are still many that are limited in character set in some way.
The most common is probably IPAddress and it must match a fairly complex regex to be valid.
In this instance, the translation will still succeed but any schema validation elements within the pipeline will throw an error and stop the invalid event (not just the invalid element) from being output within the Events stream.
Without the event in the stream, it&amp;rsquo;s not indexable or searchable so is effectively dropped by the system.&lt;/p&gt;
&lt;p&gt;To resolve this issue, the XSLT should be aware of the possibility of invalid input using something like the following:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;Client&amp;gt;
  &amp;lt;xsl:choose&amp;gt;
    &amp;lt;xsl:when test=&amp;quot;matches($ipAddress,&#39;^[.0-9]+$&#39;)&amp;quot;&amp;gt;
      &amp;lt;IPAddress&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;$ipAddress&amp;quot;/&amp;gt;
      &amp;lt;/IPAddress&amp;gt;
    &amp;lt;/xsl:when&amp;gt;
    &amp;lt;xsl:otherwise&amp;gt;
      &amp;lt;HostName&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;$ipAddress&amp;quot;/&amp;gt;
      &amp;lt;/HostName&amp;gt;
    &amp;lt;/xsl:otherwise&amp;gt;
  &amp;lt;/xsl:choose&amp;gt;
&amp;lt;/Client&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This would need to be modified slightly for IPv6 and also wouldn&amp;rsquo;t catch obvious errors such as &lt;code&gt;999.1..8888&lt;/code&gt; but if we can assume that the source will generate either a valid IP address or a valid hostname then the events will at least be available within the output stream.&lt;/p&gt;
&lt;h2 id=&#34;testing-the-translation&#34;&gt;Testing the Translation&lt;/h2&gt;
&lt;p&gt;When stepping a stream with more than a few events in it, it&amp;rsquo;s possible to filter the stepping rather than just moving to first/previous/next/last.
In the bottom right hand corner of the bottom right hand pane within the XSLT tab, there&amp;rsquo;s a small &lt;em&gt;filter&lt;/em&gt; icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Filter&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M1595 295q17 41-14 70l-493 493v742q0 42-39 59-13 5-25 5-27 0-45-19l-256-256q-19-19-19-45v-486l-493-493q-31-29-14-70 17-39 59-39h1280q42 0 59 39z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; that&amp;rsquo;s often not spotted.
The icon will be &lt;strong&gt;grey&lt;/strong&gt; if no filter is set or &lt;strong&gt;green&lt;/strong&gt; if set.
Opening this filter gives choices such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Jump to error&lt;/li&gt;
&lt;li&gt;Jump to empty/non-empty output&lt;/li&gt;
&lt;li&gt;Jump to specific XPath exists/contains/equals/unique&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each of these options can be used to move directly to the next/previous event that matches one of these attributes.&lt;/p&gt;
&lt;p&gt;A filter on e.g. the 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#xsltfilter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;XSLTFilter &amp;#34;XSLTFilter&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Xslt&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__xsl-background)&#34; d=&#34;M 684.30664 211.38672 C 672.42766 211.38672 661.91891 215.95413 652.78125 225.0918 L 14.058594 863.81641 C 4.9209141 872.95409 0.3515625 883.46088 0.3515625 895.33984 C 0.3515625 907.21882 4.9209142 917.72756 14.058594 926.86523 L 652.78125 1565.5898 C 661.91891 1574.7275 672.42766 1579.2949 684.30664 1579.2949 C 696.1856 1579.2949 706.69435 1574.7275 715.83203 1565.5898 L 784.36523 1497.0566 C 793.5029 1487.9191 798.07031 1477.4102 798.07031 1465.5312 C 798.07031 1453.6524 793.5029 1443.1436 784.36523 1434.0059 L 245.69922 895.33984 L 784.36523 356.67578 C 793.5029 347.53811 798.07031 337.02937 798.07031 325.15039 C 798.07031 313.27142 793.5029 302.76268 784.36523 293.625 L 715.83203 225.0918 C 706.69435 215.95413 696.1856 211.38672 684.30664 211.38672 z M 1107.9082 211.38672 C 1096.0293 211.38672 1085.5225 215.95414 1076.3848 225.0918 L 1007.8516 293.625 C 998.71402 302.76268 994.14453 313.27142 994.14453 325.15039 C 994.14453 337.02937 998.71402 347.53811 1007.8516 356.67578 L 1546.5176 895.33984 L 1007.8516 1434.0059 C 998.71402 1443.1436 994.14453 1453.6523 994.14453 1465.5312 C 994.14453 1477.4102 998.71402 1487.9191 1007.8516 1497.0566 L 1076.3848 1565.5898 C 1085.5225 1574.7275 1096.0293 1579.2949 1107.9082 1579.2949 C 1119.7872 1579.2949 1130.2959 1574.7275 1139.4336 1565.5898 L 1778.1582 926.86523 C 1787.2959 917.72756 1791.8633 907.21882 1791.8633 895.33984 C 1791.8633 883.46088 1787.2959 872.95409 1778.1582 863.81641 L 1139.4336 225.0918 C 1130.2959 215.95414 1119.7872 211.38672 1107.9082 211.38672 z &#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;M 914.01562 609.75391 C 846.69543 609.75391 793.7585 624.0295 755.20508 652.58203 C 716.65166 681.13457 697.375 720.39439 697.375 770.36133 C 697.375 809.25185 709.09092 840.2669 732.51953 863.4043 C 755.94815 886.29555 800.72934 908.20094 866.86328 929.12305 L 931.36523 949.42969 C 953.90415 956.5678 971.1042 966.4135 982.9668 978.9668 C 994.82939 991.27392 1000.7617 1005.6745 1000.7617 1022.166 C 1000.7617 1044.0727 991.86421 1061.1792 974.07031 1073.4863 C 956.27643 1085.5473 931.21618 1091.5781 898.89062 1091.5781 C 866.86163 1091.5781 834.38939 1086.5313 801.4707 1076.4395 C 768.84858 1066.3477 735.03956 1050.9651 700.04492 1030.2891 L 700.04492 1142.8984 C 730.88766 1155.6978 762.76881 1165.2975 795.6875 1171.6973 C 828.90275 1178.3431 861.96998 1181.666 894.88867 1181.666 C 974.96115 1181.666 1034.719 1168.0054 1074.1621 1140.6836 C 1113.9018 1113.1156 1133.7715 1071.5169 1133.7715 1015.8887 C 1133.7715 975.02903 1121.167 941.18506 1095.959 914.35547 C 1070.751 887.52595 1031.4559 865.98759 978.07422 849.74219 L 921.57812 832.01953 C 882.43158 819.95854 856.6315 809.00586 844.17578 799.16016 C 832.01663 789.06832 825.93555 776.3917 825.93555 761.13086 C 825.93555 741.43946 834.38878 726.30288 851.29297 715.71875 C 868.19716 705.13462 892.51562 699.8418 924.24805 699.8418 C 952.71826 699.8418 981.4855 704.14869 1010.5488 712.76367 C 1039.6122 721.37867 1068.2307 733.93228 1096.4043 750.42383 L 1096.4043 644.08984 C 1066.4513 632.76728 1036.2005 624.27651 1005.6543 618.61523 C 975.10813 612.70782 944.56179 609.75391 914.01562 609.75391 z M 109.28711 619.72266 L 298.79297 891.09375 L 103.94922 1170.959 L 239.62891 1170.959 L 365.96484 988.56641 L 492.74609 1170.959 L 628.42383 1170.959 L 434.4707 891.09375 L 623.08594 619.72266 L 487.4082 619.72266 L 365.96484 795.09961 L 244.9668 619.72266 L 109.28711 619.72266 z M 1288.1328 619.72266 L 1288.1328 1170.959 L 1700.0605 1170.959 L 1700.0605 1074.9629 L 1419.3633 1074.9629 L 1419.3633 619.72266 L 1288.1328 619.72266 z &#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;XSLTFilter&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







 will still be active even if viewing the 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#dsparser&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;DSParser &amp;#34;DSParser&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Text&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;m 1522.1543,129.30336 16.9536,359.41707 -42.9492,0 q -12.4327,-94.94036 -33.9073,-135.62908 -35.0375,-65.55406 -93.8101,-96.0706 -57.6424,-31.64679 -152.5827,-31.64679 l -215.8763,0 0,1170.93104 q 0,141.2803 30.5165,176.3178 42.9492,47.4702 132.2384,47.4702 l 53.1214,0 0,41.819 -649.88937,0 0,-41.819 54.25164,0 q 97.20084,0 137.88956,-58.7726 24.86533,-36.1677 24.86533,-165.0154 l 0,-1170.93104 -184.2295,0 q -107.37302,0 -152.58272,15.8234 -58.7726,21.4746 -100.59156,82.50769 -41.81897,61.03308 -49.73067,165.01538 l -42.94921,0 18.08388,-359.41707 1251.17832,0 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;DSParser&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







 or any other pipeline entry, although the filter that&amp;rsquo;s present in the parser step will not show any values.
This may cause confusion if you lose track of which filters have been set on which steps.&lt;/p&gt;
&lt;p&gt;Filters can be entered for multiple pipeline elements, e.g. Empty output in translationFilter and Error in schemaFilter.
In this example, all empty outputs AND schema errors will be seen, effectively providing an OR of the filters.&lt;/p&gt;
&lt;p&gt;The XPath syntax is fairly flexible.
If looking for specific TypeId values, the shortcut of &lt;code&gt;//TypeId&lt;/code&gt; will work just as well as &lt;code&gt;/Events/Event/EventDetail/TypeId&lt;/code&gt;, for example.&lt;/p&gt;
&lt;p&gt;Using filters will allow a developer to find a wide range of types of records far quicker than stepping through a large file of events.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Apache HTTPD Event Feed</title>
      <link>/docs/howtos/eventfeeds/createapachehttpdeventfeed/</link>
      <pubDate>Fri, 09 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>/docs/howtos/eventfeeds/createapachehttpdeventfeed/</guid>
      <description>
        
        
        &lt;!-- Created with Stroom v6.1-beta.16 --&gt;

&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;See Also&lt;/h4&gt;
&lt;div class=&#34;alert-content&#34;&gt;
  
  &lt;p&gt;&lt;a href=&#34;../../docs/howtos/general/enablingprocessorshowto/&#34;&gt;HOWTO - Enabling Processors for a Pipeline&lt;/a&gt;&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The following will take you through the process of creating an Event Feed in Stroom.&lt;/p&gt;
&lt;p&gt;In this example, the logs are in a well-defined, line based, text format so we will use a Data Splitter parser to transform the logs into simple record-based XML and then a XSLT translation to normalise them into the Event schema.&lt;/p&gt;
&lt;p&gt;A separate document will describe the method of automating the storage of normalised events for this feed.
Further, we will not Decorate these events.
Again, Event Decoration is described in another document.&lt;/p&gt;
&lt;h2 id=&#34;event-log-source&#34;&gt;Event Log Source&lt;/h2&gt;
&lt;p&gt;For this example, we will use logs from an Apache HTTPD Web server.
In fact, the web server in front of Stroom v5 and earlier.&lt;/p&gt;
&lt;p&gt;To get the optimal information from the Apache HTTPD access logs, we define our log format based on an extension of the &lt;em&gt;BlackBox&lt;/em&gt; format.
The format is described and defined below.
This is an extract from a HTTPD configuration file (&lt;code&gt;/etc/httpd/conf/httpd.conf&lt;/code&gt;)&lt;/p&gt;






&lt;div class=&#34;text-file card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;&#34;&gt;

  &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
    
    &lt;pre&gt;&lt;code class=&#34;language-text&#34;&gt;
# Stroom - Black Box Auditing configuration
#
# %a - Client IP address (not hostname (%h) to ensure ip address only)
# When logging the remote host, it is important to log the client IP address, not the
# hostname. We do this with the &#39;%a&#39; directive. Even if HostnameLookups are turned on,
# using &#39;%a&#39; will only record the IP address. For the purposes of BlackBox formats,
# reversed DNS should not be trusted

# %{REMOTE_PORT}e - Client source port
# Logging the client source TCP port can provide some useful network data and can help
# one associate a single client with multiple requests.
# If two clients from the same IP address make simultaneous connections, the &#39;common log&#39;
# file format cannot distinguish between those clients. Otherwise, if the client uses
# keep-alives, then every hit made from a single TCP session will be associated by the same
# client port number.
# The port information can indicate how many connections our server is handling at once,
# which may help in tuning server TCP/OP settings. It will also identify which client ports
# are legitimate requests if the administrator is examining a possible SYN-attack against a
# server.
# Note we are using the REMOTE_PORT environment variable. Environment variables only come
# into play when mod_cgi or mod_cgid is handling the request.

# %X - Connection status (use %c for Apache 1.3)
# The connection status directive tells us detailed information about the client connection.
# It returns one of three flags:
# x if the client aborted the connection before completion,
# + if the client has indicated that it will use keep-alives (and request additional URLS),
# - if the connection will be closed after the event
# Keep-Alive is a HTTP 1.1. directive that informs a web server that a client can request multiple
# files during the same connection. This way a client doesn&#39;t need to go through the overhead
# of re-establishing a TCP connection to retrieve a new file.

# %t - time - or [%{%d/%b/%Y:%T}t.%{msec_frac}t %{%z}t] for Apache 2.4
# The %t directive records the time that the request started.
# NOTE: When deployed on an Apache 2.4, or better, environment, you should use
# strftime format in order to get microsecond resolution.

# %l - remote logname

# %u - username [in quotes]
# The remote user (from auth; This may be bogus if the return status (%s) is 401
# for non-ssl services)
# For SSL services, user names need to be delivered as DNs to deliver PKI user details
# in full. To pass through PKI certificate properties in the correct form you need to
# add the following directives to your Apache configuration:
#   SSLUserName SSL_CLIENT_S_DN
#   SSLOptions +StdEnvVars
# If you cannot, then use %{SSL_CLIENT_S_DN}x in place of %u and use blackboxSSLUser
# LogFormat nickname

# %r - first line of text sent by web client [in quotes]
# This is the first line of text send by the web client, which includes the request
# method, the full URL, and the HTTP protocol.

# %s - status code before any redirection
# This is the status code of the original request.

# %&amp;gt;s - status code after any redirection has taken place
# This is the final status code of the request, after any internal redirections may
# have taken place.

# %D - time in microseconds to handle the request
# This is the number of microseconds the server took to handle the request in microseconds

# %I - incoming bytes
# This is the bytes received, include request and headers. It cannot, by definition be zero.

# %O - outgoing bytes
# This is the size in bytes of the outgoing data, including HTTP headers. It cannot, by
# definition be zero.

# %B - outgoing content bytes
# This is the size in bytes of the outgoing data, EXCLUDING HTTP headers. Unlike %b, which
# records &#39;-&#39; for zero bytes transferred, %B will record &#39;0&#39;.

# %{Referer}i - Referrer HTTP Request Header [in quotes]
# This is typically the URL of the page that made the request. If linked from
# e-mail or direct entry this value will be empty. Note, this can be spoofed
# or turned off

# %{User-Agent}i - User agent HTTP Request Header [in quotes]
# This is the identifying information the client (browser) reports about itself.
# It can be spoofed or turned off

# %V - the server name according to the UseCannonicalName setting
# This identifies the virtual host in a multi host webservice

# %p - the canonical port of the server servicing the request

# Define a variation of the Black Box logs
#
# Note, you only need to use the &#39;blackboxSSLUser&#39; nickname if you cannot set the
# following directives for any SSL configurations
# SSLUserName SSL_CLIENT_S_DN
# SSLOptions +StdEnvVars
# You will also note the variation for no logio module. The logio module supports
# the %I and %O formatting directive
#
&amp;lt;IfModule mod_logio.c&amp;gt;
   LogFormat &amp;quot;%a/%{REMOTE_PORT}e %X %t %l \&amp;quot;../../&amp;quot;%r\&amp;quot; %s/%&amp;gt;s %D %I/%O/%B \&amp;quot;%{Referer}i\&amp;quot; \&amp;quot;%{User-Agent}i\&amp;quot; %V/%p&amp;quot; blackboxUser
   LogFormat &amp;quot;%a/%{REMOTE_PORT}e %X %t %l \&amp;quot;%{SSL_CLIENT_S_DN../../&amp;quot;%r\&amp;quot; %s/%&amp;gt;s %D %I/%O/%B \&amp;quot;%{Referer}i\&amp;quot; \&amp;quot;%{User-Agent}i\&amp;quot; %V/%p&amp;quot; blackboxSSLUser
&amp;lt;/IfModule&amp;gt;
&amp;lt;IfModule !mod_logio.c&amp;gt;
   LogFormat &amp;quot;%a/%{REMOTE_PORT}e %X %t %l \&amp;quot;../../&amp;quot;%r\&amp;quot; %s/%&amp;gt;s %D 0/0/%B \&amp;quot;%{Referer}i\&amp;quot; \&amp;quot;%{User-Agent}i\&amp;quot; %V/$p&amp;quot; blackboxUser
   LogFormat &amp;quot;%a/%{REMOTE_PORT}e %X %t %l \&amp;quot;%{SSL_CLIENT_S_DN../../&amp;quot;%r\&amp;quot; %s/%&amp;gt;s %D 0/0/%B \&amp;quot;%{Referer}i\&amp;quot; \&amp;quot;%{User-Agent}i\&amp;quot; %V/$p&amp;quot; blackboxSSLUser
&amp;lt;/IfModule&amp;gt;


&lt;/code&gt;&lt;/pre&gt;


    &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
    &lt;div class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;
      
      &lt;span class=&#34;&#34; style=&#34;font-size: smaller&#34;&gt;_Apache BlackBox_ Auditing Configuration&lt;/span&gt;
      
      (
      &lt;a href=&#34;../../files/HOWTOs/EventFeeds/CreateApacheHTTPDEventFeed/ApacheHTTPDAuditConfig.txt&#34; class=&#34;&#34; style=&#34;font-size: smaller&#34;&gt;Download ApacheHTTPDAuditConfig.txt&lt;/a&gt;
      &lt;i class=&#34;external-link-icon fas fa-file-download fa-sm text-secondary&#34; title=&#34;External link&#34;&gt;&lt;/i&gt;
      )
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;As Stroom can use PKI for login, you can configure Stroom’s Apache to make use of the &lt;em&gt;blackboxSSLUser&lt;/em&gt; log format.
A sample set of logs in this format appear below.&lt;/p&gt;






&lt;div class=&#34;text-file card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;&#34;&gt;

  &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
    
    &lt;pre&gt;&lt;code class=&#34;language-text&#34;&gt;192.168.4.220/61801 - [18/Jan/2020:12:39:04 -0800] - &amp;quot;/C=USA/ST=CA/L=Los Angeles/O=Default Company Ltd/CN=Burn Frank (burn)&amp;quot; &amp;quot;POST /stroom/stroom/dispatch.rpc HTTP/1.1&amp;quot; 200/200 21221 2289/415/14 &amp;quot;https://stroomnode00.strmdev00.org/stroom/&amp;quot; &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36&amp;quot; stroomnode00.strmdev00.org/443
192.168.4.220/61854 - [18/Jan/2020:12:40:04 -0800] - &amp;quot;/C=USA/ST=CA/L=Los Angeles/O=Default Company Ltd/CN=Burn Frank (burn)&amp;quot; &amp;quot;POST /stroom/stroom/dispatch.rpc HTTP/1.1&amp;quot; 200/200 7889 2289/415/14 &amp;quot;https://stroomnode00.strmdev00.org/stroom/&amp;quot; &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36&amp;quot; stroomnode00.strmdev00.org/443
192.168.4.220/61909 - [18/Jan/2020:12:41:04 -0800] - &amp;quot;/C=USA/ST=CA/L=Los Angeles/O=Default Company Ltd/CN=Burn Frank (burn)&amp;quot; &amp;quot;POST /stroom/stroom/dispatch.rpc HTTP/1.1&amp;quot; 200/200 6901 2389/3796/14 &amp;quot;https://stroomnode00.strmdev00.org/stroom/&amp;quot; &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36&amp;quot; stroomnode00.strmdev00.org/443
192.168.4.220/61962 - [18/Jan/2020:12:42:04 -0800] - &amp;quot;/C=USA/ST=CA/L=Los Angeles/O=Default Company Ltd/CN=Burn Frank (burn)&amp;quot; &amp;quot;POST /stroom/stroom/dispatch.rpc HTTP/1.1&amp;quot; 200/200 11219 2289/415/14 &amp;quot;https://stroomnode00.strmdev00.org/stroom/&amp;quot; &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36&amp;quot; stroomnode00.strmdev00.org/443
192.168.8.151/62015 - [18/Jan/2020:12:43:04 +1100] - &amp;quot;/C=AUS/ST=NSW/L=Sydney/O=Default Company Ltd/CN=Max Bergman (maxb)&amp;quot; &amp;quot;POST /stroom/stroom/dispatch.rpc HTTP/1.1&amp;quot; 200/200 4265 2289/415/14 &amp;quot;https://stroomnode00.strmdev00.org/stroom/&amp;quot; &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36&amp;quot; stroomnode00.strmdev00.org/443
192.168.8.151/62092 - [18/Jan/2020:12:44:04 +1100] - &amp;quot;/C=AUS/ST=NSW/L=Sydney/O=Default Company Ltd/CN=Max Bergman (maxb)&amp;quot; &amp;quot;POST /stroom/stroom/dispatch.rpc HTTP/1.1&amp;quot; 200/200 9791 2289/415/14 &amp;quot;https://stroomnode00.strmdev00.org/stroom/&amp;quot; &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36&amp;quot; stroomnode00.strmdev00.org/443
192.168.8.151/62147 - [18/Jan/2020:12:44:10 +1100] - &amp;quot;/C=AUS/ST=NSW/L=Sydney/O=Default Company Ltd/CN=Max Bergman (maxb)&amp;quot; &amp;quot;POST /stroom/stroom/dispatch.rpc HTTP/1.1&amp;quot; 200/200 9791 2289/415/14 &amp;quot;https://stroomnode00.strmdev00.org/stroom/&amp;quot; &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36&amp;quot; stroomnode00.strmdev00.org/443
192.168.8.151/62147 - [18/Jan/2020:12:44:20 +1100] - &amp;quot;/C=AUS/ST=NSW/L=Sydney/O=Default Company Ltd/CN=Max Bergman (maxb)&amp;quot; &amp;quot;POST /stroom/stroom/dispatch.rpc HTTP/1.1&amp;quot; 200/200 11509 2289/415/14 &amp;quot;https://stroomnode00.strmdev00.org/stroom/&amp;quot; &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36&amp;quot; stroomnode00.strmdev00.org/443
192.168.8.151/62202 - [18/Jan/2020:12:44:21 +1100] - &amp;quot;/C=AUS/ST=NSW/L=Sydney/O=Default Company Ltd/CN=Max Bergman (maxb)&amp;quot; &amp;quot;POST /stroom/stroom/dispatch.rpc HTTP/1.1&amp;quot; 200/200 4627 2389/3796/14 &amp;quot;https://stroomnode00.strmdev00.org/stroom/&amp;quot; &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36&amp;quot; stroomnode00.strmdev00.org/443
192.168.8.151/62294 - [18/Jan/2020:12:44:21 +1100] - &amp;quot;/C=AUS/ST=NSW/L=Sydney/O=Default Company Ltd/CN=Max Bergman (maxb)&amp;quot; &amp;quot;POST /stroom/stroom/dispatch.rpc HTTP/1.1&amp;quot; 200/200 12367 2289/415/14 &amp;quot;https://stroomnode00.strmdev00.org/stroom/&amp;quot; &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36&amp;quot; stroomnode00.strmdev00.org/443
192.168.8.151/62349 - [18/Jan/2020:12:44:25 +1100] - &amp;quot;/C=AUS/ST=NSW/L=Sydney/O=Default Company Ltd/CN=Max Bergman (maxb)&amp;quot; &amp;quot;POST /stroom/stroom/dispatch.rpc HTTP/1.1&amp;quot; 200/200 12765 2289/415/14 &amp;quot;https://stroomnode00.strmdev00.org/stroom/&amp;quot; &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36&amp;quot; stroomnode00.strmdev00.org/443
192.168.234.9/62429 - [18/Jan/2020:12:50:06 +0000] - &amp;quot;/C=GBR/ST=GLOUCESTERSHIRE/L=Bristol/O=Default Company Ltd/CN=Kostas Kosta (kk)&amp;quot; &amp;quot;POST /stroom/stroom/dispatch.rpc HTTP/1.1&amp;quot; 200/200 12245 2289/415/14 &amp;quot;https://stroomnode00.strmdev00.org/stroom/&amp;quot; &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36&amp;quot; stroomnode00.strmdev00.org/443
192.168.234.9/62429 - [18/Jan/2020:12:50:04 +0000] - &amp;quot;/C=GBR/ST=GLOUCESTERSHIRE/L=Bristol/O=Default Company Ltd/CN=Kostas Kosta (kk)&amp;quot; &amp;quot;POST /stroom/stroom/dispatch.rpc HTTP/1.1&amp;quot; 200/200 12245 2289/415/14 &amp;quot;https://stroomnode00.strmdev00.org/stroom/&amp;quot; &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36&amp;quot; stroomnode00.strmdev00.org/443
192.168.234.9/62495 - [18/Jan/2020:12:51:04 +0000] - &amp;quot;/C=GBR/ST=GLOUCESTERSHIRE/L=Bristol/O=Default Company Ltd/CN=Kostas Kosta (kk)&amp;quot; &amp;quot;POST /stroom/stroom/dispatch.rpc HTTP/1.1&amp;quot; 200/200 4327 2289/415/14 &amp;quot;https://stroomnode00.strmdev00.org/stroom/&amp;quot; &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36&amp;quot; stroomnode00.strmdev00.org/443
192.168.234.9/62549 - [18/Jan/2020:12:52:04 +0000] - &amp;quot;/C=GBR/ST=GLOUCESTERSHIRE/L=Bristol/O=Default Company Ltd/CN=Kostas Kosta (kk)&amp;quot; &amp;quot;POST /stroom/stroom/dispatch.rpc HTTP/1.1&amp;quot; 200/200 7148 2289/415/14 &amp;quot;https://stroomnode00.strmdev00.org/stroom/&amp;quot; &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36&amp;quot; stroomnode00.strmdev00.org/443
192.168.234.9/62626 - [18/Jan/2020:12:52:06 +0000] - &amp;quot;/C=GBR/ST=GLOUCESTERSHIRE/L=Bristol/O=Default Company Ltd/CN=Kostas Kosta (kk)&amp;quot; &amp;quot;POST /stroom/stroom/dispatch.rpc HTTP/1.1&amp;quot; 200/200 11386 2289/415/14 &amp;quot;https://stroomnode00.strmdev00.org/stroom/&amp;quot; &amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36&amp;quot; stroomnode00.strmdev00.org/443

&lt;/code&gt;&lt;/pre&gt;


    &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
    &lt;div class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;
      
      &lt;span class=&#34;&#34; style=&#34;font-size: smaller&#34;&gt;_Apache BlackBox_ sample log&lt;/span&gt;
      
      (
      &lt;a href=&#34;../../files/HOWTOs/EventFeeds/CreateApacheHTTPDEventFeed/sampleApacheBlackBox.log&#34; class=&#34;&#34; style=&#34;font-size: smaller&#34;&gt;Download sampleApacheBlackBox.log&lt;/a&gt;
      &lt;i class=&#34;external-link-icon fas fa-file-download fa-sm text-secondary&#34; title=&#34;External link&#34;&gt;&lt;/i&gt;
      )
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Save a copy of this data to your local environment for use later in this HOWTO.
Save this file as a text document with ANSI encoding.&lt;/p&gt;
&lt;h2 id=&#34;create-the-feed-and-its-pipeline&#34;&gt;Create the Feed and its Pipeline&lt;/h2&gt;
&lt;p&gt;To reflect the source of these Accounting Logs, we will name our feed and its pipeline &lt;em&gt;Apache-SSLBlackBox-V2.0-EVENTS&lt;/em&gt; and it will be stored in the system group Apache HTTPD under the main system group - &lt;code&gt;Event Sources&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;create-system-group&#34;&gt;Create System Group&lt;/h3&gt;
&lt;p&gt;To create the system group Apache HTTPD, navigate to the &lt;em&gt;Event Sources/Infrastructure/WebServer&lt;/em&gt; system group within the Explorer pane (if this system group structure does not already exist in your Stroom instance then refer to the &lt;strong&gt;HOWTO Stroom Explorer Management&lt;/strong&gt; for guidance).
Left click to highlight the
&lt;em&gt;WebServer&lt;/em&gt; system group then right click to bring up the object context menu.
Navigate to the &lt;em&gt;New&lt;/em&gt; icon, then the &lt;em&gt;Folder&lt;/em&gt; icon to reveal the &lt;em&gt;New Folder&lt;/em&gt; selection window.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-00.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-00.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-00.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-00.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Navigate Explorer&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;In the New Folder window enter Apache HTTPD into the &lt;strong&gt;Name:&lt;/strong&gt; text entry box.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-01.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-01.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-01.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-01.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Create System Group&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Then click on 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
 at which point you will be presented with the Apache HTTPD system group configuration tab.
Also note, the &lt;em&gt;WebServer&lt;/em&gt; system group within the Explorer pane has automatically expanded to display the &lt;code&gt;Apache HTTPD&lt;/code&gt; system group.&lt;/p&gt;
&lt;p&gt;Close the Apache HTTPD system group configuration tab by clicking on the close item icon on the right-hand side of the tab 








  





&lt;span class=&#34;stroom-theme-dark stroom-tab stroom-tab-active&#34; title=&#34;Folder tab - &#39;Apache HTTPD&#39;&#34; &gt;
  &lt;span class=&#34;stroom-tab-icon&#34;&gt;
    &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Folder&#34;&gt;&lt;svg width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34; version=&#34;1.1&#34; id=&#34;svg1&#34; sodipodi:docname=&#34;Folder.svg&#34; inkscape:version=&#34;1.4.2 (f4327f4, 2025-05-13)&#34; xmlns:inkscape=&#34;http://www.inkscape.org/namespaces/inkscape&#34; xmlns:sodipodi=&#34;http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; xmlns:svg=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;defs id=&#34;defs1&#34; /&gt;&lt;sodipodi:namedview id=&#34;namedview1&#34; pagecolor=&#34;var(--icon-colour__white)&#34; bordercolor=&#34;var(--icon-colour__black)&#34; borderopacity=&#34;0.25&#34; inkscape:showpageshadow=&#34;2&#34; inkscape:pageopacity=&#34;0.0&#34; inkscape:pagecheckerboard=&#34;0&#34; inkscape:deskcolor=&#34;#d1d1d1&#34; inkscape:zoom=&#34;0.51702009&#34; inkscape:cx=&#34;814.2817&#34; inkscape:cy=&#34;683.72585&#34; inkscape:window-width=&#34;3840&#34; inkscape:window-height=&#34;2071&#34; inkscape:window-x=&#34;3191&#34; inkscape:window-y=&#34;-9&#34; inkscape:window-maximized=&#34;1&#34; inkscape:current-layer=&#34;svg1&#34; /&gt;&lt;path style=&#34;stroke-width:1.07898&#34; d=&#34;m 1792,646.90301 v 761.05769 q 0,99.4565 -71.077,170.8056 -71.0768,71.3493 -170.1538,71.3493 H 241.23076 q -99.07692,0 -170.153839,-71.3493 Q 0,1507.4172 0,1407.9607 V 370.15473 Q 0,270.69833 71.076921,199.34916 142.15384,128 241.23076,128 h 344.6154 q 99.07692,0 170.15384,71.34916 71.07692,71.34917 71.07692,170.80557 v 34.59355 h 723.69228 q 99.077,0 170.1538,71.34915 Q 1792,547.44659 1792,646.90301 Z&#34; id=&#34;path1&#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-tab-name&#34;&gt;Apache HTTPD&lt;/span&gt;
  &lt;span class=&#34;stroom-tab-cross&#34;&gt;
    &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Tab close&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; version=&#34;1.1&#34; height=&#34;45&#34; width=&#34;45&#34; viewBox=&#34;0 0 45 45&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:4.5;stroke-linecap:round;&#34; transform=&#34;translate(13.9661017,13.5677966)&#34;&gt;&lt;path d=&#34;M -2.5783352e-4,-0.00146808 17.435473,18.212367&#34;/&gt;&lt;path d=&#34;M -2.5783352e-4,18.212367 17.435473,-0.00146808&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;/span&gt;
&lt;/span&gt;

.&lt;/p&gt;
&lt;p&gt;We now need to create, in order&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the Feed,&lt;/li&gt;
&lt;li&gt;the Text Parser,&lt;/li&gt;
&lt;li&gt;the Translation and finally,&lt;/li&gt;
&lt;li&gt;the Pipeline.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;create-feed&#34;&gt;Create Feed&lt;/h3&gt;
&lt;p&gt;Within the Explorer pane, and having selected the Apache HTTPD group, right click to bring up object context menu.
Navigate to New, Feed&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-03.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-03.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-03.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-03.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Apache Create Feed&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Select the Feed icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Feed&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__green)&#34; d=&#34;m 938.50195,211.41007 c -5.56299,0.0388 -11.74705,1.29983 -18.55468,3.7832 -18.1537,6.6223 -30.41561,18.62426 -36.78321,36.00781 L 781.2832,529.3378 l -636.59961,0 c -11.58903,0 -22.47327,3.72569 -32.65234,11.17578 -10.17907,7.4501 -17.391684,16.96956 -21.636719,28.5586 L 3.0683594,807.47452 c -4.2450584,11.5891 -4.00823944,21.10849 0.7128906,28.55859 4.72114,7.4501 12.877765,11.17578 24.466797,11.17578 358.940143,-0.86657 728.661783,-0.53744 1037.093753,-0.52148 l 192.0293,-132.33789 c 11.3101,-8.27788 19.0869,-18.21175 23.332,-29.80078 3.9418,-10.76125 3.2906,-20.28072 -1.9551,-28.5586 L 961.13086,221.4003 c -5.81425,-6.72578 -13.35726,-10.05491 -22.62891,-9.99023 z m 509.37505,415.625 c -5.563,0.0388 -11.7471,1.29983 -18.5547,3.7832 -18.1537,6.6223 -30.4156,18.62426 -36.7832,36.00781 l -101.8809,278.13672 -762.55273,0 c -11.58903,0 -22.47327,3.72569 -32.65235,11.17578 -10.17906,7.4501 -17.39165,16.96957 -21.63671,28.5586 l -87.32618,238.40232 c -4.24506,11.5891 -4.00824,21.1085 0.71289,28.5586 4.72113,7.4501 12.87777,11.1758 24.4668,11.1758 l 762.55278,0 -101.8809,278.1367 c -6.0644,16.5558 -2.5987,28.5577 10.4004,36.0078 13.3022,6.6223 28.6997,4.1399 46.1894,-7.4492 l 637.8145,-439.5547 c 11.3101,-8.2779 19.0869,-18.2117 23.332,-29.8008 3.9418,-10.7612 3.2906,-20.2807 -1.9551,-28.5586 L 1470.5059,637.0253 c -5.8143,-6.72578 -13.3573,-10.05491 -22.6289,-9.99023 z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;, when the &lt;strong&gt;New Feed&lt;/strong&gt; selection window comes up, ensure the &lt;code&gt;Apache HTTPD&lt;/code&gt; system group is selected or navigate to it.
Then enter the name of the feed, Apache-SSLBlackBox-V2.0-EVENTS, into the &lt;strong&gt;Name:&lt;/strong&gt; text entry box then press 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
.&lt;/p&gt;
&lt;p&gt;It should be noted that the default Stroom FeedName pattern will not accept this name.
One needs to modify the &lt;code&gt;stroom.feedNamePattern&lt;/code&gt; stroom property to change the default pattern to &lt;code&gt;^[a-zA-Z0-9_-\.]{3,}$&lt;/code&gt;.
See the &lt;a href=&#34;../../docs/howtos/administration/systemproperties/&#34;&gt;HOWTO on System Properties&lt;/a&gt; document to see how to make this change.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-04.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-04.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-04.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-04.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New Feed dialog&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;At this point you will be presented with the new feed&amp;rsquo;s configuration tab and the feed&amp;rsquo;s Explorer object will automatically appear in the Explorer pane within the &lt;code&gt;Apache HTTPD&lt;/code&gt; system group.&lt;/p&gt;
&lt;p&gt;Select the &lt;em&gt;Settings&lt;/em&gt; tab on the feed&amp;rsquo;s configuration tab.
Enter an appropriate description into the &lt;strong&gt;Description:&lt;/strong&gt; text entry box, for instance:&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Apache HTTPD events for BlackBox Version 2.0. These events are from a Secure service (https).&amp;rdquo;&lt;/p&gt;
&lt;p&gt;In the &lt;strong&gt;Classification:&lt;/strong&gt; text entry box, enter a Classification of the data that the event feed will contain - that is the classification or sensitivity of the accounting log’s content itself.&lt;/p&gt;
&lt;p&gt;As this is not a Reference Feed, leave the &lt;strong&gt;Reference Feed:&lt;/strong&gt; check box unchecked.&lt;/p&gt;
&lt;p&gt;We leave the &lt;strong&gt;Feed Status:&lt;/strong&gt; at &lt;em&gt;Receive&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;We leave the &lt;strong&gt;Stream Type:&lt;/strong&gt; as &lt;em&gt;Raw Events&lt;/em&gt; as we will be sending batches (streams) of raw event logs.&lt;/p&gt;
&lt;p&gt;We leave the &lt;strong&gt;Data Encoding:&lt;/strong&gt; as UTF-8 as the raw logs are in this form.&lt;/p&gt;
&lt;p&gt;We leave the &lt;strong&gt;Context Encoding:&lt;/strong&gt; as UTF-8 as there are no context events for this feed.&lt;/p&gt;
&lt;p&gt;We leave the &lt;strong&gt;Retention Period:&lt;/strong&gt; at &lt;em&gt;Forever&lt;/em&gt; as we do not want to delete the raw logs.&lt;/p&gt;
&lt;p&gt;This results in&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-05.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-05.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-05.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-05.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New Feed tab&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Save the feed by clicking on the save icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;.&lt;/p&gt;
&lt;h3 id=&#34;create-text-converter&#34;&gt;Create Text Converter&lt;/h3&gt;
&lt;p&gt;Within the Explorer pane, and having selected the &lt;code&gt;Apache HTTPD&lt;/code&gt; system group, right click to bring up object context menu, then select:&lt;/p&gt;





  &lt;div class=&#34;stroom-theme-dark stroom-menu&#34;&gt;
    
    

      

      
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 0px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item &#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;New
      &lt;/div&gt;
        &lt;div class=&#34;stroom-menu-item-arrow&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Arrow right&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

      

      
      
        
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 7px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item stroom-menu-item-leaf&#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Text converter&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;m 1522.1543,129.30336 16.9536,359.41707 -42.9492,0 q -12.4327,-94.94036 -33.9073,-135.62908 -35.0375,-65.55406 -93.8101,-96.0706 -57.6424,-31.64679 -152.5827,-31.64679 l -215.8763,0 0,1170.93104 q 0,141.2803 30.5165,176.3178 42.9492,47.4702 132.2384,47.4702 l 53.1214,0 0,41.819 -649.88937,0 0,-41.819 54.25164,0 q 97.20084,0 137.88956,-58.7726 24.86533,-36.1677 24.86533,-165.0154 l 0,-1170.93104 -184.2295,0 q -107.37302,0 -152.58272,15.8234 -58.7726,21.4746 -100.59156,82.50769 -41.81897,61.03308 -49.73067,165.01538 l -42.94921,0 18.08388,-359.41707 1251.17832,0 z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;Text Converter
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;/div&gt;



&lt;p&gt;When the &lt;strong&gt;New Text Converter&lt;/strong&gt;&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-07.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-07.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-07.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-07.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New Text Converter&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;selection window comes up enter the name of the feed, Apache-SSLBlackBox-V2.0-EVENTS, into the &lt;strong&gt;Name:&lt;/strong&gt; text entry box then press 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
.
At this point you will be presented with the new text converter&amp;rsquo;s configuration tab.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-08.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-08.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-08.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-08.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Text Converter configuration tab&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Enter an appropriate description into the &lt;strong&gt;Description:&lt;/strong&gt; text entry box, for instance&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Apache HTTPD events for BlackBox Version 2.0 - text converter.
See Conversion for complete documentation.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Set the &lt;strong&gt;Converter Type:&lt;/strong&gt; to be Data Splitter from drop down menu.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-09.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-09.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-09.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-09.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Text Converter configuration settings&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Save the text converter by clicking on the save icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;.&lt;/p&gt;
&lt;h3 id=&#34;create-xslt-translation&#34;&gt;Create XSLT Translation&lt;/h3&gt;
&lt;p&gt;Within the Explorer pane, and having selected the &lt;code&gt;Apache HTTPD&lt;/code&gt; system group, right click to bring up object context menu, then select:&lt;/p&gt;





  &lt;div class=&#34;stroom-theme-dark stroom-menu&#34;&gt;
    
    

      

      
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 0px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item &#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;New
      &lt;/div&gt;
        &lt;div class=&#34;stroom-menu-item-arrow&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Arrow right&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

      

      
      
        
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 7px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item stroom-menu-item-leaf&#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Xslt&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__xsl-background)&#34; d=&#34;M 684.30664 211.38672 C 672.42766 211.38672 661.91891 215.95413 652.78125 225.0918 L 14.058594 863.81641 C 4.9209141 872.95409 0.3515625 883.46088 0.3515625 895.33984 C 0.3515625 907.21882 4.9209142 917.72756 14.058594 926.86523 L 652.78125 1565.5898 C 661.91891 1574.7275 672.42766 1579.2949 684.30664 1579.2949 C 696.1856 1579.2949 706.69435 1574.7275 715.83203 1565.5898 L 784.36523 1497.0566 C 793.5029 1487.9191 798.07031 1477.4102 798.07031 1465.5312 C 798.07031 1453.6524 793.5029 1443.1436 784.36523 1434.0059 L 245.69922 895.33984 L 784.36523 356.67578 C 793.5029 347.53811 798.07031 337.02937 798.07031 325.15039 C 798.07031 313.27142 793.5029 302.76268 784.36523 293.625 L 715.83203 225.0918 C 706.69435 215.95413 696.1856 211.38672 684.30664 211.38672 z M 1107.9082 211.38672 C 1096.0293 211.38672 1085.5225 215.95414 1076.3848 225.0918 L 1007.8516 293.625 C 998.71402 302.76268 994.14453 313.27142 994.14453 325.15039 C 994.14453 337.02937 998.71402 347.53811 1007.8516 356.67578 L 1546.5176 895.33984 L 1007.8516 1434.0059 C 998.71402 1443.1436 994.14453 1453.6523 994.14453 1465.5312 C 994.14453 1477.4102 998.71402 1487.9191 1007.8516 1497.0566 L 1076.3848 1565.5898 C 1085.5225 1574.7275 1096.0293 1579.2949 1107.9082 1579.2949 C 1119.7872 1579.2949 1130.2959 1574.7275 1139.4336 1565.5898 L 1778.1582 926.86523 C 1787.2959 917.72756 1791.8633 907.21882 1791.8633 895.33984 C 1791.8633 883.46088 1787.2959 872.95409 1778.1582 863.81641 L 1139.4336 225.0918 C 1130.2959 215.95414 1119.7872 211.38672 1107.9082 211.38672 z &#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;M 914.01562 609.75391 C 846.69543 609.75391 793.7585 624.0295 755.20508 652.58203 C 716.65166 681.13457 697.375 720.39439 697.375 770.36133 C 697.375 809.25185 709.09092 840.2669 732.51953 863.4043 C 755.94815 886.29555 800.72934 908.20094 866.86328 929.12305 L 931.36523 949.42969 C 953.90415 956.5678 971.1042 966.4135 982.9668 978.9668 C 994.82939 991.27392 1000.7617 1005.6745 1000.7617 1022.166 C 1000.7617 1044.0727 991.86421 1061.1792 974.07031 1073.4863 C 956.27643 1085.5473 931.21618 1091.5781 898.89062 1091.5781 C 866.86163 1091.5781 834.38939 1086.5313 801.4707 1076.4395 C 768.84858 1066.3477 735.03956 1050.9651 700.04492 1030.2891 L 700.04492 1142.8984 C 730.88766 1155.6978 762.76881 1165.2975 795.6875 1171.6973 C 828.90275 1178.3431 861.96998 1181.666 894.88867 1181.666 C 974.96115 1181.666 1034.719 1168.0054 1074.1621 1140.6836 C 1113.9018 1113.1156 1133.7715 1071.5169 1133.7715 1015.8887 C 1133.7715 975.02903 1121.167 941.18506 1095.959 914.35547 C 1070.751 887.52595 1031.4559 865.98759 978.07422 849.74219 L 921.57812 832.01953 C 882.43158 819.95854 856.6315 809.00586 844.17578 799.16016 C 832.01663 789.06832 825.93555 776.3917 825.93555 761.13086 C 825.93555 741.43946 834.38878 726.30288 851.29297 715.71875 C 868.19716 705.13462 892.51562 699.8418 924.24805 699.8418 C 952.71826 699.8418 981.4855 704.14869 1010.5488 712.76367 C 1039.6122 721.37867 1068.2307 733.93228 1096.4043 750.42383 L 1096.4043 644.08984 C 1066.4513 632.76728 1036.2005 624.27651 1005.6543 618.61523 C 975.10813 612.70782 944.56179 609.75391 914.01562 609.75391 z M 109.28711 619.72266 L 298.79297 891.09375 L 103.94922 1170.959 L 239.62891 1170.959 L 365.96484 988.56641 L 492.74609 1170.959 L 628.42383 1170.959 L 434.4707 891.09375 L 623.08594 619.72266 L 487.4082 619.72266 L 365.96484 795.09961 L 244.9668 619.72266 L 109.28711 619.72266 z M 1288.1328 619.72266 L 1288.1328 1170.959 L 1700.0605 1170.959 L 1700.0605 1074.9629 L 1419.3633 1074.9629 L 1419.3633 619.72266 L 1288.1328 619.72266 z &#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;XSL Translation
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;/div&gt;



&lt;p&gt;When the &lt;strong&gt;New XSLT&lt;/strong&gt; selection window comes up,&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-11.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-11.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-11.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-11.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New XSLT&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;enter the name of the feed, Apache-SSLBlackBox-V2.0-EVENTS, into the &lt;strong&gt;Name:&lt;/strong&gt; text entry box then press 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
.
At this point you will be presented with the new XSLT&amp;rsquo;s configuration tab.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-12.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-12.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-12.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-12.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New XSLT tab&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Enter an appropriate description into the &lt;strong&gt;Description:&lt;/strong&gt; text entry box, for instance&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Apache HTTPD events for BlackBox Version 2.0 - translation.
See Translation for complete documentation.&amp;rdquo;&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-13.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-13.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-13.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-13.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New XSLT settings&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Save the XSLT by clicking on the save &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; icon.&lt;/p&gt;
&lt;h3 id=&#34;create-pipeline&#34;&gt;Create Pipeline&lt;/h3&gt;
&lt;p&gt;In the process of creating this pipeline we have assumed that the &lt;strong&gt;Template Pipeline&lt;/strong&gt; content pack has been loaded, so that we can &lt;em&gt;Inherit&lt;/em&gt; a pipeline structure from this content pack and configure it to support this specific feed.&lt;/p&gt;
&lt;p&gt;Within the Explorer pane, and having selected the Apache HTTPD system group, right click to bring up object context menu, then select:&lt;/p&gt;





  &lt;div class=&#34;stroom-theme-dark stroom-menu&#34;&gt;
    
    

      

      
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 0px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item &#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;New
      &lt;/div&gt;
        &lt;div class=&#34;stroom-menu-item-arrow&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Arrow right&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

      

      
      
        
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 7px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item stroom-menu-item-leaf&#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Pipeline&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;m 1440,95.339844 c -9.3333,0 -17,2.999997 -23,8.999996 -6,6 -9,13.66667 -9,23 l 0,192 -256,0 c -45.3333,0 -88,5.5 -128,16.5 -40.00001,11 -75.50001,25 -106.50001,42 -31,17 -61,39.83333 -90,68.5 -29,28.66667 -53.66667,56.33333 -74,83 -20.33333,26.66667 -41.66667,60 -64,100 -19.99699,35.8155 -36.49225,67.59036 -49.54102,95.38868 -0.27492,0.10932 -0.53471,0.21669 -0.81054,0.32617 -16,30.66667 -31,56.5 -45,77.5 -14,21 -31,41.5 -51,61.5 -20,20 -43,35 -69,45 -26,10 -55,15 -87,15 l -355.148435,0 c -9.333333,0 -17,3 -23.0000004,9 -6,6 -9.0000000375455,13.66667 -9.0000000375455,23 l 0,192.00001 c 0,9.3333 3.0000000375455,17 9.0000000375455,23 6.0000004,6 13.6666674,9 23.0000004,9 l 355.148435,0 c 45.33333,0 88,-5.5 128,-16.5 40,-11 75.5,-25 106.5,-42 31,-17 61,-39.8333 90,-68.5 29,-28.6667 53.66667,-56.33334 74,-83.00001 20.33333,-26.66667 41.66667,-60 64,-100 19.8569,-35.56461 36.26775,-67.15315 49.27344,-94.8125 0.36178,-0.305 0.71557,-0.5961 1.07812,-0.90235 16,-30.66667 31,-56.5 45,-77.5 14,-21 31,-41.5 51,-61.5 20.00001,-20 43.00001,-35 69.00001,-45 26,-10 55,-15 87,-15 l 256,0 0,192 c 0,8.66667 3.1667,16.16667 9.5,22.5 6.3333,6.33333 13.8333,9.5 22.5,9.5 9.3333,0 17,-3 23,-9 l 320,-320 c 6,-6 9,-13.66667 9,-23 0,-9.33333 -3,-17 -9,-23 l -319,-319 c -8,-6.666666 -16,-9.999996 -24,-9.999996 z&#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__green)&#34; d=&#34;M 32 608.88672 C 22.666667 608.88672 15 611.88672 9 617.88672 C 3.0000001 623.88672 0 631.55342 0 640.88672 L 0 832.88672 C -2.3684758e-15 842.22005 3.0000001 849.88672 9 855.88672 C 14.999999 861.88672 22.666667 864.88672 32 864.88672 L 387.14844 864.88672 C 389.01484 864.88672 390.86885 864.90739 392.71484 864.94141 C 424.84023 863.54598 455.12074 854.70213 477.65234 838.51562 C 513.22947 811.0071 542.31317 769.76507 567.46094 723.21289 A 59.082625 59.082625 0 0 1 567.88281 722.44336 C 577.24508 705.7116 585.95748 689.48787 593.56641 673.41992 A 59.082625 59.082625 0 0 1 594.40625 671.7168 C 596.87369 666.9118 599.36286 662.08644 601.86719 657.25195 C 575.79127 644.74345 546.89263 634.11637 515.14844 625.38672 C 475.14844 614.38672 432.48177 608.88672 387.14844 608.88672 L 32 608.88672 z M 870.56641 957.2793 C 853.49205 984.29535 834.72449 1010.8834 813.4375 1036.3711 A 59.082625 59.082625 0 0 1 813.08984 1036.7852 C 777.58172 1078.5162 737.58032 1121.5966 687.80664 1156.543 C 688.3781 1157.5702 688.9227 1158.5676 689.5 1159.6016 C 711.83333 1199.6016 733.16667 1232.9349 753.5 1259.6016 C 773.83333 1286.2683 798.5 1313.9349 827.5 1342.6016 C 856.5 1371.2683 886.5 1394.1016 917.5 1411.1016 C 948.5 1428.1016 983.99999 1442.1016 1024 1453.1016 C 1064 1464.1016 1106.6667 1469.6016 1152 1469.6016 L 1408 1469.6016 L 1408 1661.6016 C 1408 1670.9349 1411 1678.6016 1417 1684.6016 C 1423 1690.6016 1430.6667 1693.6016 1440 1693.6016 C 1448 1693.6016 1456 1690.2683 1464 1683.6016 L 1783 1364.6016 C 1789 1358.6016 1792 1350.9349 1792 1341.6016 C 1792 1332.2683 1789 1324.6016 1783 1318.6016 L 1463 998.60156 C 1457 992.60156 1449.3333 989.60156 1440 989.60156 C 1431.3333 989.60156 1423.8333 992.76823 1417.5 999.10156 C 1411.1667 1005.4348 1408 1012.9349 1408 1021.6016 L 1408 1213.6016 L 1152 1213.6016 C 1120 1213.6016 1091 1208.6016 1065 1198.6016 C 1039 1188.6016 1016 1173.6016 996 1153.6016 C 976 1133.6016 959 1113.1016 945 1092.1016 C 931 1071.1016 916 1045.2683 900 1014.6016 C 899.63745 1014.2954 899.28365 1014.0042 898.92188 1013.6992 C 890.80126 996.429 881.35206 977.6246 870.56641 957.2793 z &#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;Pipeline
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;/div&gt;



&lt;p&gt;When the &lt;strong&gt;New Pipeline&lt;/strong&gt; selection window comes up, navigate to, then select the Apache HTTPD system group and then enter the name of the pipeline, Apache-SSLBlackBox-V2.0-EVENTS into the &lt;strong&gt;Name:&lt;/strong&gt; text entry box then press 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
.
At this point you will be presented with the new pipeline’s configuration tab&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-15.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-15.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-15.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-15.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New Pipeline tab&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;As usual, enter an appropriate &lt;strong&gt;Description:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Apache HTTPD events for BlackBox Version 2.0 - pipeline.
This pipeline uses the standard event pipeline to store the events in the Event Store.&amp;rdquo;&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-16.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-16.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-16.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-16.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New Pipeline settings&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Save the pipeline by clicking on the save icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;We now need to select the structure this pipeline will use.
We need to move from the &lt;strong&gt;Settings&lt;/strong&gt; sub-item on the pipeline configuration tab to the &lt;strong&gt;Structure&lt;/strong&gt; sub-item.
This is done by clicking on the &lt;strong&gt;Structure&lt;/strong&gt; link, at which we see&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-17.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-17.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-17.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-17.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New Pipeline Structure&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Next we will choose an Event Data pipeline.
This is done by inheriting it from a defined set of Template Pipelines.
To do this, click on the menu selection icon to the right of the Inherit From: text display box.&lt;/p&gt;
&lt;p&gt;When the &lt;strong&gt;Choose item&lt;/strong&gt;&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-18.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-18.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-18.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-18.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New Pipeline inherited from&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;selection window appears, select from the &lt;code&gt;Template Pipelines&lt;/code&gt; system group.
In this instance, as our input data is text, we select (left click) the &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Pipeline&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;m 1440,95.339844 c -9.3333,0 -17,2.999997 -23,8.999996 -6,6 -9,13.66667 -9,23 l 0,192 -256,0 c -45.3333,0 -88,5.5 -128,16.5 -40.00001,11 -75.50001,25 -106.50001,42 -31,17 -61,39.83333 -90,68.5 -29,28.66667 -53.66667,56.33333 -74,83 -20.33333,26.66667 -41.66667,60 -64,100 -19.99699,35.8155 -36.49225,67.59036 -49.54102,95.38868 -0.27492,0.10932 -0.53471,0.21669 -0.81054,0.32617 -16,30.66667 -31,56.5 -45,77.5 -14,21 -31,41.5 -51,61.5 -20,20 -43,35 -69,45 -26,10 -55,15 -87,15 l -355.148435,0 c -9.333333,0 -17,3 -23.0000004,9 -6,6 -9.0000000375455,13.66667 -9.0000000375455,23 l 0,192.00001 c 0,9.3333 3.0000000375455,17 9.0000000375455,23 6.0000004,6 13.6666674,9 23.0000004,9 l 355.148435,0 c 45.33333,0 88,-5.5 128,-16.5 40,-11 75.5,-25 106.5,-42 31,-17 61,-39.8333 90,-68.5 29,-28.6667 53.66667,-56.33334 74,-83.00001 20.33333,-26.66667 41.66667,-60 64,-100 19.8569,-35.56461 36.26775,-67.15315 49.27344,-94.8125 0.36178,-0.305 0.71557,-0.5961 1.07812,-0.90235 16,-30.66667 31,-56.5 45,-77.5 14,-21 31,-41.5 51,-61.5 20.00001,-20 43.00001,-35 69.00001,-45 26,-10 55,-15 87,-15 l 256,0 0,192 c 0,8.66667 3.1667,16.16667 9.5,22.5 6.3333,6.33333 13.8333,9.5 22.5,9.5 9.3333,0 17,-3 23,-9 l 320,-320 c 6,-6 9,-13.66667 9,-23 0,-9.33333 -3,-17 -9,-23 l -319,-319 c -8,-6.666666 -16,-9.999996 -24,-9.999996 z&#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__green)&#34; d=&#34;M 32 608.88672 C 22.666667 608.88672 15 611.88672 9 617.88672 C 3.0000001 623.88672 0 631.55342 0 640.88672 L 0 832.88672 C -2.3684758e-15 842.22005 3.0000001 849.88672 9 855.88672 C 14.999999 861.88672 22.666667 864.88672 32 864.88672 L 387.14844 864.88672 C 389.01484 864.88672 390.86885 864.90739 392.71484 864.94141 C 424.84023 863.54598 455.12074 854.70213 477.65234 838.51562 C 513.22947 811.0071 542.31317 769.76507 567.46094 723.21289 A 59.082625 59.082625 0 0 1 567.88281 722.44336 C 577.24508 705.7116 585.95748 689.48787 593.56641 673.41992 A 59.082625 59.082625 0 0 1 594.40625 671.7168 C 596.87369 666.9118 599.36286 662.08644 601.86719 657.25195 C 575.79127 644.74345 546.89263 634.11637 515.14844 625.38672 C 475.14844 614.38672 432.48177 608.88672 387.14844 608.88672 L 32 608.88672 z M 870.56641 957.2793 C 853.49205 984.29535 834.72449 1010.8834 813.4375 1036.3711 A 59.082625 59.082625 0 0 1 813.08984 1036.7852 C 777.58172 1078.5162 737.58032 1121.5966 687.80664 1156.543 C 688.3781 1157.5702 688.9227 1158.5676 689.5 1159.6016 C 711.83333 1199.6016 733.16667 1232.9349 753.5 1259.6016 C 773.83333 1286.2683 798.5 1313.9349 827.5 1342.6016 C 856.5 1371.2683 886.5 1394.1016 917.5 1411.1016 C 948.5 1428.1016 983.99999 1442.1016 1024 1453.1016 C 1064 1464.1016 1106.6667 1469.6016 1152 1469.6016 L 1408 1469.6016 L 1408 1661.6016 C 1408 1670.9349 1411 1678.6016 1417 1684.6016 C 1423 1690.6016 1430.6667 1693.6016 1440 1693.6016 C 1448 1693.6016 1456 1690.2683 1464 1683.6016 L 1783 1364.6016 C 1789 1358.6016 1792 1350.9349 1792 1341.6016 C 1792 1332.2683 1789 1324.6016 1783 1318.6016 L 1463 998.60156 C 1457 992.60156 1449.3333 989.60156 1440 989.60156 C 1431.3333 989.60156 1423.8333 992.76823 1417.5 999.10156 C 1411.1667 1005.4348 1408 1012.9349 1408 1021.6016 L 1408 1213.6016 L 1152 1213.6016 C 1120 1213.6016 1091 1208.6016 1065 1198.6016 C 1039 1188.6016 1016 1173.6016 996 1153.6016 C 976 1133.6016 959 1113.1016 945 1092.1016 C 931 1071.1016 916 1045.2683 900 1014.6016 C 899.63745 1014.2954 899.28365 1014.0042 898.92188 1013.6992 C 890.80126 996.429 881.35206 977.6246 870.56641 957.2793 z &#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; &lt;em&gt;Event Data (Text)&lt;/em&gt; pipeline&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-19.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-19.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-19.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-19.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New Pipeline inherited selection&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;then press 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
.
At this point, we see the inherited pipeline structure of&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-20.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-20.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-20.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-20.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New Pipeline inherited structure&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;For the purpose of this HOWTO, we are only interested in two of the eleven (11) elements in this pipeline&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the Text Converter labelled &lt;em&gt;dsParser&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;the XSLT Translation labelled &lt;em&gt;translationFilter&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We now need to associate our Text Converter and Translation with the pipeline so that we can pass raw events (logs) through our pipeline in order to save them in the Event Store.&lt;/p&gt;
&lt;p&gt;To associate the Text Converter, select the Text Converter icon, to display.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-21.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-21.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-21.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-21.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New Pipeline associate textconverter&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Now navigate to the &lt;strong&gt;Property&lt;/strong&gt; pane (the middle pane of the pipeline configuration tab), then double click on the &lt;em&gt;textConverter&lt;/em&gt; Property Name to display the &lt;strong&gt;Edit
Property&lt;/strong&gt; selection window that allows you to edit the given property&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-22.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-22.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-22.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-22.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New Pipeline textconverter association&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We leave the Property &lt;strong&gt;Source:&lt;/strong&gt; as Inherit but we need to change the Property &lt;strong&gt;Value:&lt;/strong&gt; from &lt;em&gt;None&lt;/em&gt; to be our newly created Apache-SSLBlackBox-V2.0-EVENTS Text Converter.&lt;/p&gt;
&lt;p&gt;To do this, position the cursor over the menu selection icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Menu selection&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; height=&#34;1792&#34; width=&#34;1792&#34; version=&#34;1.1&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;g style=&#34;fill:currentColor&#34;&gt;&lt;circle cx=&#34;342.43176&#34; cy=&#34;896&#34; r=&#34;208.83429&#34;/&gt;&lt;circle cx=&#34;896&#34; cy=&#34;896&#34; r=&#34;208.83429&#34;/&gt;&lt;circle cx=&#34;1449.5682&#34; cy=&#34;896&#34; r=&#34;208.83429&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; to the right of the &lt;strong&gt;Value:&lt;/strong&gt; text display box and click to select.
Navigate to the &lt;code&gt;Apache HTTPD&lt;/code&gt; system group then select the Apache-SSLBlackBox-V2.0-EVENTS text Converter&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-23.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-23.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-23.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-23.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New Pipeline textconverter association&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;then press 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
.
At this point, we will see the Property &lt;em&gt;Value&lt;/em&gt; set&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-24.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-24.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-24.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-24.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New Pipeline textconverter association&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Again press 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
 to finish editing this property and we see that the &lt;em&gt;textConverter&lt;/em&gt; Property has been set to &lt;strong&gt;Apache-SSLBlackBox-V2.0-EVENTS&lt;/strong&gt;&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-25.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-25.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-25.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-25.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New Pipeline textconverter association&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We perform the same actions to associate the translation.&lt;/p&gt;
&lt;p&gt;First, we select the translation Filter’s 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#xsltfilter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;XSLTFilter &amp;#34;translationFilter&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Xslt&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__xsl-background)&#34; d=&#34;M 684.30664 211.38672 C 672.42766 211.38672 661.91891 215.95413 652.78125 225.0918 L 14.058594 863.81641 C 4.9209141 872.95409 0.3515625 883.46088 0.3515625 895.33984 C 0.3515625 907.21882 4.9209142 917.72756 14.058594 926.86523 L 652.78125 1565.5898 C 661.91891 1574.7275 672.42766 1579.2949 684.30664 1579.2949 C 696.1856 1579.2949 706.69435 1574.7275 715.83203 1565.5898 L 784.36523 1497.0566 C 793.5029 1487.9191 798.07031 1477.4102 798.07031 1465.5312 C 798.07031 1453.6524 793.5029 1443.1436 784.36523 1434.0059 L 245.69922 895.33984 L 784.36523 356.67578 C 793.5029 347.53811 798.07031 337.02937 798.07031 325.15039 C 798.07031 313.27142 793.5029 302.76268 784.36523 293.625 L 715.83203 225.0918 C 706.69435 215.95413 696.1856 211.38672 684.30664 211.38672 z M 1107.9082 211.38672 C 1096.0293 211.38672 1085.5225 215.95414 1076.3848 225.0918 L 1007.8516 293.625 C 998.71402 302.76268 994.14453 313.27142 994.14453 325.15039 C 994.14453 337.02937 998.71402 347.53811 1007.8516 356.67578 L 1546.5176 895.33984 L 1007.8516 1434.0059 C 998.71402 1443.1436 994.14453 1453.6523 994.14453 1465.5312 C 994.14453 1477.4102 998.71402 1487.9191 1007.8516 1497.0566 L 1076.3848 1565.5898 C 1085.5225 1574.7275 1096.0293 1579.2949 1107.9082 1579.2949 C 1119.7872 1579.2949 1130.2959 1574.7275 1139.4336 1565.5898 L 1778.1582 926.86523 C 1787.2959 917.72756 1791.8633 907.21882 1791.8633 895.33984 C 1791.8633 883.46088 1787.2959 872.95409 1778.1582 863.81641 L 1139.4336 225.0918 C 1130.2959 215.95414 1119.7872 211.38672 1107.9082 211.38672 z &#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;M 914.01562 609.75391 C 846.69543 609.75391 793.7585 624.0295 755.20508 652.58203 C 716.65166 681.13457 697.375 720.39439 697.375 770.36133 C 697.375 809.25185 709.09092 840.2669 732.51953 863.4043 C 755.94815 886.29555 800.72934 908.20094 866.86328 929.12305 L 931.36523 949.42969 C 953.90415 956.5678 971.1042 966.4135 982.9668 978.9668 C 994.82939 991.27392 1000.7617 1005.6745 1000.7617 1022.166 C 1000.7617 1044.0727 991.86421 1061.1792 974.07031 1073.4863 C 956.27643 1085.5473 931.21618 1091.5781 898.89062 1091.5781 C 866.86163 1091.5781 834.38939 1086.5313 801.4707 1076.4395 C 768.84858 1066.3477 735.03956 1050.9651 700.04492 1030.2891 L 700.04492 1142.8984 C 730.88766 1155.6978 762.76881 1165.2975 795.6875 1171.6973 C 828.90275 1178.3431 861.96998 1181.666 894.88867 1181.666 C 974.96115 1181.666 1034.719 1168.0054 1074.1621 1140.6836 C 1113.9018 1113.1156 1133.7715 1071.5169 1133.7715 1015.8887 C 1133.7715 975.02903 1121.167 941.18506 1095.959 914.35547 C 1070.751 887.52595 1031.4559 865.98759 978.07422 849.74219 L 921.57812 832.01953 C 882.43158 819.95854 856.6315 809.00586 844.17578 799.16016 C 832.01663 789.06832 825.93555 776.3917 825.93555 761.13086 C 825.93555 741.43946 834.38878 726.30288 851.29297 715.71875 C 868.19716 705.13462 892.51562 699.8418 924.24805 699.8418 C 952.71826 699.8418 981.4855 704.14869 1010.5488 712.76367 C 1039.6122 721.37867 1068.2307 733.93228 1096.4043 750.42383 L 1096.4043 644.08984 C 1066.4513 632.76728 1036.2005 624.27651 1005.6543 618.61523 C 975.10813 612.70782 944.56179 609.75391 914.01562 609.75391 z M 109.28711 619.72266 L 298.79297 891.09375 L 103.94922 1170.959 L 239.62891 1170.959 L 365.96484 988.56641 L 492.74609 1170.959 L 628.42383 1170.959 L 434.4707 891.09375 L 623.08594 619.72266 L 487.4082 619.72266 L 365.96484 795.09961 L 244.9668 619.72266 L 109.28711 619.72266 z M 1288.1328 619.72266 L 1288.1328 1170.959 L 1700.0605 1170.959 L 1700.0605 1074.9629 L 1419.3633 1074.9629 L 1419.3633 619.72266 L 1288.1328 619.72266 z &#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;translationFilter&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







 element and then within translation Filter’s &lt;strong&gt;Property&lt;/strong&gt; pane we double click on the &lt;em&gt;xslt&lt;/em&gt; Property Name to bring up the &lt;strong&gt;Property Editor&lt;/strong&gt;.
As before, bring up the &lt;strong&gt;Choose item&lt;/strong&gt; selection window, navigate to the &lt;code&gt;Apache HTTPD&lt;/code&gt; system group and select the
Apache-SSLBlackBox-V2.0-EVENTS xslt Translation.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-26.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-26.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-26.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-26.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New Pipeline Translation association&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We leave the remaining properties in the translation Filter’s &lt;strong&gt;Property&lt;/strong&gt; pane at their default values.
The result is the assignment of our translation to the &lt;em&gt;xslt&lt;/em&gt; Property.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-27.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-27.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-27.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-27.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;New Pipeline Translation association&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;For the moment, we will not associate a decoration filter.&lt;/p&gt;
&lt;p&gt;Save the pipeline by clicking on its &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; icon.&lt;/p&gt;
&lt;h3 id=&#34;manually-load-raw-event-test-data&#34;&gt;Manually load Raw Event test data&lt;/h3&gt;
&lt;p&gt;Having established the pipeline, we can now start authoring our text converter and translation.
The first step is to load some Raw Event test data.
Previously in the &lt;strong&gt;Event Log Source&lt;/strong&gt; of this HOWTO you saved a copy of the file &lt;em&gt;sampleApacheBlackBox.log&lt;/em&gt; to your local environment.
It contains only a few events as the content is consistently formatted.
We could feed the test data by posting the file to Stroom’s accounting/datafeed url, but for this example we will manually load the file.
Once developed, raw data is posted to the web service.&lt;/p&gt;
&lt;p&gt;Select the 












&lt;span class=&#34;stroom-theme-dark stroom-tab &#34; title=&#34;Feed tab - &#39;ApacheHHTPDFeed&#39;&#34; &gt;
  &lt;span class=&#34;stroom-tab-icon&#34;&gt;
    &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Feed&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__green)&#34; d=&#34;m 938.50195,211.41007 c -5.56299,0.0388 -11.74705,1.29983 -18.55468,3.7832 -18.1537,6.6223 -30.41561,18.62426 -36.78321,36.00781 L 781.2832,529.3378 l -636.59961,0 c -11.58903,0 -22.47327,3.72569 -32.65234,11.17578 -10.17907,7.4501 -17.391684,16.96956 -21.636719,28.5586 L 3.0683594,807.47452 c -4.2450584,11.5891 -4.00823944,21.10849 0.7128906,28.55859 4.72114,7.4501 12.877765,11.17578 24.466797,11.17578 358.940143,-0.86657 728.661783,-0.53744 1037.093753,-0.52148 l 192.0293,-132.33789 c 11.3101,-8.27788 19.0869,-18.21175 23.332,-29.80078 3.9418,-10.76125 3.2906,-20.28072 -1.9551,-28.5586 L 961.13086,221.4003 c -5.81425,-6.72578 -13.35726,-10.05491 -22.62891,-9.99023 z m 509.37505,415.625 c -5.563,0.0388 -11.7471,1.29983 -18.5547,3.7832 -18.1537,6.6223 -30.4156,18.62426 -36.7832,36.00781 l -101.8809,278.13672 -762.55273,0 c -11.58903,0 -22.47327,3.72569 -32.65235,11.17578 -10.17906,7.4501 -17.39165,16.96957 -21.63671,28.5586 l -87.32618,238.40232 c -4.24506,11.5891 -4.00824,21.1085 0.71289,28.5586 4.72113,7.4501 12.87777,11.1758 24.4668,11.1758 l 762.55278,0 -101.8809,278.1367 c -6.0644,16.5558 -2.5987,28.5577 10.4004,36.0078 13.3022,6.6223 28.6997,4.1399 46.1894,-7.4492 l 637.8145,-439.5547 c 11.3101,-8.2779 19.0869,-18.2117 23.332,-29.8008 3.9418,-10.7612 3.2906,-20.2807 -1.9551,-28.5586 L 1470.5059,637.0253 c -5.8143,-6.72578 -13.3573,-10.05491 -22.6289,-9.99023 z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-tab-name&#34;&gt;ApacheHHTPDFeed&lt;/span&gt;
  &lt;span class=&#34;stroom-tab-cross&#34;&gt;
    &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Tab close&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; version=&#34;1.1&#34; height=&#34;45&#34; width=&#34;45&#34; viewBox=&#34;0 0 45 45&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:4.5;stroke-linecap:round;&#34; transform=&#34;translate(13.9661017,13.5677966)&#34;&gt;&lt;path d=&#34;M -2.5783352e-4,-0.00146808 17.435473,18.212367&#34;/&gt;&lt;path d=&#34;M -2.5783352e-4,18.212367 17.435473,-0.00146808&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;/span&gt;
&lt;/span&gt;

 tab and select the &lt;strong&gt;Data&lt;/strong&gt; sub-tab to display&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-29.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-29.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-29.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-29.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Data Loading&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;This window is divided into three panes.&lt;/p&gt;
&lt;p&gt;The top pane displays the &lt;em&gt;Stream Table&lt;/em&gt;, which is a table of the latest streams that belong to the feed (clearly it’s empty).&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-30.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-30.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-30.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-30.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Data Loading - Stream Table&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Note that a Raw Event &lt;em&gt;stream&lt;/em&gt; is made up of data from a single file of data or aggregation of multiple data files and also meta-data associated with the data file(s).
For example, file names, file size, etc.&lt;/p&gt;
&lt;p&gt;The middle pane displays a &lt;em&gt;Specific&lt;/em&gt; feed and any linked streams.
To display a &lt;em&gt;Specific&lt;/em&gt; feed, you select it from the &lt;em&gt;Stream Table&lt;/em&gt; above.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-31.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-31.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-31.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-31.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Data Loading - Specific Stream&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;The bottom pane displays the selected stream’s data or meta-data.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-32.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-32.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-32.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-32.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Data Loading - Data/Metadata&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Note the Upload icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Upload&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__green)&#34; d=&#34;M1675 971q0 51-37 90l-75 75q-38 38-91 38-54 0-90-38l-294-293v704q0 52-37.5 84.5t-90.5 32.5h-128q-53 0-90.5-32.5t-37.5-84.5v-704l-294 293q-36 38-90 38t-90-38l-75-75q-38-38-38-90 0-53 38-91l651-651q35-37 90-37 54 0 91 37l651 651q37 39 37 91z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; in the top left of the Stream table pane.
On clicking the Upload icon, we are presented with the data &lt;strong&gt;Upload&lt;/strong&gt; selection window.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-33.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-33.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-33.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-33.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Data Loading - Upload Data&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;As stated earlier, raw event data is normally posted as a file to the Stroom web server.
As part of this posting action, a set of well-defined HTTP &lt;em&gt;extra headers&lt;/em&gt; are sent as part of the post.
These headers, in the form of key value pairs, provide additional context associated with the system sending the logs.
These standard headers become Stroom &lt;em&gt;feed attributes&lt;/em&gt; available to the Stroom translation.
Common attributes are&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;System - the name of the System providing the logs&lt;/li&gt;
&lt;li&gt;Environment - the environment of the system (Production, Quality Assurance, Reference, Development)&lt;/li&gt;
&lt;li&gt;Feed - the feedname itself&lt;/li&gt;
&lt;li&gt;MyHost - the fully qualified domain name of the system sending the logs&lt;/li&gt;
&lt;li&gt;MyIPaddress - the IP address of the system sending the logs&lt;/li&gt;
&lt;li&gt;MyNameServer - the name server the system resolves names through&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Since our translation will want these feed attributes, we will set them in the Meta Data text entry box of the &lt;strong&gt;Upload&lt;/strong&gt; selection window.
Note we can skip &lt;em&gt;Feed&lt;/em&gt; as this will automatically be assigned correctly as part of the upload action (setting it to &lt;code&gt;Apache-SSLBlackBox-V2.0-EVENTS&lt;/code&gt; obviously).&lt;/p&gt;
&lt;p&gt;Our &lt;strong&gt;Meta Data:&lt;/strong&gt; will have&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-properties&#34;&gt;System:LinuxWebServer 
Environment:Production 
MyHost:stroomnode00.strmdev00.org 
MyIPaddress:192.168.2.245
MyNameServer:192.168.2.254
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;We select a &lt;strong&gt;Stream Type:&lt;/strong&gt; of &lt;em&gt;Raw Events&lt;/em&gt; as this data is for an &lt;em&gt;Event Feed&lt;/em&gt;.
As this is not a &lt;em&gt;Reference Feed&lt;/em&gt; we ignore the &lt;strong&gt;Effective:&lt;/strong&gt; entry box (a date/time selector).&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-34.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-34.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-34.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-34.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Upload Data&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We now click the &lt;strong&gt;Choose File&lt;/strong&gt; button, then navigate to the location of the raw log file you downloaded earlier, &lt;em&gt;sampleApacheBlackBox.log&lt;/em&gt;&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-35.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-35.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-35.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-35.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Upload Data&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;then click &lt;strong&gt;Open&lt;/strong&gt; to return to the &lt;strong&gt;Upload&lt;/strong&gt; selection window where we can then press 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
 to perform the upload.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-36.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-36.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-36.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-36.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Upload Data&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;An Alert dialog window is presented 






  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-37.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-37.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-37.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-37.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Alert&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;
 which should be &lt;strong&gt;closed&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The stream we have just loaded will now be displayed in the &lt;em&gt;Streams Table&lt;/em&gt; pane.
Note that the &lt;em&gt;Specific Stream&lt;/em&gt;
and &lt;em&gt;Data/Meta-data&lt;/em&gt; panes are still blank.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-38.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-38.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-38.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-38.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Data Loading - Streams Table&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;If we select the stream by clicking anywhere along its line, the stream is highlighted and the &lt;em&gt;Specific Stream&lt;/em&gt; and Data/Meta-data_ panes now display data.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-39.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-39.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-39.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-39.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Data Loading - Streams Table&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;The &lt;em&gt;Specific Stream&lt;/em&gt; pane only displays the Raw Event stream and the &lt;em&gt;Data/Meta-data&lt;/em&gt; pane displays the content of the log file just uploaded (the &lt;strong&gt;Data&lt;/strong&gt; link).
If we were to click on the &lt;strong&gt;Meta&lt;/strong&gt; link at the top of the &lt;em&gt;Data/Meta-data&lt;/em&gt; pane, the log data is replaced by this stream’s meta-data.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-40.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-40.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-40.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-40.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Data Loading - Meta-data&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Note that, in addition to the feed attributes we set, the upload process added additional feed attributes of&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Feed - the feed name&lt;/li&gt;
&lt;li&gt;ReceivedTime - the time the feed was received by Stroom&lt;/li&gt;
&lt;li&gt;RemoteFile - the name of the file loaded&lt;/li&gt;
&lt;li&gt;StreamSize - the size, in bytes, of the loaded data within the stream&lt;/li&gt;
&lt;li&gt;user-agent - the user agent used to present the stream to Stroom - in this case, the Stroom user Interface&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We now have data that will allow us to develop our text converter and translation.&lt;/p&gt;
&lt;h3 id=&#34;step-data-through-pipeline---source&#34;&gt;Step data through Pipeline - Source&lt;/h3&gt;
&lt;p&gt;We now need to step our data through the pipeline.&lt;/p&gt;
&lt;p&gt;To do this, set the check-box on the &lt;em&gt;Specific Stream&lt;/em&gt; pane and we note that the previously greyed out action icons (&lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Process&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;m 1440,95.339844 c -9.3333,0 -17,2.999997 -23,8.999996 -6,6 -9,13.66667 -9,23 l 0,192 -256,0 c -45.3333,0 -88,5.5 -128,16.5 -40.00001,11 -75.50001,25 -106.50001,42 -31,17 -61,39.83333 -90,68.5 -29,28.66667 -53.66667,56.33333 -74,83 -20.33333,26.66667 -41.66667,60 -64,100 -19.99699,35.8155 -36.49225,67.59036 -49.54102,95.38868 -0.27492,0.10932 -0.53471,0.21669 -0.81054,0.32617 -16,30.66667 -31,56.5 -45,77.5 -14,21 -31,41.5 -51,61.5 -20,20 -43,35 -69,45 -26,10 -55,15 -87,15 l -355.148435,0 c -9.333333,0 -17,3 -23.0000004,9 -6,6 -9.0000000375455,13.66667 -9.0000000375455,23 l 0,192.00001 c 0,9.3333 3.0000000375455,17 9.0000000375455,23 6.0000004,6 13.6666674,9 23.0000004,9 l 355.148435,0 c 45.33333,0 88,-5.5 128,-16.5 40,-11 75.5,-25 106.5,-42 31,-17 61,-39.8333 90,-68.5 29,-28.6667 53.66667,-56.33334 74,-83.00001 20.33333,-26.66667 41.66667,-60 64,-100 19.8569,-35.56461 36.26775,-67.15315 49.27344,-94.8125 0.36178,-0.305 0.71557,-0.5961 1.07812,-0.90235 16,-30.66667 31,-56.5 45,-77.5 14,-21 31,-41.5 51,-61.5 20.00001,-20 43.00001,-35 69.00001,-45 26,-10 55,-15 87,-15 l 256,0 0,192 c 0,8.66667 3.1667,16.16667 9.5,22.5 6.3333,6.33333 13.8333,9.5 22.5,9.5 9.3333,0 17,-3 23,-9 l 320,-320 c 6,-6 9,-13.66667 9,-23 0,-9.33333 -3,-17 -9,-23 l -319,-319 c -8,-6.666666 -16,-9.999996 -24,-9.999996 z&#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__green)&#34; d=&#34;M 32 608.88672 C 22.666667 608.88672 15 611.88672 9 617.88672 C 3.0000001 623.88672 0 631.55342 0 640.88672 L 0 832.88672 C -2.3684758e-15 842.22005 3.0000001 849.88672 9 855.88672 C 14.999999 861.88672 22.666667 864.88672 32 864.88672 L 387.14844 864.88672 C 389.01484 864.88672 390.86885 864.90739 392.71484 864.94141 C 424.84023 863.54598 455.12074 854.70213 477.65234 838.51562 C 513.22947 811.0071 542.31317 769.76507 567.46094 723.21289 A 59.082625 59.082625 0 0 1 567.88281 722.44336 C 577.24508 705.7116 585.95748 689.48787 593.56641 673.41992 A 59.082625 59.082625 0 0 1 594.40625 671.7168 C 596.87369 666.9118 599.36286 662.08644 601.86719 657.25195 C 575.79127 644.74345 546.89263 634.11637 515.14844 625.38672 C 475.14844 614.38672 432.48177 608.88672 387.14844 608.88672 L 32 608.88672 z M 870.56641 957.2793 C 853.49205 984.29535 834.72449 1010.8834 813.4375 1036.3711 A 59.082625 59.082625 0 0 1 813.08984 1036.7852 C 777.58172 1078.5162 737.58032 1121.5966 687.80664 1156.543 C 688.3781 1157.5702 688.9227 1158.5676 689.5 1159.6016 C 711.83333 1199.6016 733.16667 1232.9349 753.5 1259.6016 C 773.83333 1286.2683 798.5 1313.9349 827.5 1342.6016 C 856.5 1371.2683 886.5 1394.1016 917.5 1411.1016 C 948.5 1428.1016 983.99999 1442.1016 1024 1453.1016 C 1064 1464.1016 1106.6667 1469.6016 1152 1469.6016 L 1408 1469.6016 L 1408 1661.6016 C 1408 1670.9349 1411 1678.6016 1417 1684.6016 C 1423 1690.6016 1430.6667 1693.6016 1440 1693.6016 C 1448 1693.6016 1456 1690.2683 1464 1683.6016 L 1783 1364.6016 C 1789 1358.6016 1792 1350.9349 1792 1341.6016 C 1792 1332.2683 1789 1324.6016 1783 1318.6016 L 1463 998.60156 C 1457 992.60156 1449.3333 989.60156 1440 989.60156 C 1431.3333 989.60156 1423.8333 992.76823 1417.5 999.10156 C 1411.1667 1005.4348 1408 1012.9349 1408 1021.6016 L 1408 1213.6016 L 1152 1213.6016 C 1120 1213.6016 1091 1208.6016 1065 1198.6016 C 1039 1188.6016 1016 1173.6016 996 1153.6016 C 976 1133.6016 959 1113.1016 945 1092.1016 C 931 1071.1016 916 1045.2683 900 1014.6016 C 899.63745 1014.2954 899.28365 1014.0042 898.92188 1013.6992 C 890.80126 996.429 881.35206 977.6246 870.56641 957.2793 z &#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Delete&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M704 1376v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm256 0v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm256 0v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm-544-992h448l-48-117q-7-9-17-11h-317q-10 2-17 11zm928 32v64q0 14-9 23t-23 9h-96v948q0 83-47 143.5t-113 60.5h-832q-66 0-113-58.5t-47-141.5v-952h-96q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h309l70-167q15-37 54-63t79-26h320q40 0 79 26t54 63l70 167h309q14 0 23 9t9 23z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Download&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__green)&#34; d=&#34;M1675 832q0 53-37 90l-651 652q-39 37-91 37-53 0-90-37l-651-652q-38-36-38-90 0-53 38-91l74-75q39-37 91-37 53 0 90 37l294 294v-704q0-52 38-90t90-38h128q52 0 90 38t38 90v704l294-294q37-37 90-37 52 0 91 37l75 75q37 39 37 91z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;) are now enabled.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-43.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-43.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-43.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-43.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Select Stream to Step&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We now want to step our data through the first element of the pipeline, the Text Converter.
We enter Stepping Mode by pressing the stepping button &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Stepping&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 1792 1792&#34; height=&#34;1792&#34; width=&#34;1792&#34;&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;m 1303.3748,386.71917 0,1018.43693 c 0,18.6714 -15.2766,33.948 -33.948,33.948 l -113.1596,0 c -18.6713,0 -33.9479,-15.2766 -33.9479,-33.948 l 0,-429.72386 -485.17205,442.73726 c -58.27722,48.6587 -148.52205,7.9212 -148.52205,-69.5932 0,-571.78462 0,-247.4743 0,-905.2773 0,-77.51437 90.24483,-117.96894 148.52205,-69.59319 l 485.17205,439.62531 0,-426.61195 c 0,-18.67134 15.2766,-33.94789 33.9479,-33.94789 l 113.1596,0 c 18.6714,0 33.948,15.27655 33.948,33.94789 z&#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; found at the bottom right corner of the &lt;em&gt;Data/Meta-data&lt;/em&gt; pane.&lt;/p&gt;
&lt;p&gt;We will then be requested to choose a pipeline to step with, at which point you should navigate to the &lt;code&gt;Apache-SSLBlackBox-V2.0-EVENTS&lt;/code&gt; pipeline as per&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-44.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-44.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-44.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-44.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Select pipeline to Step&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Then press 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
.&lt;/p&gt;
&lt;p&gt;At this point, we enter the pipeline Stepping tab&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-45.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-45.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-45.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-45.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;pipeline Stepping tab - Source&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Which, initially displays the Raw Event data from our stream.
This is the Source display for the Event Pipeline.&lt;/p&gt;
&lt;h3 id=&#34;step-data-through-pipeline---text-converter&#34;&gt;Step data through Pipeline - Text Converter&lt;/h3&gt;
&lt;p&gt;We click on the 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#dsparser&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;DSParser &amp;#34;DSParser&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Text&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;m 1522.1543,129.30336 16.9536,359.41707 -42.9492,0 q -12.4327,-94.94036 -33.9073,-135.62908 -35.0375,-65.55406 -93.8101,-96.0706 -57.6424,-31.64679 -152.5827,-31.64679 l -215.8763,0 0,1170.93104 q 0,141.2803 30.5165,176.3178 42.9492,47.4702 132.2384,47.4702 l 53.1214,0 0,41.819 -649.88937,0 0,-41.819 54.25164,0 q 97.20084,0 137.88956,-58.7726 24.86533,-36.1677 24.86533,-165.0154 l 0,-1170.93104 -184.2295,0 q -107.37302,0 -152.58272,15.8234 -58.7726,21.4746 -100.59156,82.50769 -41.81897,61.03308 -49.73067,165.01538 l -42.94921,0 18.08388,-359.41707 1251.17832,0 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;DSParser&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







 element to enter the Text Converter stepping window.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-46.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-46.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-46.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-46.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;pipeline Stepping tab - Text Converter&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;This &lt;em&gt;stepping&lt;/em&gt; tab is divided into three sub-panes.
The top one is the Text Converter editor and it will allow you to edit the text conversion.
The bottom left window displays the &lt;em&gt;input&lt;/em&gt; to the Text Converter.
The bottom right window displays the &lt;em&gt;output&lt;/em&gt; from the Text Converter for the given input.&lt;/p&gt;
&lt;p&gt;We also note an error indicator - that of an error in the editor pane as indicated by the black back-grounded x and rectangular black boxes to the right of the editor’s scroll bar.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-47.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-47.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-47.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-47.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;pipeline Stepping tab - Error&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;In essence, this means that we have no text converter to pass the Raw Event data through.&lt;/p&gt;
&lt;p&gt;To correct this, we will author our text converter using the Data Splitter &lt;em&gt;language&lt;/em&gt;.
Normally this is done incrementally to more easily develop the parser.
The minimum text converter contains&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;quot;1.1&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;dataSplitter xmlns=&amp;quot;data-splitter:3&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;data-splitter:3 file://data-splitter-v3.0.1.xsd&amp;quot; version=&amp;quot;3.0&amp;quot;&amp;gt;
    &amp;lt;split  delimiter=&amp;quot;\n&amp;quot;&amp;gt;
        &amp;lt;group&amp;gt;
            &amp;lt;regex pattern=&amp;quot;^(.*)$&amp;quot;&amp;gt;
                &amp;lt;data name=&amp;quot;rest&amp;quot; value=&amp;quot;$1&amp;quot; /&amp;gt;
            &amp;lt;/regex&amp;gt;
        &amp;lt;/group&amp;gt;
    &amp;lt;/split&amp;gt;
&amp;lt;/dataSplitter&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If we now press the Step First &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Step first&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; icon the error will disappear and the stepping window will show.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-48.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-48.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-48.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-48.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;pipeline Stepping tab - Text Converter Simple A&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;As we can see, the first line of our Raw Event is displayed in the &lt;em&gt;input&lt;/em&gt; pane and the &lt;em&gt;output&lt;/em&gt; window holds the converted XML output where we just have a single &lt;em&gt;data&lt;/em&gt; element with a &lt;em&gt;name&lt;/em&gt; attribute of &lt;em&gt;rest&lt;/em&gt; and a &lt;em&gt;value&lt;/em&gt; attribute of the complete raw event as our regular expression matched the entire line.&lt;/p&gt;
&lt;p&gt;The next incremental step in the parser, would be to &lt;em&gt;parse out&lt;/em&gt; additional &lt;em&gt;data&lt;/em&gt; elements.
For example, in this next iteration we extract the client ip address, the client port and hold the rest of the Event in the rest data element.&lt;/p&gt;
&lt;p&gt;With the text converter containing&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;quot;1.1&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;dataSplitter xmlns=&amp;quot;data-splitter:3&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;data-splitter:3 file://data-splitter-v3.0.1.xsd&amp;quot; version=&amp;quot;3.0&amp;quot;&amp;gt;
    &amp;lt;split  delimiter=&amp;quot;\n&amp;quot;&amp;gt;
        &amp;lt;group&amp;gt;
            &amp;lt;regex pattern=&amp;quot;^([^/]+)/([^  ]+) (.*)$&amp;quot;&amp;gt;
                &amp;lt;data name=&amp;quot;clientip&amp;quot;  value=&amp;quot;$1&amp;quot; /&amp;gt;
                &amp;lt;data name=&amp;quot;clientport&amp;quot;  value=&amp;quot;$2&amp;quot; /&amp;gt;
                &amp;lt;data name=&amp;quot;rest&amp;quot; value=&amp;quot;$3&amp;quot; /&amp;gt;
            &amp;lt;/regex&amp;gt;
        &amp;lt;/group&amp;gt;
    &amp;lt;/split&amp;gt;
&amp;lt;/dataSplitter&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and a click on the Refresh Current Step &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Refresh&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M1639 1056q0 5-1 7-64 268-268 434.5t-478 166.5q-146 0-282.5-55t-243.5-157l-129 129q-19 19-45 19t-45-19-19-45v-448q0-26 19-45t45-19h448q26 0 45 19t19 45-19 45l-137 137q71 66 161 102t187 36q134 0 250-65t186-179q11-17 53-117 8-23 30-23h192q13 0 22.5 9.5t9.5 22.5zm25-800v448q0 26-19 45t-45 19h-448q-26 0-45-19t-19-45 19-45l138-138q-148-137-349-137-134 0-250 65t-186 179q-11 17-53 117-8 23-30 23h-199q-13 0-22.5-9.5t-9.5-22.5v-7q65-268 270-434.5t480-166.5q146 0 284 55.5t245 156.5l130-129q19-19 45-19t45 19 19 45z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; icon we will see the &lt;em&gt;output&lt;/em&gt; pane contain&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-49.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-49.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-49.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-49.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Text Converter Simple B&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We continue this incremental parsing until we have our complete parser.&lt;/p&gt;
&lt;p&gt;The following is our complete Text Converter which generates xml records as defined by the Stroom &lt;strong&gt;records v3.0&lt;/strong&gt; schema.&lt;/p&gt;






&lt;div class=&#34;text-file card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;&#34;&gt;

  &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
    
    &lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;quot;1.1&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;dataSplitter 
    xmlns=&amp;quot;data-splitter:3&amp;quot; 
    xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; 
    xsi:schemaLocation=&amp;quot;data-splitter:3 file://data-splitter-v3.0.1.xsd&amp;quot; 
    version=&amp;quot;3.0&amp;quot;&amp;gt;

&amp;lt;!-- CLASSIFICATION: UNCLASSIFIED --&amp;gt;

&amp;lt;!-- Release History:
Release 20131001, 1 Oct 2013 - Initial release 

General Notes: 
This data splitter takes audit events for the Stroom variant of the Black Box Apache Auditing.

Event Format: The following is extracted from the Configuration settings for the Stroom variant of the Black Box Apache Auditing format.

#  Stroom - Black  Box  Auditing configuration
#
#  %a  - Client  IP address  (not  hostname (%h) to ensure ip address only)
#  When  logging the remote host,  it is important to log the client  IP address, not the
#  hostname. We do   this  with the &#39;%a&#39; directive.  Even  if HostnameLookups  are turned on,
#  using &#39;%a&#39; will  only record the IP address.  For the purposes of BlackBox formats,
#  reversed DNS should not  be trusted

#  %{REMOTE_PORT}e  - Client source port
#  Logging the client  source TCP  port  can provide some   useful  network data and can help
#  one associate a single client  with multiple requests.
#  If two   clients from the  same IP address  make   simultaneous connections, the &#39;common  log&#39;
#  file format cannot distinguish  between those  clients. Otherwise, if  the client uses
#  keep-alives, then every hit  made   from a single  TCP  session will  be associated  by   the  same
#  client  port number.
#  The   port information can indicate  how  many   connections our server is  handling at  once,
#  which may  help in tuning server TCP/OP   settings. It will also identify which client ports
#  are legitimate requests if  the administrator is examining a possible  SYN-attack against  a
#  server.
#  Note we  are using the REMOTE_PORT  environment variable. Environment variables  only come
#  into play when   mod_cgi or  mod_cgid is  handling the request.

#  %X   - Connection status  (use %c  for  Apache 1.3)
#  The   connection status  directive  tells us detailed  information about the client  connection.
#  It returns  one of three flags:
#  x  if the client aborted the connection before completion,
#  +  if  the client has indicated that it will  use keep-alives (and request additional  URLS),
#  - if the connection will  be closed after  the event
#  Keep-Alive is a HTTP 1.1.  directive  that  informs a web  server that  a client  can request multiple
#  files during the  same connection.  This way  a client  doesn&#39;t need to go   through the  overhead
#  of re-establishing  a TCP  connection to retrieve  a new  file.

#  %t  - time - or  [%{%d/%b/%Y:%T}t.%{msec_frac}t %{%z}t] for  Apache 2.4
#  The   %t  directive  records the time that  the request started.
#  NOTE:  When  deployed on   an  Apache 2.4, or better,  environment, you   should use
#  strftime  format in  order  to  get  microsecond resolution.

#  %l  - remote logname
#

#  %u - username [in quotes]
#  The   remote user  (from auth;  This may  be bogus if the return status  (%s) is  401
#  for non-ssl services)
#  For SSL  services,  user names need to  be delivered  as DNs  to deliver PKI   user details
#  in full.  To  pass through PKI   certificate  properties in the correct form you   need to
#  add the following directives  to your  Apache configuration:
#  SSLUserName   SSL_CLIENT_S_DN
#  SSLOptions +StdEnvVars
#  If you   cannot,  then use %{SSL_CLIENT_S_DN}x   in place of %u and use  blackboxSSLUser
#  LogFormat nickname

#  %r  - first  line of text sent by   web  client [in quotes]
#  This is the first  line of text send by   the web  client, which includes the request
#  method, the  full URL,  and the  HTTP protocol.

#  %s  - status  code before any redirection
#  This is  the status  code of the original request.

#  %&amp;gt;s  - status  code after  any redirection  has taken place
#  This is  the final  status  code of the request, after  any internal  redirections  may
#  have taken  place.

#  %D   - time in  microseconds to handle the request
#  This is the  number of microseconds the  server  took to  handle the  request  in  microseconds

#  %I  - incoming bytes
#  This is  the bytes received, include request and headers. It  cannot, by   definition be zero.

#  %O   - outgoing bytes
#  This is  the size in bytes of the outgoing data,  including HTTP headers. It  cannot,  by
#  definition be zero.

#  %B  - outgoing content bytes
#  This is  the size in bytes of the outgoing data,  EXCLUDING  HTTP headers.  Unlike %b,   which
#  records &#39;-&#39; for zero bytes transferred,  %B  will record &#39;0&#39;.

#  %{Referer}i - Referrer HTTP Request  Header [in quotes]
#  This is  typically the URL of the page that  made   the request.  If  linked from
#  e-mail or direct  entry this  value will be empty. Note, this  can be spoofed
#  or turned off

#  %{User-Agent}i - User agent HTTP Request  Header [in quotes]
#  This is  the identifying information the client  (browser) reports about itself.
#  It can be spoofed or  turned  off
 
#  %V   - the server name   according to the UseCannonicalName setting
#  This identifies  the virtual  host in a multi host webservice

#  %p - the canonical port of the server servicing the request

#  Define a variation  of the Black Box  logs
#
#  Note, you   only need to  use the  &#39;blackboxSSLUser&#39; nickname if you cannot set  the
#  following directives  for any SSL  configurations
#  SSLUserName   SSL_CLIENT_S_DN
#  SSLOptions +StdEnvVars
#  You  will also note the variation for no   logio  module. The   logio  module supports
#  the %I  and %O   formatting directive
#

&amp;lt;IfModule mod_logio.c&amp;gt; 
LogFormat &amp;quot;%a/%{REMOTE_PORT}e %X %t %l \&amp;quot;%u\&amp;quot; \&amp;quot;%r\&amp;quot; %s/%&amp;gt;s %D I/%O/%B \&amp;quot;%{Referer}i\&amp;quot; \&amp;quot;%{User-Agent}i\&amp;quot; %V/%p&amp;quot; blackboxUser 
LogFormat &amp;quot;%a/%{REMOTE_PORT}e %X %t %l \&amp;quot;%{SSL_CLIENT_S_DN}x\&amp;quot; \&amp;quot;%r\&amp;quot; %s/%&amp;gt;s %D %I/%O/%B \&amp;quot;%{Referer}i\&amp;quot; \&amp;quot;%{User-Agent}i\&amp;quot; %V/%p&amp;quot; blackboxSSLUser 
&amp;lt;/IfModule&amp;gt; 
&amp;lt;IfModule !mod_logio.c&amp;gt; 
LogFormat &amp;quot;%a/%{REMOTE_PORT}e %X %t %l \&amp;quot;%u\&amp;quot; \&amp;quot;%r\&amp;quot; %s/%&amp;gt;s %D 0/0/%B \&amp;quot;%{Referer}i\&amp;quot; \&amp;quot;%{User-Agent}i\&amp;quot; %V/$p&amp;quot; blackboxUser 
LogFormat &amp;quot;%a/%{REMOTE_PORT}e %X %t %l \&amp;quot;%{SSL_CLIENT_S_DN}x\&amp;quot; \&amp;quot;%r\&amp;quot; %s/%&amp;gt;s %D 0/0/%B \&amp;quot;%{Referer}i\&amp;quot; \&amp;quot;%{User-Agent}i\&amp;quot; %V/$p&amp;quot; blackboxSSLUser 
&amp;lt;/IfModule&amp;gt; 
--&amp;gt;

&amp;lt;!--  Match line --&amp;gt;
&amp;lt;split  delimiter=&amp;quot;\n&amp;quot;&amp;gt;
    &amp;lt;group&amp;gt;
        &amp;lt;regex pattern=&amp;quot;^([^/]+)/([^ ]+) ([^ ]+) \[([^\]]+)] ([^ ]+) &amp;amp;#34;([^&amp;amp;#34;]+)&amp;amp;#34; &amp;amp;#34;([^&amp;amp;#34;]+)&amp;amp;#34; (\d+)/(\d+) (\d+) ([^/]+)/([^/]+)/(\d+) &amp;amp;#34;([^&amp;amp;#34;]+)&amp;amp;#34; &amp;amp;#34;([^&amp;amp;#34;]+)&amp;amp;#34; ([^/]+)/([^ ]+)&amp;quot;&amp;gt;
            &amp;lt;data name=&amp;quot;clientip&amp;quot;  value=&amp;quot;$1&amp;quot; /&amp;gt;
            &amp;lt;data name=&amp;quot;clientport&amp;quot;  value=&amp;quot;$2&amp;quot; /&amp;gt;
            &amp;lt;data name=&amp;quot;constatus&amp;quot; value=&amp;quot;$3&amp;quot; /&amp;gt;
            &amp;lt;data  name=&amp;quot;time&amp;quot; value=&amp;quot;$4&amp;quot;  /&amp;gt;
            &amp;lt;data  name=&amp;quot;remotelname&amp;quot; value=&amp;quot;$5&amp;quot;  /&amp;gt;
            &amp;lt;data  name=&amp;quot;user&amp;quot; value=&amp;quot;$6&amp;quot; /&amp;gt;
            &amp;lt;data  name=&amp;quot;url&amp;quot; value=&amp;quot;$7&amp;quot;&amp;gt;
                &amp;lt;group value=&amp;quot;$7&amp;quot; ignoreErrors=&amp;quot;true&amp;quot;&amp;gt;
                &amp;lt;!-- 
                Special case the &amp;quot;GET  /&amp;quot; url string as opposed to  the  more standard  &amp;quot;method url protocol/protocol_version&amp;quot;.
                Also special  case a url  of &amp;quot;-&amp;quot;  which occurs  on   some   errors  (eg 408)
                --&amp;gt;
                    &amp;lt;regex pattern=&amp;quot;^-$&amp;quot;&amp;gt;
                        &amp;lt;data  name=&amp;quot;url&amp;quot; value=&amp;quot;error&amp;quot; /&amp;gt;
                    &amp;lt;/regex&amp;gt;
                    &amp;lt;regex pattern=&amp;quot;^([^ ]+) (/)$&amp;quot;&amp;gt;
                        &amp;lt;data  name=&amp;quot;httpMethod&amp;quot; value=&amp;quot;$1&amp;quot;  /&amp;gt;
                        &amp;lt;data  name=&amp;quot;url&amp;quot; value=&amp;quot;$2&amp;quot; /&amp;gt;
                    &amp;lt;/regex&amp;gt;
                    &amp;lt;regex pattern=&amp;quot;^([^ ]+) ([^  ]+) ([^ /]*)/([^  ]*)&amp;quot;&amp;gt;
                        &amp;lt;data  name=&amp;quot;httpMethod&amp;quot; value=&amp;quot;$1&amp;quot;  /&amp;gt;
                        &amp;lt;data  name=&amp;quot;url&amp;quot; value=&amp;quot;$2&amp;quot; /&amp;gt;
                        &amp;lt;data  name=&amp;quot;protocol&amp;quot; value=&amp;quot;$3&amp;quot; /&amp;gt;
                        &amp;lt;data  name=&amp;quot;version&amp;quot; value=&amp;quot;$4&amp;quot; /&amp;gt;
                    &amp;lt;/regex&amp;gt;
                &amp;lt;/group&amp;gt;
            &amp;lt;/data&amp;gt;
            &amp;lt;data  name=&amp;quot;responseB&amp;quot; value=&amp;quot;$8&amp;quot;  /&amp;gt;
            &amp;lt;data  name=&amp;quot;response&amp;quot; value=&amp;quot;$9&amp;quot; /&amp;gt;
            &amp;lt;data  name=&amp;quot;timeM&amp;quot; value=&amp;quot;$10&amp;quot; /&amp;gt;
            &amp;lt;data  name=&amp;quot;bytesIn&amp;quot; value=&amp;quot;$11&amp;quot; /&amp;gt;
            &amp;lt;data  name=&amp;quot;bytesOut&amp;quot; value=&amp;quot;$12&amp;quot;  /&amp;gt;
            &amp;lt;data  name=&amp;quot;bytesOutContent&amp;quot; value=&amp;quot;$13&amp;quot; /&amp;gt;
            &amp;lt;data name=&amp;quot;referer&amp;quot;  value=&amp;quot;$14&amp;quot; /&amp;gt;
            &amp;lt;data  name=&amp;quot;userAgent&amp;quot; value=&amp;quot;$15&amp;quot;  /&amp;gt;
            &amp;lt;data  name=&amp;quot;vserver&amp;quot; value=&amp;quot;$16&amp;quot; /&amp;gt;
            &amp;lt;data name=&amp;quot;vserverport&amp;quot;  value=&amp;quot;$17&amp;quot; /&amp;gt;
        &amp;lt;/regex&amp;gt;
    &amp;lt;/group&amp;gt;
&amp;lt;/split&amp;gt;
&amp;lt;/dataSplitter&amp;gt;

&lt;/code&gt;&lt;/pre&gt;


    &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
    &lt;div class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;
      
      &lt;span class=&#34;&#34; style=&#34;font-size: smaller&#34;&gt;ApacheHTTPD BlackBox - Data Splitter&lt;/span&gt;
      
      (
      &lt;a href=&#34;../../files/HOWTOs/EventFeeds/CreateApacheHTTPDEventFeed/ApacheHTTPDBlackBox-DataSplitter.txt&#34; class=&#34;&#34; style=&#34;font-size: smaller&#34;&gt;Download ApacheHTTPDBlackBox-DataSplitter.txt&lt;/a&gt;
      &lt;i class=&#34;external-link-icon fas fa-file-download fa-sm text-secondary&#34; title=&#34;External link&#34;&gt;&lt;/i&gt;
      )
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;If we now press the Step First &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Step first&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; icon we will see the complete parsed record&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-50.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-50.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-50.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-50.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;pipeline Stepping tab - Text Converter Complete&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;If we click on the Step Forward &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Step forward&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 400,75.977968 0,360.000002 c 0,6.6 -5.4,12 -12,12 l -40,0 c -6.6,0 -12,-5.4 -12,-12 l 0,-151.9 -171.5,156.5 c -20.6,17.2 -52.5,2.8 -52.5,-24.6 0,-202.11605 0,-87.47785 0,-320.000002 0,-27.399997 31.9,-41.699997 52.5,-24.6 L 336,226.77797 336,75.977968 c 0,-6.599997 5.4,-11.999997 12,-11.999997 l 40,0 c 6.6,0 12,5.4 12,11.999997 z&#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; icon we will see the next event displayed in both the &lt;em&gt;input&lt;/em&gt; and &lt;em&gt;output&lt;/em&gt; panes.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-51.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-51.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-51.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-51.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;pipeline Stepping tab - Text Converter Complete second event&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;we click on the Step Last &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Step last&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M512 76v360c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V284.1L276.5 440.6c-20.6 17.2-52.5 2.8-52.5-24.6V284.1L52.5 440.6C31.9 457.8 0 443.4 0 416V96c0-27.4 31.9-41.7 52.5-24.6L224 226.8V96c0-27.4 31.9-41.7 52.5-24.6L448 226.8V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; icon we will see the last event displayed in both the &lt;em&gt;input&lt;/em&gt; and &lt;em&gt;output&lt;/em&gt; panes.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-52.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-52.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-52.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-52.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;pipeline Stepping tab - Text Converter Complete last event&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;You should take note of the stepping location that has been displayed in each stepping window. The stepping location is the numbers enclosed in square brackets e.g. [7556:1:16] found in the top right-hand side of the stepping window next to the stepping icons&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-53.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-53.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-53.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-53.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;pipeline Stepping tab - Stepping Location&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;The form of these stepping locations is [ streamId &amp;lsquo;:&amp;rsquo; subStreamId &amp;lsquo;:&amp;rsquo; recordNo]&lt;/p&gt;
&lt;p&gt;where&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;streamId&lt;/strong&gt; - is the stream ID and won’t change when stepping through the selected stream.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;subStreamId&lt;/strong&gt; - is the sub stream ID. When Stroom processes event streams it aggregates multiple input files and this is the file number.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;recordNo&lt;/strong&gt; - is the record number within the sub stream.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;One can double click on either the &lt;strong&gt;subStreamId&lt;/strong&gt; or &lt;strong&gt;recordNo&lt;/strong&gt; numbers and enter a new number. This allows you to ‘step’ around a stream rather than just relying on first, previous, next and last movement.&lt;/p&gt;
&lt;p&gt;Note, you should now Save &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; your edited Text Converter.&lt;/p&gt;
&lt;h3 id=&#34;step-data-through-pipeline---translation&#34;&gt;Step data through Pipeline - Translation&lt;/h3&gt;
&lt;p&gt;To start authoring the xslt Translation Filter, press the 







  
  

  
  

  
  
  

  
  

  
  

  

    
    

    
      
      
      

      
      &lt;a href=&#34;../../docs/reference-section/pipeline-elements#xsltfilter&#34; class=&#34;&#34; style=&#34;&#34; title=&#34;&#34;&gt;
        &lt;span class=&#34;stroom-theme-dark pipeline-element&#34; title=&#34;XSLTFilter &amp;#34;translationFilter&amp;#34;&#34; &gt;
          &lt;span class=&#34;pipeline-element-content&#34; &gt;
            &lt;span class=&#34;pipeline-element-icon&#34;&gt;
              &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Xslt&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__xsl-background)&#34; d=&#34;M 684.30664 211.38672 C 672.42766 211.38672 661.91891 215.95413 652.78125 225.0918 L 14.058594 863.81641 C 4.9209141 872.95409 0.3515625 883.46088 0.3515625 895.33984 C 0.3515625 907.21882 4.9209142 917.72756 14.058594 926.86523 L 652.78125 1565.5898 C 661.91891 1574.7275 672.42766 1579.2949 684.30664 1579.2949 C 696.1856 1579.2949 706.69435 1574.7275 715.83203 1565.5898 L 784.36523 1497.0566 C 793.5029 1487.9191 798.07031 1477.4102 798.07031 1465.5312 C 798.07031 1453.6524 793.5029 1443.1436 784.36523 1434.0059 L 245.69922 895.33984 L 784.36523 356.67578 C 793.5029 347.53811 798.07031 337.02937 798.07031 325.15039 C 798.07031 313.27142 793.5029 302.76268 784.36523 293.625 L 715.83203 225.0918 C 706.69435 215.95413 696.1856 211.38672 684.30664 211.38672 z M 1107.9082 211.38672 C 1096.0293 211.38672 1085.5225 215.95414 1076.3848 225.0918 L 1007.8516 293.625 C 998.71402 302.76268 994.14453 313.27142 994.14453 325.15039 C 994.14453 337.02937 998.71402 347.53811 1007.8516 356.67578 L 1546.5176 895.33984 L 1007.8516 1434.0059 C 998.71402 1443.1436 994.14453 1453.6523 994.14453 1465.5312 C 994.14453 1477.4102 998.71402 1487.9191 1007.8516 1497.0566 L 1076.3848 1565.5898 C 1085.5225 1574.7275 1096.0293 1579.2949 1107.9082 1579.2949 C 1119.7872 1579.2949 1130.2959 1574.7275 1139.4336 1565.5898 L 1778.1582 926.86523 C 1787.2959 917.72756 1791.8633 907.21882 1791.8633 895.33984 C 1791.8633 883.46088 1787.2959 872.95409 1778.1582 863.81641 L 1139.4336 225.0918 C 1130.2959 215.95414 1119.7872 211.38672 1107.9082 211.38672 z &#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;M 914.01562 609.75391 C 846.69543 609.75391 793.7585 624.0295 755.20508 652.58203 C 716.65166 681.13457 697.375 720.39439 697.375 770.36133 C 697.375 809.25185 709.09092 840.2669 732.51953 863.4043 C 755.94815 886.29555 800.72934 908.20094 866.86328 929.12305 L 931.36523 949.42969 C 953.90415 956.5678 971.1042 966.4135 982.9668 978.9668 C 994.82939 991.27392 1000.7617 1005.6745 1000.7617 1022.166 C 1000.7617 1044.0727 991.86421 1061.1792 974.07031 1073.4863 C 956.27643 1085.5473 931.21618 1091.5781 898.89062 1091.5781 C 866.86163 1091.5781 834.38939 1086.5313 801.4707 1076.4395 C 768.84858 1066.3477 735.03956 1050.9651 700.04492 1030.2891 L 700.04492 1142.8984 C 730.88766 1155.6978 762.76881 1165.2975 795.6875 1171.6973 C 828.90275 1178.3431 861.96998 1181.666 894.88867 1181.666 C 974.96115 1181.666 1034.719 1168.0054 1074.1621 1140.6836 C 1113.9018 1113.1156 1133.7715 1071.5169 1133.7715 1015.8887 C 1133.7715 975.02903 1121.167 941.18506 1095.959 914.35547 C 1070.751 887.52595 1031.4559 865.98759 978.07422 849.74219 L 921.57812 832.01953 C 882.43158 819.95854 856.6315 809.00586 844.17578 799.16016 C 832.01663 789.06832 825.93555 776.3917 825.93555 761.13086 C 825.93555 741.43946 834.38878 726.30288 851.29297 715.71875 C 868.19716 705.13462 892.51562 699.8418 924.24805 699.8418 C 952.71826 699.8418 981.4855 704.14869 1010.5488 712.76367 C 1039.6122 721.37867 1068.2307 733.93228 1096.4043 750.42383 L 1096.4043 644.08984 C 1066.4513 632.76728 1036.2005 624.27651 1005.6543 618.61523 C 975.10813 612.70782 944.56179 609.75391 914.01562 609.75391 z M 109.28711 619.72266 L 298.79297 891.09375 L 103.94922 1170.959 L 239.62891 1170.959 L 365.96484 988.56641 L 492.74609 1170.959 L 628.42383 1170.959 L 434.4707 891.09375 L 623.08594 619.72266 L 487.4082 619.72266 L 365.96484 795.09961 L 244.9668 619.72266 L 109.28711 619.72266 z M 1288.1328 619.72266 L 1288.1328 1170.959 L 1700.0605 1170.959 L 1700.0605 1074.9629 L 1419.3633 1074.9629 L 1419.3633 619.72266 L 1288.1328 619.72266 z &#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
            &lt;/span&gt;
            &lt;span class=&#34;pipeline-element-text&#34;&gt;translationFilter&lt;/span&gt;
          &lt;/span&gt;
        &lt;/span&gt;
      &lt;/a&gt;

      
      &lt;span style=&#34;display:none;&#34; class=&#34;USED FOR SPLITTING&#34; &gt;&lt;/span&gt;

    
  







 element which steps us to the xsl Translation Filter pane.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-54.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-54.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-54.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-54.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;pipeline Stepping tab - Translation Initial&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;As for the &lt;em&gt;Text Converter&lt;/em&gt; stepping tab, this tab is divided into three sub-panes. The top one is the xslt translation editor and it will allow you to edit the xslt translation. The bottom left window displays the &lt;em&gt;input&lt;/em&gt; to the xslt translation (which is the output from the &lt;em&gt;Text Converter&lt;/em&gt;). The bottom right window displays the &lt;em&gt;output&lt;/em&gt; from the xslt Translation filter for the given input.&lt;/p&gt;
&lt;p&gt;We now click on the pipeline Step Forward button &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Step forward&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 400,75.977968 0,360.000002 c 0,6.6 -5.4,12 -12,12 l -40,0 c -6.6,0 -12,-5.4 -12,-12 l 0,-151.9 -171.5,156.5 c -20.6,17.2 -52.5,2.8 -52.5,-24.6 0,-202.11605 0,-87.47785 0,-320.000002 0,-27.399997 31.9,-41.699997 52.5,-24.6 L 336,226.77797 336,75.977968 c 0,-6.599997 5.4,-11.999997 12,-11.999997 l 40,0 c 6.6,0 12,5.4 12,11.999997 z&#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; to single step the Text Converter &lt;em&gt;records&lt;/em&gt; element data through our xslt Translation. We see no change as an empty translation will just perform a copy of the input data.&lt;/p&gt;
&lt;p&gt;To correct this, we will author our xslt translation. Like the Data Splitter this is also authored incrementally. A minimum xslt translation might contain&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;
&amp;lt;xsl:stylesheet 
    xpath-default-namespace=&amp;quot;records:2&amp;quot; 
    xmlns=&amp;quot;event-logging:3&amp;quot; 
    xmlns:stroom=&amp;quot;stroom&amp;quot; 
    xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; 
    xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; 
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; 
    version=&amp;quot;3.0&amp;quot;&amp;gt;

  &amp;lt;!-- Ingest the records tree --&amp;gt;
  &amp;lt;xsl:template match=&amp;quot;records&amp;quot;&amp;gt;
    &amp;lt;Events xsi:schemaLocation=&amp;quot;event-logging:3 file://event-logging-v3.2.3.xsd&amp;quot; Version=&amp;quot;3.2.3&amp;quot;&amp;gt;
        &amp;lt;xsl:apply-templates /&amp;gt;
    &amp;lt;/Events&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

    &amp;lt;!-- Only generate events if we have an url on input --&amp;gt;
    &amp;lt;xsl:template match=&amp;quot;record[data[@name = &#39;url&#39;]]&amp;quot;&amp;gt;
        &amp;lt;Event&amp;gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;eventTime&amp;quot; /&amp;gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;eventSource&amp;quot; /&amp;gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;eventDetail&amp;quot; /&amp;gt;
        &amp;lt;/Event&amp;gt;
    &amp;lt;/xsl:template&amp;gt;

    &amp;lt;xsl:template match=&amp;quot;node()&amp;quot;  mode=&amp;quot;eventTime&amp;quot;&amp;gt;
        &amp;lt;EventTime&amp;gt;
            &amp;lt;TimeCreated/&amp;gt;
        &amp;lt;/EventTime&amp;gt;
    &amp;lt;/xsl:template&amp;gt;

    &amp;lt;xsl:template match=&amp;quot;node()&amp;quot;  mode=&amp;quot;eventSource&amp;quot;&amp;gt;
        &amp;lt;EventSource&amp;gt;
            &amp;lt;System&amp;gt;
                &amp;lt;Name  /&amp;gt;
                &amp;lt;Environment /&amp;gt;
            &amp;lt;/System&amp;gt;
            &amp;lt;Generator /&amp;gt;
            &amp;lt;Device /&amp;gt;
            &amp;lt;Client /&amp;gt;
            &amp;lt;Server /&amp;gt;
            &amp;lt;User&amp;gt;
                &amp;lt;Id /&amp;gt;
            &amp;lt;/User&amp;gt;
        &amp;lt;/EventSource&amp;gt;
    &amp;lt;/xsl:template&amp;gt;

    &amp;lt;xsl:template match=&amp;quot;node()&amp;quot;  mode=&amp;quot;eventDetail&amp;quot;&amp;gt;
        &amp;lt;EventDetail&amp;gt;
            &amp;lt;TypeId&amp;gt;SendToWebService&amp;lt;/TypeId&amp;gt;
            &amp;lt;Description /&amp;gt;
            &amp;lt;Classification /&amp;gt;
            &amp;lt;Send /&amp;gt;
        &amp;lt;/EventDetail&amp;gt;
    &amp;lt;/xsl:template&amp;gt;
&amp;lt;/xsl:stylesheet&amp;gt;
&lt;/code&gt;&lt;/pre&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-55.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-55.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-55.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-55.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Translation Minimal&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Clearly this doesn’t generate useful events. Our first iterative change might be to generate the TimeCreated element value. The change would be&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;    &amp;lt;xsl:template match=&amp;quot;node()&amp;quot; mode=&amp;quot;eventTime&amp;quot;&amp;gt;
        &amp;lt;EventTime&amp;gt;
          &amp;lt;TimeCreated&amp;gt;
             &amp;lt;xsl:value-of select=&amp;quot;stroom:format-date(data[@name = &#39;time&#39;]/@value, &#39;dd/MMM/yyyy:HH:mm:ss XX&#39;)&amp;quot; /&amp;gt; 
          &amp;lt;/TimeCreated&amp;gt;
        &amp;lt;/EventTime&amp;gt;
    &amp;lt;/xsl:template&amp;gt;
&lt;/code&gt;&lt;/pre&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-56.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-56.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-56.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-56.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Translation Minimal+&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Adding in the EventSource elements (without ANY error checking!) as per&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;    &amp;lt;xsl:template match=&amp;quot;node()&amp;quot;  mode=&amp;quot;eventSource&amp;quot;&amp;gt;
        &amp;lt;EventSource&amp;gt;
            &amp;lt;System&amp;gt;
              &amp;lt;Name&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;stroom:feed-attribute(&#39;System&#39;)&amp;quot;  /&amp;gt;
              &amp;lt;/Name&amp;gt;
              &amp;lt;Environment&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;stroom:feed-attribute(&#39;Environment&#39;)&amp;quot;  /&amp;gt;
              &amp;lt;/Environment&amp;gt;
            &amp;lt;/System&amp;gt;
            &amp;lt;Generator&amp;gt;Apache  HTTPD&amp;lt;/Generator&amp;gt;
            &amp;lt;Device&amp;gt;
              &amp;lt;HostName&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;stroom:feed-attribute(&#39;MyHost&#39;)&amp;quot;  /&amp;gt;
              &amp;lt;/HostName&amp;gt;
              &amp;lt;IPAddress&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;stroom:feed-attribute(&#39;MyIPAddress&#39;)&amp;quot;  /&amp;gt;
              &amp;lt;/IPAddress&amp;gt;
            &amp;lt;/Device&amp;gt;
            &amp;lt;Client&amp;gt;
              &amp;lt;IPAddress&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;data[@name =  &#39;clientip&#39;]/@value&amp;quot;  /&amp;gt;
              &amp;lt;/IPAddress&amp;gt;
              &amp;lt;Port&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;data[@name =  &#39;clientport&#39;]/@value&amp;quot;  /&amp;gt;
              &amp;lt;/Port&amp;gt;
            &amp;lt;/Client&amp;gt;
            &amp;lt;Server&amp;gt;
              &amp;lt;HostName&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;data[@name =  &#39;vserver&#39;]/@value&amp;quot;  /&amp;gt;
              &amp;lt;/HostName&amp;gt;
              &amp;lt;Port&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;data[@name =  &#39;vserverport&#39;]/@value&amp;quot;  /&amp;gt;
              &amp;lt;/Port&amp;gt;
            &amp;lt;/Server&amp;gt;
            &amp;lt;User&amp;gt;
              &amp;lt;Id&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;user&#39;]/@value&amp;quot; /&amp;gt;
              &amp;lt;/Id&amp;gt;
            &amp;lt;/User&amp;gt;
        &amp;lt;/EventSource&amp;gt;
    &amp;lt;/xsl:template&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And after a Refresh Current Step &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Refresh&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M1639 1056q0 5-1 7-64 268-268 434.5t-478 166.5q-146 0-282.5-55t-243.5-157l-129 129q-19 19-45 19t-45-19-19-45v-448q0-26 19-45t45-19h448q26 0 45 19t19 45-19 45l-137 137q71 66 161 102t187 36q134 0 250-65t186-179q11-17 53-117 8-23 30-23h192q13 0 22.5 9.5t9.5 22.5zm25-800v448q0 26-19 45t-45 19h-448q-26 0-45-19t-19-45 19-45l138-138q-148-137-349-137-134 0-250 65t-186 179q-11 17-53 117-8 23-30 23h-199q-13 0-22.5-9.5t-9.5-22.5v-7q65-268 270-434.5t480-166.5q146 0 284 55.5t245 156.5l130-129q19-19 45-19t45 19 19 45z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; we see our output event ‘grow’ to&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-57.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-57.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-57.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-57.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Translation Minimal++&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We now complete our translation by expanding the &lt;em&gt;EventDetail&lt;/em&gt; elements to have the completed translation of (again with limited error checking and non-existent documentation!)&lt;/p&gt;






&lt;div class=&#34;text-file card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;&#34;&gt;

  &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
    
    &lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;
&amp;lt;xsl:stylesheet 
    xpath-default-namespace=&amp;quot;records:2&amp;quot; 
    xmlns=&amp;quot;event-logging:3&amp;quot; 
    xmlns:stroom=&amp;quot;stroom&amp;quot; 
    xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; 
    xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; 
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; 
    version=&amp;quot;3.0&amp;quot;&amp;gt;

  &amp;lt;!-- Ingest the records tree --&amp;gt;
  &amp;lt;xsl:template match=&amp;quot;records&amp;quot;&amp;gt;
    &amp;lt;Events xsi:schemaLocation=&amp;quot;event-logging:3 file://event-logging-v3.2.3.xsd&amp;quot; Version=&amp;quot;3.2.3&amp;quot;&amp;gt;
        &amp;lt;xsl:apply-templates /&amp;gt;
    &amp;lt;/Events&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

    &amp;lt;!-- Only generate events if we have an url on input --&amp;gt;
    &amp;lt;xsl:template match=&amp;quot;record[data[@name = &#39;url&#39;]]&amp;quot;&amp;gt;
        &amp;lt;Event&amp;gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;eventTime&amp;quot; /&amp;gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;eventSource&amp;quot; /&amp;gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;.&amp;quot; mode=&amp;quot;eventDetail&amp;quot; /&amp;gt;
        &amp;lt;/Event&amp;gt;
    &amp;lt;/xsl:template&amp;gt;

    &amp;lt;xsl:template match=&amp;quot;node()&amp;quot; mode=&amp;quot;eventTime&amp;quot;&amp;gt;
        &amp;lt;EventTime&amp;gt;
          &amp;lt;TimeCreated&amp;gt;
             &amp;lt;xsl:value-of select=&amp;quot;stroom:format-date(data[@name = &#39;time&#39;]/@value, &#39;dd/MMM/yyyy:HH:mm:ss XX&#39;)&amp;quot; /&amp;gt; 
          &amp;lt;/TimeCreated&amp;gt;
        &amp;lt;/EventTime&amp;gt;
    &amp;lt;/xsl:template&amp;gt;

    &amp;lt;xsl:template match=&amp;quot;node()&amp;quot;  mode=&amp;quot;eventSource&amp;quot;&amp;gt;
        &amp;lt;EventSource&amp;gt;
            &amp;lt;System&amp;gt;
              &amp;lt;Name&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;stroom:feed-attribute(&#39;System&#39;)&amp;quot;  /&amp;gt;
              &amp;lt;/Name&amp;gt;
              &amp;lt;Environment&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;stroom:feed-attribute(&#39;Environment&#39;)&amp;quot;  /&amp;gt;
              &amp;lt;/Environment&amp;gt;
            &amp;lt;/System&amp;gt;
            &amp;lt;Generator&amp;gt;Apache  HTTPD&amp;lt;/Generator&amp;gt;
            &amp;lt;Device&amp;gt;
              &amp;lt;HostName&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;stroom:feed-attribute(&#39;MyHost&#39;)&amp;quot;  /&amp;gt;
              &amp;lt;/HostName&amp;gt;
              &amp;lt;IPAddress&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;stroom:feed-attribute(&#39;MyIPAddress&#39;)&amp;quot;  /&amp;gt;
              &amp;lt;/IPAddress&amp;gt;
            &amp;lt;/Device&amp;gt;
            &amp;lt;Client&amp;gt;
              &amp;lt;IPAddress&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;data[@name =  &#39;clientip&#39;]/@value&amp;quot;  /&amp;gt;
              &amp;lt;/IPAddress&amp;gt;
              &amp;lt;Port&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;data[@name =  &#39;clientport&#39;]/@value&amp;quot;  /&amp;gt;
              &amp;lt;/Port&amp;gt;
            &amp;lt;/Client&amp;gt;
            &amp;lt;Server&amp;gt;
              &amp;lt;HostName&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;data[@name =  &#39;vserver&#39;]/@value&amp;quot;  /&amp;gt;
              &amp;lt;/HostName&amp;gt;
              &amp;lt;Port&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;data[@name =  &#39;vserverport&#39;]/@value&amp;quot;  /&amp;gt;
              &amp;lt;/Port&amp;gt;
            &amp;lt;/Server&amp;gt;
            &amp;lt;User&amp;gt;
              &amp;lt;Id&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;user&#39;]/@value&amp;quot; /&amp;gt;
              &amp;lt;/Id&amp;gt;
            &amp;lt;/User&amp;gt;
        &amp;lt;/EventSource&amp;gt;
    &amp;lt;/xsl:template&amp;gt;


    &amp;lt;!-- --&amp;gt;
    &amp;lt;xsl:template match=&amp;quot;node()&amp;quot;  mode=&amp;quot;eventDetail&amp;quot;&amp;gt;
        &amp;lt;EventDetail&amp;gt;
          &amp;lt;TypeId&amp;gt;SendToWebService&amp;lt;/TypeId&amp;gt;
          &amp;lt;Description&amp;gt;Send/Access data to Web Service&amp;lt;/Description&amp;gt;
          &amp;lt;Classification&amp;gt;
            &amp;lt;Text&amp;gt;UNCLASSIFIED&amp;lt;/Text&amp;gt;
          &amp;lt;/Classification&amp;gt;
          &amp;lt;Send&amp;gt;
            &amp;lt;Source&amp;gt;
              &amp;lt;Device&amp;gt;
                &amp;lt;IPAddress&amp;gt;
                    &amp;lt;xsl:value-of select=&amp;quot;data[@name = &#39;clientip&#39;]/@value&amp;quot;/&amp;gt;
                &amp;lt;/IPAddress&amp;gt;
                &amp;lt;Port&amp;gt;
                    &amp;lt;xsl:value-of select=&amp;quot;data[@name = &#39;vserverport&#39;]/@value&amp;quot;/&amp;gt;
                &amp;lt;/Port&amp;gt;
              &amp;lt;/Device&amp;gt;
            &amp;lt;/Source&amp;gt;
            &amp;lt;Destination&amp;gt;
              &amp;lt;Device&amp;gt;
                &amp;lt;HostName&amp;gt;
                    &amp;lt;xsl:value-of select=&amp;quot;data[@name = &#39;vserver&#39;]/@value&amp;quot;/&amp;gt;
                &amp;lt;/HostName&amp;gt;
                &amp;lt;Port&amp;gt;
                    &amp;lt;xsl:value-of select=&amp;quot;data[@name = &#39;vserverport&#39;]/@value&amp;quot;/&amp;gt;
                &amp;lt;/Port&amp;gt;
              &amp;lt;/Device&amp;gt;
            &amp;lt;/Destination&amp;gt;
            &amp;lt;Payload&amp;gt;
              &amp;lt;Resource&amp;gt;
                &amp;lt;URL&amp;gt;
                    &amp;lt;xsl:value-of select=&amp;quot;data[@name = &#39;url&#39;]/@value&amp;quot;/&amp;gt;
                &amp;lt;/URL&amp;gt;
                &amp;lt;Referrer&amp;gt;
                    &amp;lt;xsl:value-of select=&amp;quot;data[@name = &#39;referer&#39;]/@value&amp;quot;/&amp;gt;
                &amp;lt;/Referrer&amp;gt;
                &amp;lt;HTTPMethod&amp;gt;
                    &amp;lt;xsl:value-of select=&amp;quot;data[@name = &#39;url&#39;]/data[@name = &#39;httpMethod&#39;]/@value&amp;quot;/&amp;gt;
                &amp;lt;/HTTPMethod&amp;gt;
                &amp;lt;HTTPVersion&amp;gt;
                    &amp;lt;xsl:value-of select=&amp;quot;data[@name = &#39;url&#39;]/data[@name = &#39;version&#39;]/@value&amp;quot;/&amp;gt;
                &amp;lt;/HTTPVersion&amp;gt;
                &amp;lt;UserAgent&amp;gt;
                    &amp;lt;xsl:value-of select=&amp;quot;data[@name = &#39;userAgent&#39;]/@value&amp;quot;/&amp;gt;
                &amp;lt;/UserAgent&amp;gt;
                &amp;lt;InboundSize&amp;gt;
                    &amp;lt;xsl:value-of select=&amp;quot;data[@name = &#39;bytesIn&#39;]/@value&amp;quot;/&amp;gt;
                &amp;lt;/InboundSize&amp;gt;
                &amp;lt;OutboundSize&amp;gt;
                    &amp;lt;xsl:value-of select=&amp;quot;data[@name = &#39;bytesOut&#39;]/@value&amp;quot;/&amp;gt;
                &amp;lt;/OutboundSize&amp;gt;
                &amp;lt;OutboundContentSize&amp;gt;
                    &amp;lt;xsl:value-of select=&amp;quot;data[@name = &#39;bytesOutContent&#39;]/@value&amp;quot;/&amp;gt;
                &amp;lt;/OutboundContentSize&amp;gt;
                &amp;lt;RequestTime&amp;gt;
                    &amp;lt;xsl:value-of select=&amp;quot;data[@name = &#39;timeM&#39;]/@value&amp;quot;/&amp;gt;
                &amp;lt;/RequestTime&amp;gt;
                &amp;lt;ConnectionStatus&amp;gt;
                    &amp;lt;xsl:value-of select=&amp;quot;data[@name = &#39;constatus&#39;]/@value&amp;quot;/&amp;gt;
                &amp;lt;/ConnectionStatus&amp;gt;
                &amp;lt;InitialResponseCode&amp;gt;
                    &amp;lt;xsl:value-of select=&amp;quot;data[@name = &#39;responseB&#39;]/@value&amp;quot;/&amp;gt;
                &amp;lt;/InitialResponseCode&amp;gt;
                &amp;lt;ResponseCode&amp;gt;
                    &amp;lt;xsl:value-of select=&amp;quot;data[@name = &#39;response&#39;]/@value&amp;quot;/&amp;gt;
                &amp;lt;/ResponseCode&amp;gt;
                &amp;lt;Data Name=&amp;quot;Protocol&amp;quot;&amp;gt;
                  &amp;lt;xsl:attribute select=&amp;quot;data[@name = &#39;url&#39;]/data[@name = &#39;protocol&#39;]/@value&amp;quot; name=&amp;quot;Value&amp;quot;/&amp;gt;
                &amp;lt;/Data&amp;gt;
              &amp;lt;/Resource&amp;gt;
            &amp;lt;/Payload&amp;gt;
            &amp;lt;!-- Normally our translation at this point would contain an &amp;lt;Outcome&amp;gt; attribute.
            Since all our sample data includes only successful outcomes we have ommitted the &amp;lt;Outcome&amp;gt; attribute 
            in the translation to minimise complexity--&amp;gt;
          &amp;lt;/Send&amp;gt;
        &amp;lt;/EventDetail&amp;gt;
    &amp;lt;/xsl:template&amp;gt;
&amp;lt;/xsl:stylesheet&amp;gt;

&lt;/code&gt;&lt;/pre&gt;


    &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
    &lt;div class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;
      
      &lt;span class=&#34;&#34; style=&#34;font-size: smaller&#34;&gt;Apache BlackBox Translation XSLT&lt;/span&gt;
      
      (
      &lt;a href=&#34;../../files/HOWTOs/EventFeeds/CreateApacheHTTPDEventFeed/ApacheHTTPDBlackBox-TranslationXSLT.txt&#34; class=&#34;&#34; style=&#34;font-size: smaller&#34;&gt;Download ApacheHTTPDBlackBox-TranslationXSLT.txt&lt;/a&gt;
      &lt;i class=&#34;external-link-icon fas fa-file-download fa-sm text-secondary&#34; title=&#34;External link&#34;&gt;&lt;/i&gt;
      )
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;And after a Refresh Current Step &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Refresh&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M1639 1056q0 5-1 7-64 268-268 434.5t-478 166.5q-146 0-282.5-55t-243.5-157l-129 129q-19 19-45 19t-45-19-19-45v-448q0-26 19-45t45-19h448q26 0 45 19t19 45-19 45l-137 137q71 66 161 102t187 36q134 0 250-65t186-179q11-17 53-117 8-23 30-23h192q13 0 22.5 9.5t9.5 22.5zm25-800v448q0 26-19 45t-45 19h-448q-26 0-45-19t-19-45 19-45l138-138q-148-137-349-137-134 0-250 65t-186 179q-11 17-53 117-8 23-30 23h-199q-13 0-22.5-9.5t-9.5-22.5v-7q65-268 270-434.5t480-166.5q146 0 284 55.5t245 156.5l130-129q19-19 45-19t45 19 19 45z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; we see the completed &lt;code&gt;&amp;lt;EventDetail&amp;gt;&lt;/code&gt; section of our output event&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-58.png&#34; href=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-58.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/v6/UI-ApacheHttpEventFeed-58.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/v6/UI-ApacheHttpEventFeed-58.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Translation Complete&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Note, you should now Save &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; your edited xslt Translation.&lt;/p&gt;
&lt;p&gt;We have completed the translation and have completed developing our Apache-SSLBlackBox-V2.0-EVENTS event feed.&lt;/p&gt;
&lt;p&gt;At this point, this event feed is set up to accept Raw Event data, but it will not automatically process the raw data and hence it will not place events into the Event Store. To have Stroom automatically process Raw Event streams, you will need to enable Processors for this pipeline.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Event Processing</title>
      <link>/docs/howtos/eventfeeds/processinghowto/</link>
      <pubDate>Fri, 09 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>/docs/howtos/eventfeeds/processinghowto/</guid>
      <description>
        
        
        &lt;!-- Created with Stroom v6.1-beta.16 --&gt;
&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;This HOWTO is provided to assist users in setting up Stroom to process inbound raw event logs and transform them into the Stroom Event Logging XML Schema.&lt;/p&gt;
&lt;p&gt;This HOWTO will demonstrate the process by which an Event Processing pipeline for a given Event Source is developed and deployed.&lt;/p&gt;
&lt;p&gt;The sample event source used will be based on BlueCoat Proxy logs.
An extract of BlueCoat logs were sourced from &lt;span class=&#34;external-link&#34;&gt;
  &lt;a href=&#34;http://log-sharing.dreamhosters.com&#34; target=&#34;_blank&#34; class=&#34;external-link&#34; title=&#34;log-sharing.dreamhosters.com (external link to http://log-sharing.dreamhosters.com)&#34;&gt;
    &lt;span&gt;log-sharing.dreamhosters.com&lt;/span&gt;
    &lt;i class=&#34;external-link-icon fas fa-external-link-alt fa-sm text-secondary&#34;&gt;&lt;/i&gt;
  &lt;/a&gt;
&lt;/span&gt;
 (a Public Security Log Sharing Site) but modified to add sample user attribution.&lt;/p&gt;
&lt;p&gt;Template pipelines are being used to simplify the establishment of this processing pipeline.&lt;/p&gt;
&lt;p&gt;The sample BlueCoat Proxy log will be transformed into an intermediate simple XML key value pair structure, then into the &lt;span class=&#34;external-link&#34;&gt;
  &lt;a href=&#34;https://github.com/gchq/event-logging-schema&#34; target=&#34;_blank&#34; class=&#34;external-link&#34; title=&#34;Stroom Event Logging XML Schema (external link to https://github.com/gchq/event-logging-schema)&#34;&gt;
    &lt;span&gt;Stroom Event Logging XML Schema&lt;/span&gt;
    &lt;i class=&#34;external-link-icon fas fa-external-link-alt fa-sm text-secondary&#34;&gt;&lt;/i&gt;
  &lt;/a&gt;
&lt;/span&gt;
 format.&lt;/p&gt;
&lt;h2 id=&#34;assumptions&#34;&gt;Assumptions&lt;/h2&gt;
&lt;p&gt;The following assumptions are used in this document.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The user successfully deployed Stroom&lt;/li&gt;
&lt;li&gt;The following Stroom content packages have been installed:
&lt;ul&gt;
&lt;li&gt;Template Pipelines&lt;/li&gt;
&lt;li&gt;XML Schemas&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;event-source&#34;&gt;Event Source&lt;/h2&gt;
&lt;p&gt;As mentioned, we will use BlueCoat Proxy logs as a sample event source.
Although BlueCoat logs can be customised, the default is to use the W3C Extended Log File Format (ELF).
Our sample data set looks like&lt;/p&gt;






&lt;div class=&#34;text-file card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;&#34;&gt;

  &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
    
    &lt;pre&gt;&lt;code class=&#34;language-text&#34;&gt;#Software: SGOS 3.2.4.28
#Version: 1.0
#Date: 2005-04-27 20:57:09
#Fields: date time time-taken c-ip sc-status s-action sc-bytes cs-bytes cs-method cs-uri-scheme cs-host cs-uri-path cs-uri-query cs-username s-hierarchy s-supplier-name rs(Content-Type) cs(User-Agent) sc-filter-result sc-filter-category x-virus-id s-ip s-sitename x-virus-details x-icap-error-code x-icap-error-details
2005-05-04 17:16:12 1 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 2 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 2 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 1 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 1 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 1 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 51 45.14.4.127 200 TCP_NC_MISS 926 1104 GET http images.google.com /imgres ?imgurl=http://www.bettercomponents.be/images/linux-logo.gif&amp;amp;imgrefurl=http://www.bettercomponents.be/index.php%253FcPath%253D96&amp;amp;h=360&amp;amp;w=327&amp;amp;sz=132&amp;amp;tbnid=UKfPlBMXgToJ:&amp;amp;tbnh=117&amp;amp;tbnw=106&amp;amp;hl=en&amp;amp;prev=/images%253Fq%253Dlinux%252Blogo%2526hl%253Den%2526lr%253D&amp;amp;frame=small sally DIRECT images.google.com text/html &amp;quot;Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/312.1 (KHTML, like Gecko) Safari/312&amp;quot; PROXIED Hacking/Proxy%20Avoidance - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 2 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 1 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 2 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 1 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 2 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 1 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 1 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 1 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 1 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 98 45.14.3.52 200 TCP_HIT 14258 321 GET http www.cedardalechurch.ca /birdscp2.gif - brad DIRECT 209.135.103.13 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 1 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 2 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 2717 45.110.2.82 200 TCP_NC_MISS 3926 1051 GET http www.inmobus.com /wcm/isocket/iSocket.cfm ?requestURL=http://www.inmobus.com/wcm/html/../isocket/image_manager_search.cfm?dsn=InmobusWCM&amp;amp;projectid=26&amp;amp;SetModule=WCM&amp;amp;iSocketAction=response&amp;amp;responseContainer=leftTopDiv george DIRECT www.inmobus.com text/html;%20charset=UTF-8 &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 1 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 1 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 47 45.14.4.127 200 TCP_NC_MISS 2620 926 GET http images.google.com /images ?q=tbn:UKfPlBMXgToJ:http://www.bettercomponents.be/images/linux-logo.gif jane DIRECT images.google.com image/jpeg &amp;quot;Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/312.1 (KHTML, like Gecko) Safari/312&amp;quot; PROXIED Hacking/Proxy%20Avoidance - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:12 1 45.110.2.82 200 TCP_HIT 941 729 GET http www.inmobus.com /wcm/assets/images/imagefileicon.gif - george DIRECT 38.112.92.20 image/gif &amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; PROXIED none - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:13 139 45.112.2.73 207 TCP_NC_MISS 819 418 PROPFIND http idisk.mac.com /patrickarnold/Public/Show - bill DIRECT idisk.mac.com text/xml;charset=utf-8 &amp;quot;WebDAVFS/1.2.7 (01278000) Darwin/7.8.0 (Power Macintosh)&amp;quot; PROXIED Computers/Internet - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:13 2 45.106.2.66 200 TCP_HIT 559 348 GET http aim-charts.pf.aol.com / ?action=aim&amp;amp;fields=snpghlocvAa&amp;amp;syms=INDEX:COMPX,INDEX:INDU,INDEX:INX,TWX sally DIRECT 205.188.136.217 text/plain &amp;quot;AIM/30 (Mozilla 1.24b; Windows; I; 32-bit)&amp;quot; PROXIED Web%20Communications - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:13 9638 45.106.3.71 200 TCP_NC_MISS 46052 1921 POST http home.silverstar.com /cgi-bin/mailman.cgi - carol DIRECT home.silverstar.com text/html &amp;quot;Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6) Gecko/20050317 Firefox/1.0.2&amp;quot; PROXIED Computers/Internet - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:16:13 173 45.112.2.73 207 TCP_NC_MISS 647 436 PROPFIND http idisk.mac.com /patrickarnold/Public/Show/nuvio_05_what.swf - bill DIRECT idisk.mac.com text/xml;charset=utf-8 &amp;quot;WebDAVFS/1.2.7 (01278000) Darwin/7.8.0 (Power Macintosh)&amp;quot; PROXIED Computers/Internet - 192.16.170.42 SG-HTTP-Service - none -
2005-05-04 17:17:26 495 45.108.2.100 401 TCP_NC_MISS 1007 99884 PUT http idisk.mac.com /fayray_account_transfer_holding_area_for_pictures_to_homepage_temporary/Documents/85bT9bmviawEbbBb4Sie/Image-2743371ABCC011D9.jpg - - DIRECT idisk.mac.com text/html;charset=iso-8859-1 &amp;quot;DotMacKit/1.1 (10.4.0; iPho)&amp;quot; PROXIED Computers/Internet - 192.16.170.42 SG-HTTP-Service - none -

&lt;/code&gt;&lt;/pre&gt;


    &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
    &lt;div class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;
      
      &lt;span class=&#34;&#34; style=&#34;font-size: smaller&#34;&gt;Sample BlueCoat logs&lt;/span&gt;
      
      (
      &lt;a href=&#34;../../files/HOWTOs/EventFeeds/ProcessingHowTo/sampleBluecoat.log&#34; class=&#34;&#34; style=&#34;font-size: smaller&#34;&gt;Download sampleBluecoat.log&lt;/a&gt;
      &lt;i class=&#34;external-link-icon fas fa-file-download fa-sm text-secondary&#34; title=&#34;External link&#34;&gt;&lt;/i&gt;
      )
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Later in this HOWTO, one will be required to upload this file.
If you save this file now, ensure the file is saved
as a text document with ANSI encoding.&lt;/p&gt;
&lt;h2 id=&#34;establish-the-processing-pipeline&#34;&gt;Establish the Processing Pipeline&lt;/h2&gt;
&lt;p&gt;We will create the components that make up the processing pipeline for transforming these raw logs into the Stroom Event Logging XML Schema.
They will be placed a folder appropriately named &lt;strong&gt;BlueCoat&lt;/strong&gt; in the path &lt;strong&gt;System/Event Sources/Proxy&lt;/strong&gt;.
See &lt;a href=&#34;../../docs/howtos/general/feedmanagementhowto/#create-folder-for-specific-event-source&#34;&gt;Folder Creation&lt;/a&gt; for details on creating such a folder.&lt;/p&gt;
&lt;p&gt;There will be four components&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the Event Feed to group the BlueCoat log files&lt;/li&gt;
&lt;li&gt;the Text Converter to convert the BlueCoat raw logs files into simple XML&lt;/li&gt;
&lt;li&gt;the XSLT Translation to translate the simple XML formed by the Text Converter into the Stroom Event Logging XML form, and&lt;/li&gt;
&lt;li&gt;the Processing pipeline which manages how the processing is performed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All components will have the same Name &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt;.
It should be noted that the default Stroom FeedName pattern will not accept this name.
One needs to modify the &lt;code&gt;stroom.feedNamePattern&lt;/code&gt; stroom property to change the default pattern to &lt;code&gt;^[a-zA-Z0-9_-\.]{3,}$&lt;/code&gt;.
See the &lt;a href=&#34;../../docs/howtos/administration/systemproperties/&#34;&gt;HOWTO on System Properties&lt;/a&gt; document to see how to make this change.&lt;/p&gt;
&lt;h3 id=&#34;create-the-event-feed&#34;&gt;Create the Event Feed&lt;/h3&gt;
&lt;p&gt;We first select (with a &lt;em&gt;left click&lt;/em&gt;) the &lt;strong&gt;System/Event Sources/Proxy/BlueCoat&lt;/strong&gt; folder in the &lt;code&gt;Explorer&lt;/code&gt; tab then &lt;em&gt;right click&lt;/em&gt; and select:&lt;/p&gt;





  &lt;div class=&#34;stroom-theme-dark stroom-menu&#34;&gt;
    
    

      

      
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 0px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item &#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;New
      &lt;/div&gt;
        &lt;div class=&#34;stroom-menu-item-arrow&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Arrow right&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

      

      
      
        
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 7px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item stroom-menu-item-leaf&#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Feed&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__green)&#34; d=&#34;m 938.50195,211.41007 c -5.56299,0.0388 -11.74705,1.29983 -18.55468,3.7832 -18.1537,6.6223 -30.41561,18.62426 -36.78321,36.00781 L 781.2832,529.3378 l -636.59961,0 c -11.58903,0 -22.47327,3.72569 -32.65234,11.17578 -10.17907,7.4501 -17.391684,16.96956 -21.636719,28.5586 L 3.0683594,807.47452 c -4.2450584,11.5891 -4.00823944,21.10849 0.7128906,28.55859 4.72114,7.4501 12.877765,11.17578 24.466797,11.17578 358.940143,-0.86657 728.661783,-0.53744 1037.093753,-0.52148 l 192.0293,-132.33789 c 11.3101,-8.27788 19.0869,-18.21175 23.332,-29.80078 3.9418,-10.76125 3.2906,-20.28072 -1.9551,-28.5586 L 961.13086,221.4003 c -5.81425,-6.72578 -13.35726,-10.05491 -22.62891,-9.99023 z m 509.37505,415.625 c -5.563,0.0388 -11.7471,1.29983 -18.5547,3.7832 -18.1537,6.6223 -30.4156,18.62426 -36.7832,36.00781 l -101.8809,278.13672 -762.55273,0 c -11.58903,0 -22.47327,3.72569 -32.65235,11.17578 -10.17906,7.4501 -17.39165,16.96957 -21.63671,28.5586 l -87.32618,238.40232 c -4.24506,11.5891 -4.00824,21.1085 0.71289,28.5586 4.72113,7.4501 12.87777,11.1758 24.4668,11.1758 l 762.55278,0 -101.8809,278.1367 c -6.0644,16.5558 -2.5987,28.5577 10.4004,36.0078 13.3022,6.6223 28.6997,4.1399 46.1894,-7.4492 l 637.8145,-439.5547 c 11.3101,-8.2779 19.0869,-18.2117 23.332,-29.8008 3.9418,-10.7612 3.2906,-20.2807 -1.9551,-28.5586 L 1470.5059,637.0253 c -5.8143,-6.72578 -13.3573,-10.05491 -22.6289,-9.99023 z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;Feed
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;/div&gt;



&lt;p&gt;This will open the &lt;code&gt;New Feed&lt;/code&gt; configuration window into which we enter &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; into the &lt;code&gt;Name:&lt;/code&gt; entry box&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-00.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-00.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-00.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-00.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - New feed configuration window enter name&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;and press 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
 to see the new Event Feed tab&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-01.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-01.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-01.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-01.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - New feed tab&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;and its corresponding reference in the &lt;code&gt;Explorer&lt;/code&gt; display.&lt;/p&gt;
&lt;p&gt;The configuration items for an Event Feed are&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Description&lt;/em&gt; - a description of the feed&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Classification&lt;/em&gt; - the classification or sensitivity of the Event Feed data&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Reference Feed Flag&lt;/em&gt; - to indicate if this is a &lt;code&gt;Reference Feed&lt;/code&gt; or not&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Feed Status&lt;/em&gt; - which indicates if we accept data, reject it or silently drop it&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Stream Type&lt;/em&gt; - to indicate if the &lt;code&gt;Feed&lt;/code&gt; contains raw log data or reference data&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Data Encoding&lt;/em&gt; - the character encoding of the data being sent to the &lt;code&gt;Feed&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Context Encoding&lt;/em&gt; - the character encoding of context data associated with this &lt;code&gt;Feed&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Retention Period&lt;/em&gt; - the amount of time to retain the Event data&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In our example, we will set the above to&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Description&lt;/em&gt; - &lt;em&gt;BlueCoat Proxy log data sent in W3C Extended Log File Format (&lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/e/glossary-elff&#34;&gt;
      &lt;span&gt;ELFF&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;ELFF&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;The &lt;strong&gt;E&lt;/strong&gt;xtended &lt;strong&gt;L&lt;/strong&gt;og &lt;strong&gt;F&lt;/strong&gt;ile &lt;strong&gt;F&lt;/strong&gt;ormat. A W3C standard format for log files produced by web servers.&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Classification&lt;/em&gt; - We will leave this blank&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Reference Feed Flag&lt;/em&gt; - We leave the check-box unchecked as this is not a &lt;em&gt;Reference Feed&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Feed Status&lt;/em&gt; - We set to &lt;em&gt;Receive&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Stream Type&lt;/em&gt; - We set to &lt;em&gt;Raw Events&lt;/em&gt; as we will be sending batches (streams) of raw event logs&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Data Encoding&lt;/em&gt; - We leave at the default of &lt;em&gt;UTF-8&lt;/em&gt; as this is the proposed character encoding&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Context Encoding&lt;/em&gt; - We leave at the default of &lt;em&gt;UTF-8&lt;/em&gt; as there are no Context Events for this Feed&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Retention Period&lt;/em&gt; - We leave at &lt;em&gt;Forever&lt;/em&gt; as we do not want to delete any collected BlueCoat event data.&lt;/li&gt;
&lt;/ul&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-02.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-02.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-02.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-02.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - New feed tab configuration&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;One should note that the &lt;code&gt;Feed&lt;/code&gt; tab 








  



  



&lt;span class=&#34;stroom-theme-dark stroom-tab stroom-tab-active&#34; title=&#34;Feed tab - &#39;BlueCoat-Proxy-V1.0-EVENTS&#39;&#34; &gt;
  &lt;span class=&#34;stroom-tab-icon&#34;&gt;
    &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Feed&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__green)&#34; d=&#34;m 938.50195,211.41007 c -5.56299,0.0388 -11.74705,1.29983 -18.55468,3.7832 -18.1537,6.6223 -30.41561,18.62426 -36.78321,36.00781 L 781.2832,529.3378 l -636.59961,0 c -11.58903,0 -22.47327,3.72569 -32.65234,11.17578 -10.17907,7.4501 -17.391684,16.96956 -21.636719,28.5586 L 3.0683594,807.47452 c -4.2450584,11.5891 -4.00823944,21.10849 0.7128906,28.55859 4.72114,7.4501 12.877765,11.17578 24.466797,11.17578 358.940143,-0.86657 728.661783,-0.53744 1037.093753,-0.52148 l 192.0293,-132.33789 c 11.3101,-8.27788 19.0869,-18.21175 23.332,-29.80078 3.9418,-10.76125 3.2906,-20.28072 -1.9551,-28.5586 L 961.13086,221.4003 c -5.81425,-6.72578 -13.35726,-10.05491 -22.62891,-9.99023 z m 509.37505,415.625 c -5.563,0.0388 -11.7471,1.29983 -18.5547,3.7832 -18.1537,6.6223 -30.4156,18.62426 -36.7832,36.00781 l -101.8809,278.13672 -762.55273,0 c -11.58903,0 -22.47327,3.72569 -32.65235,11.17578 -10.17906,7.4501 -17.39165,16.96957 -21.63671,28.5586 l -87.32618,238.40232 c -4.24506,11.5891 -4.00824,21.1085 0.71289,28.5586 4.72113,7.4501 12.87777,11.1758 24.4668,11.1758 l 762.55278,0 -101.8809,278.1367 c -6.0644,16.5558 -2.5987,28.5577 10.4004,36.0078 13.3022,6.6223 28.6997,4.1399 46.1894,-7.4492 l 637.8145,-439.5547 c 11.3101,-8.2779 19.0869,-18.2117 23.332,-29.8008 3.9418,-10.7612 3.2906,-20.2807 -1.9551,-28.5586 L 1470.5059,637.0253 c -5.8143,-6.72578 -13.3573,-10.05491 -22.6289,-9.99023 z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-tab-name&#34;&gt;* BlueCoat-Proxy-V1.0-EVENTS&lt;/span&gt;
  &lt;span class=&#34;stroom-tab-cross&#34;&gt;
    &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Tab close&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; version=&#34;1.1&#34; height=&#34;45&#34; width=&#34;45&#34; viewBox=&#34;0 0 45 45&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:4.5;stroke-linecap:round;&#34; transform=&#34;translate(13.9661017,13.5677966)&#34;&gt;&lt;path d=&#34;M -2.5783352e-4,-0.00146808 17.435473,18.212367&#34;/&gt;&lt;path d=&#34;M -2.5783352e-4,18.212367 17.435473,-0.00146808&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;/span&gt;
&lt;/span&gt;

 has been marked as having unsaved changes.
This is indicated by the asterisk character &lt;code&gt;*&lt;/code&gt; between the &lt;em&gt;Feed&lt;/em&gt; icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Feed&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__green)&#34; d=&#34;m 938.50195,211.41007 c -5.56299,0.0388 -11.74705,1.29983 -18.55468,3.7832 -18.1537,6.6223 -30.41561,18.62426 -36.78321,36.00781 L 781.2832,529.3378 l -636.59961,0 c -11.58903,0 -22.47327,3.72569 -32.65234,11.17578 -10.17907,7.4501 -17.391684,16.96956 -21.636719,28.5586 L 3.0683594,807.47452 c -4.2450584,11.5891 -4.00823944,21.10849 0.7128906,28.55859 4.72114,7.4501 12.877765,11.17578 24.466797,11.17578 358.940143,-0.86657 728.661783,-0.53744 1037.093753,-0.52148 l 192.0293,-132.33789 c 11.3101,-8.27788 19.0869,-18.21175 23.332,-29.80078 3.9418,-10.76125 3.2906,-20.28072 -1.9551,-28.5586 L 961.13086,221.4003 c -5.81425,-6.72578 -13.35726,-10.05491 -22.62891,-9.99023 z m 509.37505,415.625 c -5.563,0.0388 -11.7471,1.29983 -18.5547,3.7832 -18.1537,6.6223 -30.4156,18.62426 -36.7832,36.00781 l -101.8809,278.13672 -762.55273,0 c -11.58903,0 -22.47327,3.72569 -32.65235,11.17578 -10.17906,7.4501 -17.39165,16.96957 -21.63671,28.5586 l -87.32618,238.40232 c -4.24506,11.5891 -4.00824,21.1085 0.71289,28.5586 4.72113,7.4501 12.87777,11.1758 24.4668,11.1758 l 762.55278,0 -101.8809,278.1367 c -6.0644,16.5558 -2.5987,28.5577 10.4004,36.0078 13.3022,6.6223 28.6997,4.1399 46.1894,-7.4492 l 637.8145,-439.5547 c 11.3101,-8.2779 19.0869,-18.2117 23.332,-29.8008 3.9418,-10.7612 3.2906,-20.2807 -1.9551,-28.5586 L 1470.5059,637.0253 c -5.8143,-6.72578 -13.3573,-10.05491 -22.6289,-9.99023 z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; and the name of the feed &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;We can save the changes to our feed by pressing the &lt;em&gt;Save&lt;/em&gt; icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; in the top left of the &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; tab.
At this point one should notice two things, the first is that the asterisk
has disappeared from the &lt;code&gt;Feed&lt;/code&gt; tab and the second is that the &lt;em&gt;Save&lt;/em&gt; icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button disabled &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; is now disabled.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-03.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-03.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-03.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-03.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - New feed tab saved&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;h3 id=&#34;create-the-text-converter&#34;&gt;Create the Text Converter&lt;/h3&gt;
&lt;p&gt;We now create the Text Converter for this &lt;code&gt;Feed&lt;/code&gt; in a similar fashion to the &lt;code&gt;Event Feed&lt;/code&gt;.
We first select (with a &lt;em&gt;left click&lt;/em&gt;) the &lt;strong&gt;System/Event Sources/Proxy/BlueCoat&lt;/strong&gt; folder in the &lt;code&gt;Explorer&lt;/code&gt; tab then &lt;em&gt;right click&lt;/em&gt; and select&lt;/p&gt;





  &lt;div class=&#34;stroom-theme-dark stroom-menu&#34;&gt;
    
    

      

      
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 0px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item &#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;New
      &lt;/div&gt;
        &lt;div class=&#34;stroom-menu-item-arrow&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Arrow right&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

      

      
      
        
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 7px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item stroom-menu-item-leaf&#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Text converter&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;m 1522.1543,129.30336 16.9536,359.41707 -42.9492,0 q -12.4327,-94.94036 -33.9073,-135.62908 -35.0375,-65.55406 -93.8101,-96.0706 -57.6424,-31.64679 -152.5827,-31.64679 l -215.8763,0 0,1170.93104 q 0,141.2803 30.5165,176.3178 42.9492,47.4702 132.2384,47.4702 l 53.1214,0 0,41.819 -649.88937,0 0,-41.819 54.25164,0 q 97.20084,0 137.88956,-58.7726 24.86533,-36.1677 24.86533,-165.0154 l 0,-1170.93104 -184.2295,0 q -107.37302,0 -152.58272,15.8234 -58.7726,21.4746 -100.59156,82.50769 -41.81897,61.03308 -49.73067,165.01538 l -42.94921,0 18.08388,-359.41707 1251.17832,0 z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;Text Converter
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;/div&gt;



&lt;p&gt;Enter &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; into the &lt;code&gt;Name:&lt;/code&gt; entry box and press the 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
 which results in the creation of the Text Converter tab&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-04.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-04.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-04.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-04.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - New TextConverter tab&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;and its corresponding reference in the &lt;code&gt;Explorer&lt;/code&gt; display.&lt;/p&gt;
&lt;p&gt;We set the configuration for this &lt;code&gt;Text Converter&lt;/code&gt; to be&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Description - &lt;em&gt;Simple XML transform for BlueCoat Proxy log data sent in W3C Extended Log File Format (&lt;span class=&#34;glossary-link&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/e/glossary-elff&#34;&gt;
      &lt;span&gt;ELFF&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;span class=&#34;glossary-tooltip&#34;&gt;
      &lt;span class=&#34;glossary-tooltip-title&#34;&gt;ELFF&lt;/span&gt;
      &lt;span class=&#34;glossary-tooltip-summary&#34;&gt;The &lt;strong&gt;E&lt;/strong&gt;xtended &lt;strong&gt;L&lt;/strong&gt;og &lt;strong&gt;F&lt;/strong&gt;ile &lt;strong&gt;F&lt;/strong&gt;ormat. A W3C standard format for log files produced by web servers.&lt;/span&gt;&lt;span class=&#34;glossary-tooltip-truncated&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Converter Type - We set to &lt;em&gt;Data Splitter&lt;/em&gt; as we will be using the Stroom Data Splitter facility to convert the raw log data into simple XML.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Again, press the &lt;em&gt;Save&lt;/em&gt; icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; to save the configuration items.&lt;/p&gt;
&lt;h3 id=&#34;create-the-xslt-translation&#34;&gt;Create the XSLT Translation&lt;/h3&gt;
&lt;p&gt;We now create the XSLT translation for this &lt;code&gt;Feed&lt;/code&gt; in a similar fashion to the &lt;code&gt;Event Feed&lt;/code&gt; or &lt;code&gt;Text Converter&lt;/code&gt;.
We first select (with a &lt;em&gt;left click&lt;/em&gt;) the &lt;strong&gt;System/Event Sources/Proxy/BlueCoat&lt;/strong&gt; folder in the &lt;code&gt;Explorer&lt;/code&gt; tab then &lt;em&gt;right click&lt;/em&gt; and select:&lt;/p&gt;





  &lt;div class=&#34;stroom-theme-dark stroom-menu&#34;&gt;
    
    

      

      
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 0px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item &#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;New
      &lt;/div&gt;
        &lt;div class=&#34;stroom-menu-item-arrow&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Arrow right&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

      

      
      
        
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 7px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item stroom-menu-item-leaf&#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Xslt&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__xsl-background)&#34; d=&#34;M 684.30664 211.38672 C 672.42766 211.38672 661.91891 215.95413 652.78125 225.0918 L 14.058594 863.81641 C 4.9209141 872.95409 0.3515625 883.46088 0.3515625 895.33984 C 0.3515625 907.21882 4.9209142 917.72756 14.058594 926.86523 L 652.78125 1565.5898 C 661.91891 1574.7275 672.42766 1579.2949 684.30664 1579.2949 C 696.1856 1579.2949 706.69435 1574.7275 715.83203 1565.5898 L 784.36523 1497.0566 C 793.5029 1487.9191 798.07031 1477.4102 798.07031 1465.5312 C 798.07031 1453.6524 793.5029 1443.1436 784.36523 1434.0059 L 245.69922 895.33984 L 784.36523 356.67578 C 793.5029 347.53811 798.07031 337.02937 798.07031 325.15039 C 798.07031 313.27142 793.5029 302.76268 784.36523 293.625 L 715.83203 225.0918 C 706.69435 215.95413 696.1856 211.38672 684.30664 211.38672 z M 1107.9082 211.38672 C 1096.0293 211.38672 1085.5225 215.95414 1076.3848 225.0918 L 1007.8516 293.625 C 998.71402 302.76268 994.14453 313.27142 994.14453 325.15039 C 994.14453 337.02937 998.71402 347.53811 1007.8516 356.67578 L 1546.5176 895.33984 L 1007.8516 1434.0059 C 998.71402 1443.1436 994.14453 1453.6523 994.14453 1465.5312 C 994.14453 1477.4102 998.71402 1487.9191 1007.8516 1497.0566 L 1076.3848 1565.5898 C 1085.5225 1574.7275 1096.0293 1579.2949 1107.9082 1579.2949 C 1119.7872 1579.2949 1130.2959 1574.7275 1139.4336 1565.5898 L 1778.1582 926.86523 C 1787.2959 917.72756 1791.8633 907.21882 1791.8633 895.33984 C 1791.8633 883.46088 1787.2959 872.95409 1778.1582 863.81641 L 1139.4336 225.0918 C 1130.2959 215.95414 1119.7872 211.38672 1107.9082 211.38672 z &#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__black)&#34; d=&#34;M 914.01562 609.75391 C 846.69543 609.75391 793.7585 624.0295 755.20508 652.58203 C 716.65166 681.13457 697.375 720.39439 697.375 770.36133 C 697.375 809.25185 709.09092 840.2669 732.51953 863.4043 C 755.94815 886.29555 800.72934 908.20094 866.86328 929.12305 L 931.36523 949.42969 C 953.90415 956.5678 971.1042 966.4135 982.9668 978.9668 C 994.82939 991.27392 1000.7617 1005.6745 1000.7617 1022.166 C 1000.7617 1044.0727 991.86421 1061.1792 974.07031 1073.4863 C 956.27643 1085.5473 931.21618 1091.5781 898.89062 1091.5781 C 866.86163 1091.5781 834.38939 1086.5313 801.4707 1076.4395 C 768.84858 1066.3477 735.03956 1050.9651 700.04492 1030.2891 L 700.04492 1142.8984 C 730.88766 1155.6978 762.76881 1165.2975 795.6875 1171.6973 C 828.90275 1178.3431 861.96998 1181.666 894.88867 1181.666 C 974.96115 1181.666 1034.719 1168.0054 1074.1621 1140.6836 C 1113.9018 1113.1156 1133.7715 1071.5169 1133.7715 1015.8887 C 1133.7715 975.02903 1121.167 941.18506 1095.959 914.35547 C 1070.751 887.52595 1031.4559 865.98759 978.07422 849.74219 L 921.57812 832.01953 C 882.43158 819.95854 856.6315 809.00586 844.17578 799.16016 C 832.01663 789.06832 825.93555 776.3917 825.93555 761.13086 C 825.93555 741.43946 834.38878 726.30288 851.29297 715.71875 C 868.19716 705.13462 892.51562 699.8418 924.24805 699.8418 C 952.71826 699.8418 981.4855 704.14869 1010.5488 712.76367 C 1039.6122 721.37867 1068.2307 733.93228 1096.4043 750.42383 L 1096.4043 644.08984 C 1066.4513 632.76728 1036.2005 624.27651 1005.6543 618.61523 C 975.10813 612.70782 944.56179 609.75391 914.01562 609.75391 z M 109.28711 619.72266 L 298.79297 891.09375 L 103.94922 1170.959 L 239.62891 1170.959 L 365.96484 988.56641 L 492.74609 1170.959 L 628.42383 1170.959 L 434.4707 891.09375 L 623.08594 619.72266 L 487.4082 619.72266 L 365.96484 795.09961 L 244.9668 619.72266 L 109.28711 619.72266 z M 1288.1328 619.72266 L 1288.1328 1170.959 L 1700.0605 1170.959 L 1700.0605 1074.9629 L 1419.3633 1074.9629 L 1419.3633 619.72266 L 1288.1328 619.72266 z &#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;XSL Translation
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;/div&gt;



&lt;p&gt;Enter &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; into the &lt;code&gt;Name:&lt;/code&gt; entry box and press the 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
 which results in the creation of the XSLT Translation tab&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-05.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-05.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-05.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-05.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - New Translation tab&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;and its corresponding reference in the &lt;code&gt;Explorer&lt;/code&gt; display.&lt;/p&gt;
&lt;p&gt;We set the configuration for this &lt;code&gt;XSLT Translation&lt;/code&gt; to be&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Description - &lt;em&gt;Transform simple XML of BlueCoat Proxy log data into Stroom Event Logging XML form&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Again, press the &lt;em&gt;Save&lt;/em&gt; icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; to save the configuration items.&lt;/p&gt;
&lt;h3 id=&#34;create-the-pipeline&#34;&gt;Create the Pipeline&lt;/h3&gt;
&lt;p&gt;We now create the Pipeline for this &lt;code&gt;Feed&lt;/code&gt; in a similar fashion to the &lt;code&gt;Event Feed&lt;/code&gt;, &lt;code&gt;Text Converter&lt;/code&gt; or &lt;code&gt;XSLT Translation&lt;/code&gt;.
We first select (with a &lt;em&gt;left click&lt;/em&gt;) the &lt;strong&gt;System/Event Sources/Proxy/BlueCoat&lt;/strong&gt; folder in the &lt;code&gt;Explorer&lt;/code&gt; tab then &lt;em&gt;right click&lt;/em&gt; and select:&lt;/p&gt;





  &lt;div class=&#34;stroom-theme-dark stroom-menu&#34;&gt;
    
    

      

      
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 0px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item &#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;New
      &lt;/div&gt;
        &lt;div class=&#34;stroom-menu-item-arrow&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Arrow right&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

      

      
      
        
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 7px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item stroom-menu-item-leaf&#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Pipeline&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__blue)&#34; d=&#34;m 1440,95.339844 c -9.3333,0 -17,2.999997 -23,8.999996 -6,6 -9,13.66667 -9,23 l 0,192 -256,0 c -45.3333,0 -88,5.5 -128,16.5 -40.00001,11 -75.50001,25 -106.50001,42 -31,17 -61,39.83333 -90,68.5 -29,28.66667 -53.66667,56.33333 -74,83 -20.33333,26.66667 -41.66667,60 -64,100 -19.99699,35.8155 -36.49225,67.59036 -49.54102,95.38868 -0.27492,0.10932 -0.53471,0.21669 -0.81054,0.32617 -16,30.66667 -31,56.5 -45,77.5 -14,21 -31,41.5 -51,61.5 -20,20 -43,35 -69,45 -26,10 -55,15 -87,15 l -355.148435,0 c -9.333333,0 -17,3 -23.0000004,9 -6,6 -9.0000000375455,13.66667 -9.0000000375455,23 l 0,192.00001 c 0,9.3333 3.0000000375455,17 9.0000000375455,23 6.0000004,6 13.6666674,9 23.0000004,9 l 355.148435,0 c 45.33333,0 88,-5.5 128,-16.5 40,-11 75.5,-25 106.5,-42 31,-17 61,-39.8333 90,-68.5 29,-28.6667 53.66667,-56.33334 74,-83.00001 20.33333,-26.66667 41.66667,-60 64,-100 19.8569,-35.56461 36.26775,-67.15315 49.27344,-94.8125 0.36178,-0.305 0.71557,-0.5961 1.07812,-0.90235 16,-30.66667 31,-56.5 45,-77.5 14,-21 31,-41.5 51,-61.5 20.00001,-20 43.00001,-35 69.00001,-45 26,-10 55,-15 87,-15 l 256,0 0,192 c 0,8.66667 3.1667,16.16667 9.5,22.5 6.3333,6.33333 13.8333,9.5 22.5,9.5 9.3333,0 17,-3 23,-9 l 320,-320 c 6,-6 9,-13.66667 9,-23 0,-9.33333 -3,-17 -9,-23 l -319,-319 c -8,-6.666666 -16,-9.999996 -24,-9.999996 z&#34;/&gt;&lt;path style=&#34;fill:var(--icon-colour__green)&#34; d=&#34;M 32 608.88672 C 22.666667 608.88672 15 611.88672 9 617.88672 C 3.0000001 623.88672 0 631.55342 0 640.88672 L 0 832.88672 C -2.3684758e-15 842.22005 3.0000001 849.88672 9 855.88672 C 14.999999 861.88672 22.666667 864.88672 32 864.88672 L 387.14844 864.88672 C 389.01484 864.88672 390.86885 864.90739 392.71484 864.94141 C 424.84023 863.54598 455.12074 854.70213 477.65234 838.51562 C 513.22947 811.0071 542.31317 769.76507 567.46094 723.21289 A 59.082625 59.082625 0 0 1 567.88281 722.44336 C 577.24508 705.7116 585.95748 689.48787 593.56641 673.41992 A 59.082625 59.082625 0 0 1 594.40625 671.7168 C 596.87369 666.9118 599.36286 662.08644 601.86719 657.25195 C 575.79127 644.74345 546.89263 634.11637 515.14844 625.38672 C 475.14844 614.38672 432.48177 608.88672 387.14844 608.88672 L 32 608.88672 z M 870.56641 957.2793 C 853.49205 984.29535 834.72449 1010.8834 813.4375 1036.3711 A 59.082625 59.082625 0 0 1 813.08984 1036.7852 C 777.58172 1078.5162 737.58032 1121.5966 687.80664 1156.543 C 688.3781 1157.5702 688.9227 1158.5676 689.5 1159.6016 C 711.83333 1199.6016 733.16667 1232.9349 753.5 1259.6016 C 773.83333 1286.2683 798.5 1313.9349 827.5 1342.6016 C 856.5 1371.2683 886.5 1394.1016 917.5 1411.1016 C 948.5 1428.1016 983.99999 1442.1016 1024 1453.1016 C 1064 1464.1016 1106.6667 1469.6016 1152 1469.6016 L 1408 1469.6016 L 1408 1661.6016 C 1408 1670.9349 1411 1678.6016 1417 1684.6016 C 1423 1690.6016 1430.6667 1693.6016 1440 1693.6016 C 1448 1693.6016 1456 1690.2683 1464 1683.6016 L 1783 1364.6016 C 1789 1358.6016 1792 1350.9349 1792 1341.6016 C 1792 1332.2683 1789 1324.6016 1783 1318.6016 L 1463 998.60156 C 1457 992.60156 1449.3333 989.60156 1440 989.60156 C 1431.3333 989.60156 1423.8333 992.76823 1417.5 999.10156 C 1411.1667 1005.4348 1408 1012.9349 1408 1021.6016 L 1408 1213.6016 L 1152 1213.6016 C 1120 1213.6016 1091 1208.6016 1065 1198.6016 C 1039 1188.6016 1016 1173.6016 996 1153.6016 C 976 1133.6016 959 1113.1016 945 1092.1016 C 931 1071.1016 916 1045.2683 900 1014.6016 C 899.63745 1014.2954 899.28365 1014.0042 898.92188 1013.6992 C 890.80126 996.429 881.35206 977.6246 870.56641 957.2793 z &#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;Pipeline
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;/div&gt;



&lt;p&gt;Enter &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; into the &lt;code&gt;Name:&lt;/code&gt; entry box and press the 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
 which results in the creation of the Pipeline tab&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-06.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-06.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-06.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-06.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - New Pipeline tab&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;and its corresponding reference in the &lt;code&gt;Explorer&lt;/code&gt; display.&lt;/p&gt;
&lt;p&gt;We set the configuration for this &lt;code&gt;Pipeline&lt;/code&gt; to be&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Description - &lt;em&gt;Processing of XML of BlueCoat Proxy log data into Stroom Event Logging XML&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Type - We leave as &lt;em&gt;Event Data&lt;/em&gt; as this is an &lt;em&gt;Event Data&lt;/em&gt; pipeline&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;configure-pipeline-structure&#34;&gt;Configure Pipeline Structure&lt;/h3&gt;
&lt;p&gt;We now need to configure the &lt;em&gt;Structure&lt;/em&gt; of this &lt;code&gt;Pipeline&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;We do this by selecting the &lt;code&gt;Structure&lt;/code&gt; hyper-link of the *&lt;em&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/em&gt; &lt;code&gt;Pipeline&lt;/code&gt; tab.&lt;/p&gt;
&lt;p&gt;At this point, we see the &lt;code&gt;Pipeline Structure&lt;/code&gt; configuration tab&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-07.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-07.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-07.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-07.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Pipeline Structure tab&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;As noted in the Assumptions at the start, we have loaded the &lt;strong&gt;Template Pipeline&lt;/strong&gt; content pack, so that we can &lt;em&gt;Inherit&lt;/em&gt; a pipeline structure from this content pack and configure it to support this specific feed.&lt;/p&gt;
&lt;p&gt;We find a template by selecting the &lt;strong&gt;Inherit From:&lt;/strong&gt; &lt;em&gt;None&lt;/em&gt; &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Menu selection&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; height=&#34;1792&#34; width=&#34;1792&#34; version=&#34;1.1&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;g style=&#34;fill:currentColor&#34;&gt;&lt;circle cx=&#34;342.43176&#34; cy=&#34;896&#34; r=&#34;208.83429&#34;/&gt;&lt;circle cx=&#34;896&#34; cy=&#34;896&#34; r=&#34;208.83429&#34;/&gt;&lt;circle cx=&#34;1449.5682&#34; cy=&#34;896&#34; r=&#34;208.83429&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; entry box to reveal a &lt;strong&gt;Choose Item&lt;/strong&gt; configuration item window.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-08.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-08.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-08.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-08.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Pipeline Structure tab - Inherit&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Select the &lt;strong&gt;Template Pipelines&lt;/strong&gt; folder by pressing the &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Open tree branch&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; icon to the left of the folder to reveal the choice of available templates.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-09.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-09.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-09.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-09.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Pipeline Structure tab - Templates&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;For our BlueCoat feed we will select the &lt;code&gt;Event Data (Text)&lt;/code&gt; template.
This is done by moving the cursor to the relevant line and select via a &lt;em&gt;left click&lt;/em&gt;&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-10.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-10.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-10.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-10.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Pipeline Structure tab - Template Selection&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;then pressing 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
 to see the inherited pipeline structure&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-11.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-11.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-11.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-11.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Pipeline Structure tab - Template Selected&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;h3 id=&#34;configure-pipeline-elements&#34;&gt;Configure Pipeline Elements&lt;/h3&gt;
&lt;p&gt;For the purpose of this HOWTO, we are only interested in two of the eleven (11) elements in this pipeline&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the Text Converter labelled &lt;em&gt;dsParser&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;the XSLT Translation labelled &lt;em&gt;translationFilter&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We need to assign our BlueCoat-Proxy-V1.0-EVENTS Text Converter and XSLT Translation to these elements respectively.&lt;/p&gt;
&lt;h4 id=&#34;text-converter-configuration&#34;&gt;Text Converter Configuration&lt;/h4&gt;
&lt;p&gt;We do this by first selecting (&lt;em&gt;left click&lt;/em&gt;) the &lt;em&gt;dsParser&lt;/em&gt; element at which we see the &lt;em&gt;Property&lt;/em&gt; sub-window displayed&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-12.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-12.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-12.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-12.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Pipeline Structure tab - dsParser&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We then select (&lt;em&gt;left click&lt;/em&gt;) the &lt;em&gt;textConverter&lt;/em&gt; &lt;strong&gt;Property Name&lt;/strong&gt;&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-13.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-13.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-13.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-13.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Pipeline Structure tab - dsParser selected Property&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;then press the &lt;code&gt;Edit Property&lt;/code&gt; button &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Edit&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;.
At this, the &lt;code&gt;Edit Property&lt;/code&gt; configuration window is displayed.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-14.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-14.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-14.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-14.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Pipeline Structure tab - dsParser Edit Property&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We select the &lt;strong&gt;Value:&lt;/strong&gt; &lt;em&gt;None&lt;/em&gt; &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Menu selection&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; height=&#34;1792&#34; width=&#34;1792&#34; version=&#34;1.1&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;g style=&#34;fill:currentColor&#34;&gt;&lt;circle cx=&#34;342.43176&#34; cy=&#34;896&#34; r=&#34;208.83429&#34;/&gt;&lt;circle cx=&#34;896&#34; cy=&#34;896&#34; r=&#34;208.83429&#34;/&gt;&lt;circle cx=&#34;1449.5682&#34; cy=&#34;896&#34; r=&#34;208.83429&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; entry box labelled to reveal a &lt;strong&gt;Choose Item&lt;/strong&gt; configuration item window.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-15.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-15.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-15.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-15.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Pipeline Structure tab - dsParser Edit Property choose item&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We traverse the folder structure until we can select the &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; &lt;code&gt;Text Converter&lt;/code&gt; as per&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-16.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-16.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-16.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-16.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Pipeline Structure tab - dsParser Edit Property chosen item&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;and then press the 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
 to see that the Property &lt;strong&gt;Value:&lt;/strong&gt; has been selected.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-17.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-17.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-17.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-17.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Pipeline Structure tab - dsParser set Property chosen item&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;and pressing the 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
 button of the &lt;code&gt;Edit Property&lt;/code&gt; configuration window results in the pipelines &lt;code&gt;dsParser&lt;/code&gt; property being set.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-18.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-18.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-18.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-18.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Pipeline Structure tab - dsParser set Property&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;h4 id=&#34;xslt-translation-configuration&#34;&gt;XSLT Translation Configuration&lt;/h4&gt;
&lt;p&gt;We do this by first selecting (&lt;em&gt;left click&lt;/em&gt;) the &lt;em&gt;translationFilter&lt;/em&gt; element at which we see the &lt;em&gt;Property&lt;/em&gt; sub-window displayed&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-19.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-19.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-19.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-19.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Pipeline Structure tab - translationFilter&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We then select (&lt;em&gt;left click&lt;/em&gt;) the &lt;em&gt;xslt&lt;/em&gt; &lt;strong&gt;Property Name&lt;/strong&gt;&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-20.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-20.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-20.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-20.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Pipeline Structure tab - xslt selected Property&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;and following the same steps as for the Text Converter property selection, we assign the &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; &lt;code&gt;XSLT Translation&lt;/code&gt; to the &lt;code&gt;xslt&lt;/code&gt; property.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-21.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-21.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-21.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-21.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Pipeline Structure tab - xslt selected Property&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;At this point, we save these changes by pressing the &lt;em&gt;Save&lt;/em&gt; icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;.&lt;/p&gt;
&lt;h2 id=&#34;authoring-the-translation&#34;&gt;Authoring the Translation&lt;/h2&gt;
&lt;p&gt;We are now ready to author the translation.
Close all tabs except for the &lt;strong&gt;Welcome&lt;/strong&gt; and &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; &lt;code&gt;Feed&lt;/code&gt; tabs.&lt;/p&gt;
&lt;p&gt;On the &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; &lt;code&gt;Feed&lt;/code&gt; tab, select the &lt;strong&gt;Data&lt;/strong&gt; hyper-link to be presented with the &lt;strong&gt;Data&lt;/strong&gt; pane of our tab.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-22.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-22.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-22.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-22.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Data Pane&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Although we can post our test data set to this feed, we will manually upload it via the &lt;strong&gt;Data&lt;/strong&gt; pane.
To do this we press the Upload button &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Upload&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__green)&#34; d=&#34;M1675 971q0 51-37 90l-75 75q-38 38-91 38-54 0-90-38l-294-293v704q0 52-37.5 84.5t-90.5 32.5h-128q-53 0-90.5-32.5t-37.5-84.5v-704l-294 293q-36 38-90 38t-90-38l-75-75q-38-38-38-90 0-53 38-91l651-651q35-37 90-37 54 0 91 37l651 651q37 39 37 91z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; in the top &lt;strong&gt;Data&lt;/strong&gt; pane to display the &lt;code&gt;Upload&lt;/code&gt; configuration window&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-23.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-23.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-23.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-23.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Data Pane Upload&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;In a &lt;em&gt;Production&lt;/em&gt; situation, where we would post log files to Stroom, we would include certain HTTP Header variables that, as we shall see, will be used
as part of the translation.
These header variables typically provide situational awareness of the source system sending the events.&lt;/p&gt;
&lt;p&gt;For our purposes we set the following HTTP Header variables&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-properties&#34;&gt;Environment:Development
LogFileName:sampleBluecoat.log
MyHost:&amp;quot;somenode.strmdev00.org&amp;quot;
MyIPaddress:&amp;quot;192.168.2.220 192.168.122.1&amp;quot;
MyMeta:&amp;quot;FQDN:somenode.strmdev00.org\nipaddress:192.168.2.220\nipaddress_eth0:192.168.2.220\nipaddress_lo:127.0.0.1\nipaddress_virbr0:192.168.122.1\n&amp;quot;
MyNameServer:&amp;quot;gateway.strmdev00.org.&amp;quot;
MyTZ:+1000
Shar256:056f0d196ffb4bc6c5f3898962f1708886bb48e2f20a81fb93f561f4d16cb2aa
System:Site http://log-sharing.dreamhosters.com/ Bluecoat Logs
Version:V1.0
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;These are set by entering them into the &lt;strong&gt;Meta Data:&lt;/strong&gt; entry box.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-24b.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-24b.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-24b.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-24b.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Data Pane Upload Metadata&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Having done this we select a &lt;strong&gt;Stream Type:&lt;/strong&gt; of &lt;code&gt;Raw Events&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;We leave the &lt;strong&gt;Effective:&lt;/strong&gt; entry box empty as this stream of raw event logs does not have an &lt;code&gt;Effective Date&lt;/code&gt; (only Reference Feeds set this).&lt;/p&gt;
&lt;p&gt;And we choose our file &lt;code&gt;sampleBluecoat.log&lt;/code&gt;, by clicking on the &lt;code&gt;Browse&lt;/code&gt; button in the &lt;strong&gt;File:&lt;/strong&gt; entry box, which brings up the browser&amp;rsquo;s standard file upload selection window.
Having selected our file, we see&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-24.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-24.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-24.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-24.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Data Pane Upload Complete&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;On pressing 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
 an &lt;code&gt;Alert&lt;/code&gt; pop-up window is presented indicating the file was uploaded&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-25.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-25.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-25.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-25.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Data Pane Upload Complete Verify&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Again press 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;Close button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Close&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M1490 1322q0 40-28 68l-136 136q-28 28-68 28t-68-28l-294-294-294 294q-28 28-68 28t-68-28l-136-136q-28-28-28-68t28-68l294-294-294-294q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 294 294-294q28-28 68-28t68 28l136 136q28 28 28 68t-28 68l-294 294 294 294q28 28 28 68z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;Close&lt;/span&gt;
&lt;/span&gt;
 to show that the data has been uploaded as a Stream into the &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; Event Feed.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-26.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-26.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-26.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-26.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Data Pane Show Batch&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;The top pane holds a table of the latest streams that pertain to the feed.
We see the one item which is the stream we uploaded.
If we select it, we see that a stream summary is also displayed in the centre pane (which shows details of the &lt;em&gt;specific&lt;/em&gt; selected feed and associated streams.
We also see that the bottom pane displays the data associated with the selected item.
In this case, the first lines of content from the BlueCoat sample log file.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-27.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-27.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-27.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-27.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Data Pane Show Data&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;If we were to select the &lt;strong&gt;Meta&lt;/strong&gt; hyper-link of the lower pane, one would see the metadata Stroom records for this Stream of data.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-28.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-28.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-28.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-28.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - MetaData Pane Show Data&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;You should see all the HTTP variables we set as part of the Upload step as well as some that Stroom has automatically set.&lt;/p&gt;
&lt;p&gt;We now switch back to the &lt;strong&gt;Data&lt;/strong&gt; hyper-link before we start to develop the actual translation.&lt;/p&gt;
&lt;h3 id=&#34;stepping-the-pipeline&#34;&gt;Stepping the Pipeline&lt;/h3&gt;
&lt;p&gt;We will now author the two translation components of the pipeline, the data splitter that will transform our lines of BlueCoat data into a simple xml format and then the XSLT translation that will take this simple xml format and translate it into appropriate Stroom Event Logging XML form.&lt;/p&gt;
&lt;p&gt;We start by ensuring our &lt;code&gt;Raw Events&lt;/code&gt; Data stream is selected and we press the &lt;code&gt;Enter Stepping Mode&lt;/code&gt; &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Stepping&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 1792 1792&#34; height=&#34;1792&#34; width=&#34;1792&#34;&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;m 1303.3748,386.71917 0,1018.43693 c 0,18.6714 -15.2766,33.948 -33.948,33.948 l -113.1596,0 c -18.6713,0 -33.9479,-15.2766 -33.9479,-33.948 l 0,-429.72386 -485.17205,442.73726 c -58.27722,48.6587 -148.52205,7.9212 -148.52205,-69.5932 0,-571.78462 0,-247.4743 0,-905.2773 0,-77.51437 90.24483,-117.96894 148.52205,-69.59319 l 485.17205,439.62531 0,-426.61195 c 0,-18.67134 15.2766,-33.94789 33.9479,-33.94789 l 113.1596,0 c 18.6714,0 33.948,15.27655 33.948,33.94789 z&#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; button on the lower right hand side of the bottom &lt;code&gt;Stream Data&lt;/code&gt; pane.&lt;/p&gt;
&lt;p&gt;You will be prompted to select a pipeline to step with.
Choose the &lt;code&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/code&gt; pipeline&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-29.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-29.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-29.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-29.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping Choose Pipeline&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;then press 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
.&lt;/p&gt;
&lt;h3 id=&#34;stepping-the-pipeline---source&#34;&gt;Stepping the Pipeline - Source&lt;/h3&gt;
&lt;p&gt;You will be presented with the &lt;code&gt;Source&lt;/code&gt; element of the pipeline that shows our selected stream&amp;rsquo;s raw data.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-30.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-30.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-30.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-30.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping Source Element&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We see two panes here.&lt;/p&gt;
&lt;p&gt;The top pane displays the Pipeline structure with &lt;code&gt;Source&lt;/code&gt; selected (we could refer to this as the &lt;em&gt;stepping pane&lt;/em&gt;) and it also displays a &lt;em&gt;step indicator&lt;/em&gt; (three colon separated numbers enclosed in square brackets initially the numbers are dashes i.e. &lt;code&gt;[-:-:-]&lt;/code&gt; as we have yet to step) and a set of green &lt;em&gt;Stepping Actions&lt;/em&gt;.
The step indicator and Stepping Actions allows one the &lt;em&gt;step through&lt;/em&gt; a log file, selecting data event by event (an event is typically a line, but some events can be multi-line).&lt;/p&gt;
&lt;p&gt;The bottom pane displays the first page (up to 100 lines) of data along with a set of blue &lt;em&gt;Data Selection Actions&lt;/em&gt;.
The Data Selection Actions are used to step through the source data 100 lines at a time.
When multiple source log files have been aggregated into a single stream, two &lt;em&gt;Data Selection Actions&lt;/em&gt; control buttons will be offered.
The right hand one will allow a user to step though the source data as before, but the left hand set of control buttons allows one to step between files from the aggregated event log files.&lt;/p&gt;
&lt;h3 id=&#34;stepping-the-pipeline---dsparser&#34;&gt;Stepping the Pipeline - dsParser&lt;/h3&gt;
&lt;p&gt;We now select the &lt;code&gt;dsParser&lt;/code&gt; pipeline element that results in the window below&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-31.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-31.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-31.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-31.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping dsParser Element&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;This window is made up of four panes.&lt;/p&gt;
&lt;p&gt;The top pane remains the same - a display of the pipeline structure and the &lt;em&gt;step indicator&lt;/em&gt; and green &lt;em&gt;Stepping Actions&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The next pane down is the editing pane for the Text Converter.
This pane is used to edit the text converter that converts our &lt;em&gt;line based&lt;/em&gt; BlueCoat Proxy logs into a XML format.
We make use of the Stroom Data Splitter facility to perform this transformation.
See &lt;a href=&#34;../../docs/user-guide/data-splitter/&#34;&gt;here&lt;/a&gt; for complete details on the data splitter.&lt;/p&gt;
&lt;p&gt;The lower two panes are the &lt;em&gt;input&lt;/em&gt; and &lt;em&gt;output&lt;/em&gt; displays for the text converter.&lt;/p&gt;
&lt;p&gt;The authoring of this data splitter translation is outside the scope of this HOWTO.
It is recommended that one reads up on the &lt;a href=&#34;../../docs/user-guide/data-splitter/&#34;&gt;Data Splitter&lt;/a&gt; and review the various samples found in the Stroom Context packs published, or the Pull Requests of &lt;span class=&#34;external-link&#34;&gt;
  &lt;a href=&#34;https://github.com/gchq/stroom-content&#34; target=&#34;_blank&#34; class=&#34;external-link&#34; title=&#34;github.com/gchq/stroom-content (external link to https://github.com/gchq/stroom-content)&#34;&gt;
    &lt;span&gt;github.com/gchq/stroom-content&lt;/span&gt;
    &lt;i class=&#34;external-link-icon fas fa-external-link-alt fa-sm text-secondary&#34;&gt;&lt;/i&gt;
  &lt;/a&gt;
&lt;/span&gt;
.&lt;/p&gt;
&lt;p&gt;For the purpose of this HOWTO, the Data Splitter appears below.
The author believes the comments should support the understanding of the transformation.&lt;/p&gt;






&lt;div class=&#34;text-file card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;&#34;&gt;

  &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
    
    &lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;dataSplitter 
    bufferSize=&amp;quot;5000000&amp;quot; 
    xmlns=&amp;quot;data-splitter:3&amp;quot; 
    xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; 
    xsi:schemaLocation=&amp;quot;data-splitter:3 file://data-splitter-v3.0.xsd&amp;quot; 
    version=&amp;quot;3.0&amp;quot; 
    ignoreErrors=&amp;quot;true&amp;quot;&amp;gt;

  &amp;lt;!-- 
  This datasplitter gains the Software and and Proxy version strings along with the log field names from the comments section of the log file.
  That is from the lines ...
  
  #Software: SGOS 3.2.4.28
  #Version: 1.0
  #Date: 2005-04-27 20:57:09
  #Fields: date time time-taken c-ip sc-status s-action sc-bytes cs-bytes cs-method ... x-icap-error-code x-icap-error-details
  
  We use the Field values as the header for the subsequent log fields
  --&amp;gt;
  
  &amp;lt;!-- Match the software comment line and save it in _bc_software --&amp;gt;
  &amp;lt;regex id=&amp;quot;software&amp;quot; pattern=&amp;quot;^#Software: (.+) ?\n*&amp;quot;&amp;gt;
    &amp;lt;data name=&amp;quot;_bc_software&amp;quot; value=&amp;quot;$1&amp;quot; /&amp;gt;
  &amp;lt;/regex&amp;gt;
    &amp;lt;!-- Match the version comment line and save it in _bc_version --&amp;gt;

  &amp;lt;regex id=&amp;quot;version&amp;quot; pattern=&amp;quot;^#Version: (.+) ?\n*&amp;quot;&amp;gt;
    &amp;lt;data name=&amp;quot;_bc_version&amp;quot; value=&amp;quot;$1&amp;quot; /&amp;gt;
  &amp;lt;/regex&amp;gt;

  &amp;lt;!-- Match against a Fields: header comment and save all the field names in a headings --&amp;gt;
  
  &amp;lt;regex id=&amp;quot;heading&amp;quot; pattern=&amp;quot;^#Fields: (.+) ?\n*&amp;quot;&amp;gt;
    &amp;lt;group value=&amp;quot;$1&amp;quot;&amp;gt;
      &amp;lt;regex pattern=&amp;quot;^(\S+) ?\n*&amp;quot;&amp;gt;
        &amp;lt;var id=&amp;quot;headings&amp;quot; /&amp;gt;
      &amp;lt;/regex&amp;gt;
    &amp;lt;/group&amp;gt;
  &amp;lt;/regex&amp;gt;

  &amp;lt;!-- Skip all other comment lines --&amp;gt;
  &amp;lt;regex pattern=&amp;quot;^#.+\n*&amp;quot;&amp;gt;
    &amp;lt;var id=&amp;quot;ignorea&amp;quot; /&amp;gt;
  &amp;lt;/regex&amp;gt;

  &amp;lt;!-- We now match all other lines, applying the headings captured at the start of the file to each field value --&amp;gt;
  
  &amp;lt;regex id=&amp;quot;body&amp;quot; pattern=&amp;quot;^[^#].+\n*&amp;quot;&amp;gt;
    &amp;lt;group&amp;gt;
      &amp;lt;regex pattern=&amp;quot;^&amp;amp;#34;([^&amp;amp;#34;]*)&amp;amp;#34; ?\n*&amp;quot;&amp;gt;
        &amp;lt;data name=&amp;quot;$headings$1&amp;quot; value=&amp;quot;$1&amp;quot; /&amp;gt;
      &amp;lt;/regex&amp;gt;
      &amp;lt;regex pattern=&amp;quot;^([^ ]+) *\n*&amp;quot;&amp;gt;
        &amp;lt;data name=&amp;quot;$headings$1&amp;quot; value=&amp;quot;$1&amp;quot; /&amp;gt;
      &amp;lt;/regex&amp;gt;
    &amp;lt;/group&amp;gt;
  &amp;lt;/regex&amp;gt;

  &amp;lt;!-- --&amp;gt;
&amp;lt;/dataSplitter&amp;gt;

&lt;/code&gt;&lt;/pre&gt;


    &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
    &lt;div class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;
      
      &lt;span class=&#34;&#34; style=&#34;font-size: smaller&#34;&gt;BlueCoat data Spliter&lt;/span&gt;
      
      (
      &lt;a href=&#34;../../files/HOWTOs/EventFeeds/ProcessingHowTo/BlueCoat.ds&#34; class=&#34;&#34; style=&#34;font-size: smaller&#34;&gt;Download BlueCoat.ds&lt;/a&gt;
      &lt;i class=&#34;external-link-icon fas fa-file-download fa-sm text-secondary&#34; title=&#34;External link&#34;&gt;&lt;/i&gt;
      )
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;It should be entered into the Text Converter&amp;rsquo;s editing pane as per&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-32.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-32.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-32.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-32.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping dsParser textConverter code&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;As mentioned earlier, to &lt;em&gt;step&lt;/em&gt; the translation, one uses the green &lt;em&gt;Stepping Actions&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The actions are&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Step First&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; - progress the transformation to the first line of the translation input&lt;/li&gt;
&lt;li&gt;&lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Step back&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 112,436 0,-360 c 0,-6.6 5.4,-12 12,-12 l 40,0 c 6.6,0 12,5.4 12,12 L 176,227.9 347.5,71.4 C 368.1,54.3 400,68.6 400,96 c 0,99.29198 0,160.44686 0,320 0,27.4 -31.9,41.7 -52.5,24.6 L 176,285.3 176,436 c 0,6.6 -5.4,12 -12,12 l -40,0 c -6.6,0 -12,-5.4 -12,-12 z&#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; - progress the transformation one step backward&lt;/li&gt;
&lt;li&gt;&lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Step forward&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 400,75.977968 0,360.000002 c 0,6.6 -5.4,12 -12,12 l -40,0 c -6.6,0 -12,-5.4 -12,-12 l 0,-151.9 -171.5,156.5 c -20.6,17.2 -52.5,2.8 -52.5,-24.6 0,-202.11605 0,-87.47785 0,-320.000002 0,-27.399997 31.9,-41.699997 52.5,-24.6 L 336,226.77797 336,75.977968 c 0,-6.599997 5.4,-11.999997 12,-11.999997 l 40,0 c 6.6,0 12,5.4 12,11.999997 z&#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; - progress the transformation one step forward&lt;/li&gt;
&lt;li&gt;&lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Step last&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M512 76v360c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V284.1L276.5 440.6c-20.6 17.2-52.5 2.8-52.5-24.6V284.1L52.5 440.6C31.9 457.8 0 443.4 0 416V96c0-27.4 31.9-41.7 52.5-24.6L224 226.8V96c0-27.4 31.9-41.7 52.5-24.6L448 226.8V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; - progress the transformation to the end of the translation input&lt;/li&gt;
&lt;li&gt;&lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Refresh step&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M1639 1056q0 5-1 7-64 268-268 434.5t-478 166.5q-146 0-282.5-55t-243.5-157l-129 129q-19 19-45 19t-45-19-19-45v-448q0-26 19-45t45-19h448q26 0 45 19t19 45-19 45l-137 137q71 66 161 102t187 36q134 0 250-65t186-179q11-17 53-117 8-23 30-23h192q13 0 22.5 9.5t9.5 22.5zm25-800v448q0 26-19 45t-45 19h-448q-26 0-45-19t-19-45 19-45l138-138q-148-137-349-137-134 0-250 65t-186 179q-11 17-53 117-8 23-30 23h-199q-13 0-22.5-9.5t-9.5-22.5v-7q65-268 270-434.5t480-166.5q146 0 284 55.5t245 156.5l130-129q19-19 45-19t45 19 19 45z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; - refresh the transformation based on the current translation input&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, if one was to press the &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Step forward&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 400,75.977968 0,360.000002 c 0,6.6 -5.4,12 -12,12 l -40,0 c -6.6,0 -12,-5.4 -12,-12 l 0,-151.9 -171.5,156.5 c -20.6,17.2 -52.5,2.8 -52.5,-24.6 0,-202.11605 0,-87.47785 0,-320.000002 0,-27.399997 31.9,-41.699997 52.5,-24.6 L 336,226.77797 336,75.977968 c 0,-6.599997 5.4,-11.999997 12,-11.999997 l 40,0 c 6.6,0 12,5.4 12,11.999997 z&#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; &lt;em&gt;stepping action&lt;/em&gt; we would be presented with&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-33.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-33.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-33.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-33.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping dsParser textConverter 1&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We see that the &lt;em&gt;input&lt;/em&gt; pane has the first line of input from our sample file and the &lt;em&gt;output&lt;/em&gt; pane has an XML &lt;strong&gt;record&lt;/strong&gt; structure where we have defined a &lt;strong&gt;data&lt;/strong&gt; element with the &lt;em&gt;name&lt;/em&gt; attribute of &lt;em&gt;bc_software&lt;/em&gt; and its &lt;em&gt;value&lt;/em&gt; attribute of &lt;code&gt;SGOS 3.2.4.28&lt;/code&gt;.
The definition of the &lt;strong&gt;record&lt;/strong&gt; structure can be found in the &lt;strong&gt;System/XML Schemas/records&lt;/strong&gt; folder.&lt;/p&gt;
&lt;p&gt;This is the result of the code in our editor&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;!-- Match the software comment line and save it in _bc_software --&amp;gt;
&amp;lt;regex id=&amp;quot;software&amp;quot; pattern=&amp;quot;^#Software: (.+) ?\n*&amp;quot;&amp;gt;
  &amp;lt;data name=&amp;quot;_bc_software&amp;quot; value=&amp;quot;$1&amp;quot; /&amp;gt;
&amp;lt;/regex&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If one presses the &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Step forward&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 400,75.977968 0,360.000002 c 0,6.6 -5.4,12 -12,12 l -40,0 c -6.6,0 -12,-5.4 -12,-12 l 0,-151.9 -171.5,156.5 c -20.6,17.2 -52.5,2.8 -52.5,-24.6 0,-202.11605 0,-87.47785 0,-320.000002 0,-27.399997 31.9,-41.699997 52.5,-24.6 L 336,226.77797 336,75.977968 c 0,-6.599997 5.4,-11.999997 12,-11.999997 l 40,0 c 6.6,0 12,5.4 12,11.999997 z&#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; &lt;em&gt;stepping action&lt;/em&gt; again, we see that we have moved to the second line of the input file with the resultant output of a &lt;strong&gt;data&lt;/strong&gt; element with the &lt;em&gt;name&lt;/em&gt; attribute of &lt;em&gt;bc_version&lt;/em&gt; and its &lt;em&gt;value&lt;/em&gt; attribute of &lt;em&gt;1.0&lt;/em&gt;.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-34.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-34.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-34.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-34.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping dsParser textConverter 2&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Stepping forward once more causes the translation to ignore the Date comment line, define a Data Splitter $headings variable from the Fields comment line and transform the first line of actual event data.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-35.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-35.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-35.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-35.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping dsParser textConverter 3&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We see that a &lt;code&gt;&amp;lt;record&amp;gt;&lt;/code&gt; element has been formed with multiple key value pair &lt;code&gt;&amp;lt;data&amp;gt;&lt;/code&gt; elements where the &lt;em&gt;name&lt;/em&gt; attribute is the key and the &lt;em&gt;value&lt;/em&gt; attribute the value.
You will note that the keys have been taken from the Fields comment line which where placed in the $headings variable.&lt;/p&gt;
&lt;p&gt;You should also take note that the &lt;em&gt;stepping indicator&lt;/em&gt; has been incrementing the last number, so at this point it is displaying &lt;code&gt;[1:1:3]&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The general form of this &lt;em&gt;indicator&lt;/em&gt; is&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-text&#34;&gt;&#39;[&#39; streamId &#39;:&#39; subStreamId &#39;:&#39; recordNo &#39;]&#39;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;where&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;streamId&lt;/strong&gt; - is the stream ID and won&amp;rsquo;t change when stepping through the selected stream,&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;subStreamId&lt;/strong&gt; - is the sub stream ID.
When Stroom aggregates multiple event sources for a feed, it aggregates multiple input files and this is, in effect, the file number.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;recordNo&lt;/strong&gt; - is the record number within the sub stream.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;One can double click on either the &lt;strong&gt;subStreamId&lt;/strong&gt; or &lt;strong&gt;recordNo&lt;/strong&gt; entry and enter a new value.
This allows you to &lt;em&gt;jump&lt;/em&gt; around a stream rather than just relying on first, previous, next and last movements.&lt;/p&gt;
&lt;p&gt;Hovering the mouse over the &lt;em&gt;stepping indicator&lt;/em&gt; will change the cursor to a &lt;code&gt;hand pointer&lt;/code&gt;.
Selecting (by a left click) the &lt;code&gt;recordNo&lt;/code&gt; will allow you to edit its value (and the other values for that matter).
You will see the display change from&lt;/p&gt;
&lt;p&gt;






  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-36.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-36.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-36.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-36.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping Indicator 1&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

to







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-37.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-37.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-37.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-37.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping Indicator 2&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;If we change the record number from &lt;strong&gt;3&lt;/strong&gt; to &lt;strong&gt;12&lt;/strong&gt; then either press Enter or press the &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Refresh&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M1639 1056q0 5-1 7-64 268-268 434.5t-478 166.5q-146 0-282.5-55t-243.5-157l-129 129q-19 19-45 19t-45-19-19-45v-448q0-26 19-45t45-19h448q26 0 45 19t19 45-19 45l-137 137q71 66 161 102t187 36q134 0 250-65t186-179q11-17 53-117 8-23 30-23h192q13 0 22.5 9.5t9.5 22.5zm25-800v448q0 26-19 45t-45 19h-448q-26 0-45-19t-19-45 19-45l138-138q-148-137-349-137-134 0-250 65t-186 179q-11 17-53 117-8 23-30 23h-199q-13 0-22.5-9.5t-9.5-22.5v-7q65-268 270-434.5t480-166.5q146 0 284 55.5t245 156.5l130-129q19-19 45-19t45 19 19 45z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; action we see&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-38.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-38.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-38.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-38.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping Indicator 3&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;And note that a new record has been processed in the &lt;em&gt;input&lt;/em&gt; and &lt;em&gt;output&lt;/em&gt; panes.
Further, if one steps back to the &lt;code&gt;Source&lt;/code&gt; element of the pipeline to view the raw source file, we see that the highlighted &lt;strong&gt;current&lt;/strong&gt; line is the 12th line of processed data.
It is the 10th actual Bluecoat event, but remember the #Software, #Version lines are considered as processed data (2+10 = 12).
Also noted that the #Date and #Fields lines are not considered processed data, and hence do not contribute to the &lt;strong&gt;recordNo&lt;/strong&gt; value.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-39.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-39.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-39.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-39.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping Indicator 4&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;If we select the &lt;code&gt;dsParser&lt;/code&gt; pipeline element then press the &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Step last&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M512 76v360c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V284.1L276.5 440.6c-20.6 17.2-52.5 2.8-52.5-24.6V284.1L52.5 440.6C31.9 457.8 0 443.4 0 416V96c0-27.4 31.9-41.7 52.5-24.6L224 226.8V96c0-27.4 31.9-41.7 52.5-24.6L448 226.8V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; action we see the &lt;code&gt;recordNo&lt;/code&gt; jump to 31 which is the last processed line of our sample log file.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-40.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-40.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-40.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-40.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping Indicator 5&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;h3 id=&#34;stepping-the-pipeline---translationfilter&#34;&gt;Stepping the Pipeline - translationFilter&lt;/h3&gt;
&lt;p&gt;We now select the &lt;code&gt;translationFilter&lt;/code&gt; pipeline element that results in&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-41.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-41.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-41.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-41.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping translationFilter Element&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;As for the &lt;code&gt;dsParser&lt;/code&gt;, this window is made up of four panes.&lt;/p&gt;
&lt;p&gt;The top pane remains the same - a display of the pipeline structure and the &lt;em&gt;step indicator&lt;/em&gt; and green &lt;em&gt;Stepping Actions&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The next pane down is the editing pane for the Translation Filter.
This pane is used to edit an &lt;em&gt;xslt&lt;/em&gt; translation that converts our simple key value pair &lt;code&gt;&amp;lt;records&amp;gt;&lt;/code&gt; XML structure into another XML form.&lt;/p&gt;
&lt;p&gt;The lower two panes are the &lt;em&gt;input&lt;/em&gt; and &lt;em&gt;output&lt;/em&gt; displays for the xslt translation.
You will note that the &lt;em&gt;input&lt;/em&gt; and &lt;em&gt;output&lt;/em&gt; displays are identical for a null xslt translation is effectively a direct copy.&lt;/p&gt;
&lt;p&gt;In this HOWTO we will transform the &lt;code&gt;&amp;lt;records&amp;gt;&lt;/code&gt; XML structure into the &lt;em&gt;GCHQ Stroom Event Logging XML Schema&lt;/em&gt; form which is documented &lt;span class=&#34;external-link&#34;&gt;
  &lt;a href=&#34;https://github.com/gchq/event-logging-schema&#34; target=&#34;_blank&#34; class=&#34;external-link&#34; title=&#34;here (external link to https://github.com/gchq/event-logging-schema)&#34;&gt;
    &lt;span&gt;here&lt;/span&gt;
    &lt;i class=&#34;external-link-icon fas fa-external-link-alt fa-sm text-secondary&#34;&gt;&lt;/i&gt;
  &lt;/a&gt;
&lt;/span&gt;
.&lt;/p&gt;
&lt;p&gt;The authoring of this xslt translation is outside the scope of this HOWTO, as is the use of the Stroom XML Schema.
It is recommended that one reads up on &lt;a href=&#34;../../docs/user-guide/pipelines/xslt/&#34;&gt;XSLT Conversion&lt;/a&gt; and the &lt;span class=&#34;external-link&#34;&gt;
  &lt;a href=&#34;https://github.com/gchq/event-logging-schema&#34; target=&#34;_blank&#34; class=&#34;external-link&#34; title=&#34;Stroom Event Logging XML Schema (external link to https://github.com/gchq/event-logging-schema)&#34;&gt;
    &lt;span&gt;Stroom Event Logging XML Schema&lt;/span&gt;
    &lt;i class=&#34;external-link-icon fas fa-external-link-alt fa-sm text-secondary&#34;&gt;&lt;/i&gt;
  &lt;/a&gt;
&lt;/span&gt;
 and review the various samples found in the Stroom Context packs published, or the Pull Requests of &lt;span class=&#34;external-link&#34;&gt;
  &lt;a href=&#34;https://github.com/gchq/stroom-content&#34; target=&#34;_blank&#34; class=&#34;external-link&#34; title=&#34;External link to https://github.com/gchq/stroom-content&#34;&gt;
    &lt;span&gt;https://github.com/gchq/stroom-content&lt;/span&gt;
    &lt;i class=&#34;external-link-icon fas fa-external-link-alt fa-sm text-secondary&#34;&gt;&lt;/i&gt;
  &lt;/a&gt;
&lt;/span&gt;
.&lt;/p&gt;
&lt;p&gt;We will build the translation in steps.
We enter an initial portion of our xslt transformation that just consumes the &lt;code&gt;Software&lt;/code&gt; and &lt;code&gt;Version&lt;/code&gt; key values and converts the &lt;code&gt;date&lt;/code&gt; and &lt;code&gt;time&lt;/code&gt; values (which are in UTC) into the &lt;code&gt;EventTime/TimeCreated&lt;/code&gt; element.
This code segment is&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;
&amp;lt;xsl:stylesheet
    xpath-default-namespace=&amp;quot;records:2&amp;quot;
    xmlns=&amp;quot;event-logging:3&amp;quot;
    xmlns:stroom=&amp;quot;stroom&amp;quot; 
    xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;
    xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;
    version=&amp;quot;3.0&amp;quot;&amp;gt;

  &amp;lt;!-- Bluecoat Proxy logs in W3C Extended Log File Format (ELF) --&amp;gt;

  &amp;lt;!-- Ingest the record key value pair elements --&amp;gt;
  &amp;lt;xsl:template match=&amp;quot;records&amp;quot;&amp;gt;
    &amp;lt;Events xsi:schemaLocation=&amp;quot;event-logging:3 file://event-logging-v3.2.4.xsd&amp;quot; Version=&amp;quot;3.2.4&amp;quot;&amp;gt;
      &amp;lt;xsl:apply-templates /&amp;gt;
    &amp;lt;/Events&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

  &amp;lt;!-- Main record template for single event --&amp;gt;
  &amp;lt;xsl:template match=&amp;quot;record&amp;quot;&amp;gt;
    &amp;lt;xsl:choose&amp;gt;

      &amp;lt;!-- Store the Software and Version information of the Bluecoat log file for use 
      in the Event Source elements which are processed later --&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;data[@name=&#39;_bc_software&#39;]&amp;quot;&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;stroom:put(&#39;_bc_software&#39;, data[@name=&#39;_bc_software&#39;]/@value)&amp;quot; /&amp;gt;
      &amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;data[@name=&#39;_bc_version&#39;]&amp;quot;&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;stroom:put(&#39;_bc_version&#39;, data[@name=&#39;_bc_version&#39;]/@value)&amp;quot; /&amp;gt;
      &amp;lt;/xsl:when&amp;gt;

      &amp;lt;!-- Process the event logs --&amp;gt;
      &amp;lt;xsl:otherwise&amp;gt;
        &amp;lt;Event&amp;gt;
          &amp;lt;xsl:call-template name=&amp;quot;event_time&amp;quot; /&amp;gt;
        &amp;lt;/Event&amp;gt;
      &amp;lt;/xsl:otherwise&amp;gt;
    &amp;lt;/xsl:choose&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

  &amp;lt;!-- Time --&amp;gt;
  &amp;lt;xsl:template name=&amp;quot;event_time&amp;quot;&amp;gt;
    &amp;lt;EventTime&amp;gt;
      &amp;lt;TimeCreated&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;concat(data[@name = &#39;date&#39;]/@value,&#39;T&#39;,data[@name=&#39;time&#39;]/@value,&#39;.000Z&#39;)&amp;quot; /&amp;gt;
      &amp;lt;/TimeCreated&amp;gt;
    &amp;lt;/EventTime&amp;gt;
  &amp;lt;/xsl:template&amp;gt;
&amp;lt;/xsl:stylesheet&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;After entering this translation and pressing the &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Refresh&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M1639 1056q0 5-1 7-64 268-268 434.5t-478 166.5q-146 0-282.5-55t-243.5-157l-129 129q-19 19-45 19t-45-19-19-45v-448q0-26 19-45t45-19h448q26 0 45 19t19 45-19 45l-137 137q71 66 161 102t187 36q134 0 250-65t186-179q11-17 53-117 8-23 30-23h192q13 0 22.5 9.5t9.5 22.5zm25-800v448q0 26-19 45t-45 19h-448q-26 0-45-19t-19-45 19-45l138-138q-148-137-349-137-134 0-250 65t-186 179q-11 17-53 117-8 23-30 23h-199q-13 0-22.5-9.5t-9.5-22.5v-7q65-268 270-434.5t480-166.5q146 0 284 55.5t245 156.5l130-129q19-19 45-19t45 19 19 45z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; action shows the display&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-42.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-42.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-42.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-42.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping XSLT Translation 1&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Note that this is the 31st record, so if we were to jump to the first record using the &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Step first&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; action, we see that the &lt;em&gt;input&lt;/em&gt; and &lt;em&gt;output&lt;/em&gt; change appropriately.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-43.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-43.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-43.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-43.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping XSLT Translation 2&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;You will note that there is no &lt;code&gt;Event&lt;/code&gt; element in the &lt;em&gt;output&lt;/em&gt; pane as the &lt;em&gt;record&lt;/em&gt; template in our xslt translation above is only storing the input&amp;rsquo;s key value (_bc_software&amp;rsquo;s value).&lt;/p&gt;
&lt;p&gt;Further note that the &lt;strong&gt;BlueCoat_Proxy-V1.0-EVENTS&lt;/strong&gt; tab 








  



  



&lt;span class=&#34;stroom-theme-dark stroom-tab stroom-tab-active&#34; title=&#34;Stepping tab - &#39;BlueCoat_Proxy-V1.0-EVENTS&#39;&#34; &gt;
  &lt;span class=&#34;stroom-tab-icon&#34;&gt;
    &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Stepping&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 1792 1792&#34; height=&#34;1792&#34; width=&#34;1792&#34;&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;m 1303.3748,386.71917 0,1018.43693 c 0,18.6714 -15.2766,33.948 -33.948,33.948 l -113.1596,0 c -18.6713,0 -33.9479,-15.2766 -33.9479,-33.948 l 0,-429.72386 -485.17205,442.73726 c -58.27722,48.6587 -148.52205,7.9212 -148.52205,-69.5932 0,-571.78462 0,-247.4743 0,-905.2773 0,-77.51437 90.24483,-117.96894 148.52205,-69.59319 l 485.17205,439.62531 0,-426.61195 c 0,-18.67134 15.2766,-33.94789 33.9479,-33.94789 l 113.1596,0 c 18.6714,0 33.948,15.27655 33.948,33.94789 z&#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-tab-name&#34;&gt;* BlueCoat_Proxy-V1.0-EVENTS&lt;/span&gt;
  &lt;span class=&#34;stroom-tab-cross&#34;&gt;
    &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Tab close&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; version=&#34;1.1&#34; height=&#34;45&#34; width=&#34;45&#34; viewBox=&#34;0 0 45 45&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:4.5;stroke-linecap:round;&#34; transform=&#34;translate(13.9661017,13.5677966)&#34;&gt;&lt;path d=&#34;M -2.5783352e-4,-0.00146808 17.435473,18.212367&#34;/&gt;&lt;path d=&#34;M -2.5783352e-4,18.212367 17.435473,-0.00146808&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;/span&gt;
&lt;/span&gt;

 has a &lt;em&gt;star&lt;/em&gt; in front of it and also the &lt;em&gt;Save&lt;/em&gt; icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; is highlighted.
This indicates that a component of the pipeline needs to be saved.
In this case, the XSLT translation.&lt;/p&gt;
&lt;p&gt;By pressing the &lt;em&gt;Save&lt;/em&gt; icon, you will save the XSLT translation as it currently stands and both the &lt;em&gt;star&lt;/em&gt; will be removed from the tab 








  





&lt;span class=&#34;stroom-theme-dark stroom-tab stroom-tab-active&#34; title=&#34;Stepping tab - &#39;BlueCoat_Proxy-V1.0-EVENTS&#39;&#34; &gt;
  &lt;span class=&#34;stroom-tab-icon&#34;&gt;
    &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Stepping&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 1792 1792&#34; height=&#34;1792&#34; width=&#34;1792&#34;&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;m 1303.3748,386.71917 0,1018.43693 c 0,18.6714 -15.2766,33.948 -33.948,33.948 l -113.1596,0 c -18.6713,0 -33.9479,-15.2766 -33.9479,-33.948 l 0,-429.72386 -485.17205,442.73726 c -58.27722,48.6587 -148.52205,7.9212 -148.52205,-69.5932 0,-571.78462 0,-247.4743 0,-905.2773 0,-77.51437 90.24483,-117.96894 148.52205,-69.59319 l 485.17205,439.62531 0,-426.61195 c 0,-18.67134 15.2766,-33.94789 33.9479,-33.94789 l 113.1596,0 c 18.6714,0 33.948,15.27655 33.948,33.94789 z&#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-tab-name&#34;&gt;BlueCoat_Proxy-V1.0-EVENTS&lt;/span&gt;
  &lt;span class=&#34;stroom-tab-cross&#34;&gt;
    &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Tab close&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; version=&#34;1.1&#34; height=&#34;45&#34; width=&#34;45&#34; viewBox=&#34;0 0 45 45&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:4.5;stroke-linecap:round;&#34; transform=&#34;translate(13.9661017,13.5677966)&#34;&gt;&lt;path d=&#34;M -2.5783352e-4,-0.00146808 17.435473,18.212367&#34;/&gt;&lt;path d=&#34;M -2.5783352e-4,18.212367 17.435473,-0.00146808&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;/span&gt;
&lt;/span&gt;

and the &lt;em&gt;Save&lt;/em&gt; icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button disabled &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;will no longer be highlighted.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-45.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-45.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-45.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-45.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping XSLT Translation 4&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We next extend our translation by authoring a &lt;strong&gt;event_source&lt;/strong&gt; template to form an appropriate Stroom Event Logging &lt;code&gt;EventSource&lt;/code&gt; element structure.
Thus our translation now is&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;
&amp;lt;xsl:stylesheet
    xpath-default-namespace=&amp;quot;records:2&amp;quot; 
    xmlns=&amp;quot;event-logging:3&amp;quot; 
    xmlns:stroom=&amp;quot;stroom&amp;quot;
    xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; 
    xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; 
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; 
    version=&amp;quot;3.0&amp;quot;&amp;gt;

  &amp;lt;!-- Bluecoat Proxy logs in W3C Extended Log File Format (ELF) --&amp;gt;

  &amp;lt;!-- Ingest the record key value pair elements --&amp;gt;
  &amp;lt;xsl:template match=&amp;quot;records&amp;quot;&amp;gt;
    &amp;lt;Events xsi:schemaLocation=&amp;quot;event-logging:3 file://event-logging-v3.2.4.xsd&amp;quot; Version=&amp;quot;3.2.4&amp;quot;&amp;gt;
      &amp;lt;xsl:apply-templates /&amp;gt;
    &amp;lt;/Events&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

  &amp;lt;!-- Main record template for single event --&amp;gt;
  &amp;lt;xsl:template match=&amp;quot;record&amp;quot;&amp;gt;
    &amp;lt;xsl:choose&amp;gt;

      &amp;lt;!-- Store the Software and Version information of the Bluecoat log file for use in
      the Event Source elements which are processed later --&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;data[@name=&#39;_bc_software&#39;]&amp;quot;&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;stroom:put(&#39;_bc_software&#39;, data[@name=&#39;_bc_software&#39;]/@value)&amp;quot; /&amp;gt;
      &amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;data[@name=&#39;_bc_version&#39;]&amp;quot;&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;stroom:put(&#39;_bc_version&#39;, data[@name=&#39;_bc_version&#39;]/@value)&amp;quot; /&amp;gt;
      &amp;lt;/xsl:when&amp;gt;

      &amp;lt;!-- Process the event logs --&amp;gt;
      &amp;lt;xsl:otherwise&amp;gt;
        &amp;lt;Event&amp;gt;
          &amp;lt;xsl:call-template name=&amp;quot;event_time&amp;quot; /&amp;gt;
          &amp;lt;xsl:call-template name=&amp;quot;event_source&amp;quot; /&amp;gt;
        &amp;lt;/Event&amp;gt;
      &amp;lt;/xsl:otherwise&amp;gt;
    &amp;lt;/xsl:choose&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

  &amp;lt;!-- Time --&amp;gt;
  &amp;lt;xsl:template name=&amp;quot;event_time&amp;quot;&amp;gt;
    &amp;lt;EventTime&amp;gt;
      &amp;lt;TimeCreated&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;concat(data[@name = &#39;date&#39;]/@value,&#39;T&#39;,data[@name=&#39;time&#39;]/@value,&#39;.000Z&#39;)&amp;quot; /&amp;gt;
      &amp;lt;/TimeCreated&amp;gt;
    &amp;lt;/EventTime&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

  &amp;lt;!-- Template for event source--&amp;gt;
  &amp;lt;xsl:template name=&amp;quot;event_source&amp;quot;&amp;gt;

    &amp;lt;!--
    We extract some situational awareness information that the posting script includes when posting the event data 
    --&amp;gt;
    &amp;lt;xsl:variable name=&amp;quot;_mymeta&amp;quot; select=&amp;quot;translate(stroom:meta(&#39;MyMeta&#39;),&#39;&amp;amp;quot;&#39;, &#39;&#39;)&amp;quot; /&amp;gt;

    &amp;lt;!-- Form the EventSource node --&amp;gt;
    &amp;lt;EventSource&amp;gt;
      &amp;lt;System&amp;gt;
        &amp;lt;Name&amp;gt;
          &amp;lt;xsl:value-of select=&amp;quot;stroom:meta(&#39;System&#39;)&amp;quot; /&amp;gt;
        &amp;lt;/Name&amp;gt;
        &amp;lt;Environment&amp;gt;
          &amp;lt;xsl:value-of select=&amp;quot;stroom:meta(&#39;Environment&#39;)&amp;quot; /&amp;gt;
        &amp;lt;/Environment&amp;gt;
      &amp;lt;/System&amp;gt;
      &amp;lt;Generator&amp;gt;
        &amp;lt;xsl:variable name=&amp;quot;gen&amp;quot;&amp;gt;
          &amp;lt;xsl:if test=&amp;quot;stroom:get(&#39;_bc_software&#39;)&amp;quot;&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;concat(&#39; Software: &#39;, stroom:get(&#39;_bc_software&#39;))&amp;quot; /&amp;gt;
          &amp;lt;/xsl:if&amp;gt;
          &amp;lt;xsl:if test=&amp;quot;stroom:get(&#39;_bc_version&#39;)&amp;quot;&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;concat(&#39; Version: &#39;, stroom:get(&#39;_bc_version&#39;))&amp;quot; /&amp;gt;
          &amp;lt;/xsl:if&amp;gt;
        &amp;lt;/xsl:variable&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;concat(&#39;Bluecoat&#39;, $gen)&amp;quot; /&amp;gt;
      &amp;lt;/Generator&amp;gt;
      &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;s-computername&#39;] or data[@name=&#39;s-ip&#39;]&amp;quot;&amp;gt;
        &amp;lt;Device&amp;gt;
          &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;s-computername&#39;]&amp;quot;&amp;gt;
            &amp;lt;Name&amp;gt;
              &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;s-computername&#39;]/@value&amp;quot; /&amp;gt;
            &amp;lt;/Name&amp;gt;
          &amp;lt;/xsl:if&amp;gt;
          &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;s-ip&#39;]&amp;quot;&amp;gt;
            &amp;lt;IPAddress&amp;gt;
              &amp;lt;xsl:value-of select=&amp;quot; data[@name=&#39;s-ip&#39;]/@value&amp;quot; /&amp;gt;
            &amp;lt;/IPAddress&amp;gt;
          &amp;lt;/xsl:if&amp;gt;
          &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;s-sitename&#39;]&amp;quot;&amp;gt;
            &amp;lt;Data Name=&amp;quot;ServiceType&amp;quot; Value=&amp;quot;{data[@name=&#39;s-sitename&#39;]/@value}&amp;quot; /&amp;gt;
          &amp;lt;/xsl:if&amp;gt;
        &amp;lt;/Device&amp;gt;
      &amp;lt;/xsl:if&amp;gt;

      &amp;lt;!-- --&amp;gt;
      &amp;lt;Client&amp;gt;
        &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;c-ip&#39;]/@value != &#39;-&#39;&amp;quot;&amp;gt;
          &amp;lt;IPAddress&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;c-ip&#39;]/@value&amp;quot; /&amp;gt;
          &amp;lt;/IPAddress&amp;gt;
        &amp;lt;/xsl:if&amp;gt;

        &amp;lt;!-- Remote Port Number --&amp;gt;
        &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;c-port&#39;]/@value !=&#39;-&#39;&amp;quot;&amp;gt;
          &amp;lt;Port&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;c-port&#39;]/@value&amp;quot; /&amp;gt;
          &amp;lt;/Port&amp;gt;
        &amp;lt;/xsl:if&amp;gt;
      &amp;lt;/Client&amp;gt;

      &amp;lt;!-- --&amp;gt;
      &amp;lt;Server&amp;gt;
        &amp;lt;HostName&amp;gt;
          &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-host&#39;]/@value&amp;quot; /&amp;gt;
        &amp;lt;/HostName&amp;gt;
      &amp;lt;/Server&amp;gt;

      &amp;lt;!-- --&amp;gt;
      &amp;lt;xsl:variable name=&amp;quot;user&amp;quot;&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-user&#39;]/@value&amp;quot; /&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-username&#39;]/@value&amp;quot; /&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-userdn&#39;]/@value&amp;quot; /&amp;gt;
      &amp;lt;/xsl:variable&amp;gt;
      &amp;lt;xsl:if test=&amp;quot;$user !=&#39;-&#39;&amp;quot;&amp;gt;
        &amp;lt;User&amp;gt;
          &amp;lt;Id&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;$user&amp;quot; /&amp;gt;
          &amp;lt;/Id&amp;gt;
        &amp;lt;/User&amp;gt;
      &amp;lt;/xsl:if&amp;gt;
      &amp;lt;Data Name=&amp;quot;MyMeta&amp;quot;&amp;gt;
        &amp;lt;xsl:attribute name=&amp;quot;Value&amp;quot; select=&amp;quot;$_mymeta&amp;quot; /&amp;gt;
      &amp;lt;/Data&amp;gt;
    &amp;lt;/EventSource&amp;gt;
  &amp;lt;/xsl:template&amp;gt;
&amp;lt;/xsl:stylesheet&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Stepping to the 3 record (the first real data record in our sample log) will reveal that our &lt;em&gt;output&lt;/em&gt; pane has gained an &lt;code&gt;EventSource&lt;/code&gt; element.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-46.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-46.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-46.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-46.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping XSLT Translation 5&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Note also, that our &lt;em&gt;Save&lt;/em&gt; icon &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; is also highlighted, so we should at some point save the extensions to our translation.&lt;/p&gt;
&lt;p&gt;The complete translation now follows.&lt;/p&gt;






&lt;div class=&#34;text-file card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;&#34;&gt;

  &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
    
    &lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;
&amp;lt;xsl:stylesheet 
    xpath-default-namespace=&amp;quot;records:2&amp;quot; 
    xmlns=&amp;quot;event-logging:3&amp;quot; 
    xmlns:stroom=&amp;quot;stroom&amp;quot; 
    xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; 
    xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; 
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; 
    version=&amp;quot;3.0&amp;quot;&amp;gt;

  &amp;lt;!-- Bluecoat Proxy logs in W3C Extended Log File Format (ELF) --&amp;gt;

  &amp;lt;!-- Ingest the record key value pair elements --&amp;gt;
  &amp;lt;xsl:template match=&amp;quot;records&amp;quot;&amp;gt;
    &amp;lt;Events xsi:schemaLocation=&amp;quot;event-logging:3 file://event-logging-v3.2.4.xsd&amp;quot; Version=&amp;quot;3.2.4&amp;quot;&amp;gt;
      &amp;lt;xsl:apply-templates /&amp;gt;
    &amp;lt;/Events&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

  &amp;lt;!-- Main record template for single event --&amp;gt;
  &amp;lt;xsl:template match=&amp;quot;record&amp;quot;&amp;gt;
    &amp;lt;xsl:choose&amp;gt;

      &amp;lt;!-- Store the Software and Version information of the Bluecoat log file for use in the Event
      Source elements which are processed later --&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;data[@name=&#39;_bc_software&#39;]&amp;quot;&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;stroom:put(&#39;_bc_software&#39;, data[@name=&#39;_bc_software&#39;]/@value)&amp;quot; /&amp;gt;
      &amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;data[@name=&#39;_bc_version&#39;]&amp;quot;&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;stroom:put(&#39;_bc_version&#39;, data[@name=&#39;_bc_version&#39;]/@value)&amp;quot; /&amp;gt;
      &amp;lt;/xsl:when&amp;gt;

      &amp;lt;!-- Process the event logs --&amp;gt;
      &amp;lt;xsl:otherwise&amp;gt;
        &amp;lt;Event&amp;gt;
          &amp;lt;xsl:call-template name=&amp;quot;event_time&amp;quot; /&amp;gt;
          &amp;lt;xsl:call-template name=&amp;quot;event_source&amp;quot; /&amp;gt;
          &amp;lt;xsl:call-template name=&amp;quot;event_detail&amp;quot; /&amp;gt;
        &amp;lt;/Event&amp;gt;
      &amp;lt;/xsl:otherwise&amp;gt;
    &amp;lt;/xsl:choose&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

  &amp;lt;!-- Time --&amp;gt;
  &amp;lt;xsl:template name=&amp;quot;event_time&amp;quot;&amp;gt;
    &amp;lt;EventTime&amp;gt;
      &amp;lt;TimeCreated&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;concat(data[@name = &#39;date&#39;]/@value,&#39;T&#39;,data[@name=&#39;time&#39;]/@value,&#39;.000Z&#39;)&amp;quot; /&amp;gt;
      &amp;lt;/TimeCreated&amp;gt;
    &amp;lt;/EventTime&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

  &amp;lt;!-- Template for event source--&amp;gt;
  &amp;lt;xsl:template name=&amp;quot;event_source&amp;quot;&amp;gt;

    &amp;lt;!-- We extract some situational awareness information that the posting script includes when
      posting the event data --&amp;gt;
    &amp;lt;xsl:variable name=&amp;quot;_mymeta&amp;quot; select=&amp;quot;translate(stroom:meta(&#39;MyMeta&#39;),&#39;&amp;amp;quot;&#39;, &#39;&#39;)&amp;quot; /&amp;gt;

    &amp;lt;!-- Form the EventSource node --&amp;gt;
    &amp;lt;EventSource&amp;gt;
      &amp;lt;System&amp;gt;
        &amp;lt;Name&amp;gt;
          &amp;lt;xsl:value-of select=&amp;quot;stroom:meta(&#39;System&#39;)&amp;quot; /&amp;gt;
        &amp;lt;/Name&amp;gt;
        &amp;lt;Environment&amp;gt;
          &amp;lt;xsl:value-of select=&amp;quot;stroom:meta(&#39;Environment&#39;)&amp;quot; /&amp;gt;
        &amp;lt;/Environment&amp;gt;
      &amp;lt;/System&amp;gt;
      &amp;lt;Generator&amp;gt;
        &amp;lt;xsl:variable name=&amp;quot;gen&amp;quot;&amp;gt;
          &amp;lt;xsl:if test=&amp;quot;stroom:get(&#39;_bc_software&#39;)&amp;quot;&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;concat(&#39; Software: &#39;, stroom:get(&#39;_bc_software&#39;))&amp;quot; /&amp;gt;
          &amp;lt;/xsl:if&amp;gt;
          &amp;lt;xsl:if test=&amp;quot;stroom:get(&#39;_bc_version&#39;)&amp;quot;&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;concat(&#39; Version: &#39;, stroom:get(&#39;_bc_version&#39;))&amp;quot; /&amp;gt;
          &amp;lt;/xsl:if&amp;gt;
        &amp;lt;/xsl:variable&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;concat(&#39;Bluecoat&#39;, $gen)&amp;quot; /&amp;gt;
      &amp;lt;/Generator&amp;gt;
      &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;s-computername&#39;] or data[@name=&#39;s-ip&#39;]&amp;quot;&amp;gt;
        &amp;lt;Device&amp;gt;
          &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;s-computername&#39;]&amp;quot;&amp;gt;
            &amp;lt;Name&amp;gt;
              &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;s-computername&#39;]/@value&amp;quot; /&amp;gt;
            &amp;lt;/Name&amp;gt;
          &amp;lt;/xsl:if&amp;gt;
          &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;s-ip&#39;]&amp;quot;&amp;gt;
            &amp;lt;IPAddress&amp;gt;
              &amp;lt;xsl:value-of select=&amp;quot; data[@name=&#39;s-ip&#39;]/@value&amp;quot; /&amp;gt;
            &amp;lt;/IPAddress&amp;gt;
          &amp;lt;/xsl:if&amp;gt;
          &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;s-sitename&#39;]&amp;quot;&amp;gt;
            &amp;lt;Data Name=&amp;quot;ServiceType&amp;quot; Value=&amp;quot;{data[@name=&#39;s-sitename&#39;]/@value}&amp;quot; /&amp;gt;
          &amp;lt;/xsl:if&amp;gt;
        &amp;lt;/Device&amp;gt;
      &amp;lt;/xsl:if&amp;gt;

      &amp;lt;!-- --&amp;gt;
      &amp;lt;Client&amp;gt;
        &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;c-ip&#39;]/@value != &#39;-&#39;&amp;quot;&amp;gt;
          &amp;lt;IPAddress&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;c-ip&#39;]/@value&amp;quot; /&amp;gt;
          &amp;lt;/IPAddress&amp;gt;
        &amp;lt;/xsl:if&amp;gt;

        &amp;lt;!-- Remote Port Number --&amp;gt;
        &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;c-port&#39;]/@value !=&#39;-&#39;&amp;quot;&amp;gt;
          &amp;lt;Port&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;c-port&#39;]/@value&amp;quot; /&amp;gt;
          &amp;lt;/Port&amp;gt;
        &amp;lt;/xsl:if&amp;gt;
      &amp;lt;/Client&amp;gt;

      &amp;lt;!-- --&amp;gt;
      &amp;lt;Server&amp;gt;
        &amp;lt;HostName&amp;gt;
          &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-host&#39;]/@value&amp;quot; /&amp;gt;
        &amp;lt;/HostName&amp;gt;
      &amp;lt;/Server&amp;gt;

      &amp;lt;!-- --&amp;gt;
      &amp;lt;xsl:variable name=&amp;quot;user&amp;quot;&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-user&#39;]/@value&amp;quot; /&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-username&#39;]/@value&amp;quot; /&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-userdn&#39;]/@value&amp;quot; /&amp;gt;
      &amp;lt;/xsl:variable&amp;gt;
      &amp;lt;xsl:if test=&amp;quot;$user !=&#39;-&#39;&amp;quot;&amp;gt;
        &amp;lt;User&amp;gt;
          &amp;lt;Id&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;$user&amp;quot; /&amp;gt;
          &amp;lt;/Id&amp;gt;
        &amp;lt;/User&amp;gt;
      &amp;lt;/xsl:if&amp;gt;
      &amp;lt;Data Name=&amp;quot;MyMeta&amp;quot;&amp;gt;
        &amp;lt;xsl:attribute name=&amp;quot;Value&amp;quot; select=&amp;quot;$_mymeta&amp;quot; /&amp;gt;
      &amp;lt;/Data&amp;gt;
    &amp;lt;/EventSource&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

  &amp;lt;!-- Event detail --&amp;gt;
  &amp;lt;xsl:template name=&amp;quot;event_detail&amp;quot;&amp;gt;
    &amp;lt;EventDetail&amp;gt;

      &amp;lt;!--
        We model Proxy events as either Receive or Send events depending on the method.
      
        We make use of the Receive/Send sub-elements Source/Destination to map
        the Client/Destination Proxy values and the Payload sub-element to map
        the URL and other details of the activity. If we have a query, we model
        it as a Criteria
      --&amp;gt;
      &amp;lt;TypeId&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;concat(&#39;Bluecoat-&#39;, data[@name=&#39;cs-method&#39;]/@value, &#39;-&#39;, data[@name=&#39;cs-uri-scheme&#39;]/@value)&amp;quot; /&amp;gt;
        &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;cs-uri-query&#39;]/@value != &#39;-&#39;&amp;quot;&amp;gt;-Query&amp;lt;/xsl:if&amp;gt;
      &amp;lt;/TypeId&amp;gt;
      &amp;lt;xsl:choose&amp;gt;
        &amp;lt;xsl:when test=&amp;quot;matches(data[@name=&#39;cs-method&#39;]/@value, &#39;GET|OPTIONS|HEAD&#39;)&amp;quot;&amp;gt;
          &amp;lt;Description&amp;gt;Receipt of information from a Resource via Proxy&amp;lt;/Description&amp;gt;
          &amp;lt;Receive&amp;gt;
            &amp;lt;xsl:call-template name=&amp;quot;setupParticipants&amp;quot; /&amp;gt;
            &amp;lt;xsl:call-template name=&amp;quot;setPayload&amp;quot; /&amp;gt;
            &amp;lt;xsl:call-template name=&amp;quot;setOutcome&amp;quot; /&amp;gt;
          &amp;lt;/Receive&amp;gt;
        &amp;lt;/xsl:when&amp;gt;
        &amp;lt;xsl:otherwise&amp;gt;
          &amp;lt;Description&amp;gt;Transmission of information to a Resource via Proxy&amp;lt;/Description&amp;gt;
          &amp;lt;Send&amp;gt;
            &amp;lt;xsl:call-template name=&amp;quot;setupParticipants&amp;quot; /&amp;gt;
            &amp;lt;xsl:call-template name=&amp;quot;setPayload&amp;quot; /&amp;gt;
            &amp;lt;xsl:call-template name=&amp;quot;setOutcome&amp;quot; /&amp;gt;
          &amp;lt;/Send&amp;gt;
        &amp;lt;/xsl:otherwise&amp;gt;
      &amp;lt;/xsl:choose&amp;gt;
    &amp;lt;/EventDetail&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

  &amp;lt;!-- Establish the Source and Destination nodes --&amp;gt;
  &amp;lt;xsl:template name=&amp;quot;setupParticipants&amp;quot;&amp;gt;
    &amp;lt;Source&amp;gt;
      &amp;lt;Device&amp;gt;
        &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;c-ip&#39;]/@value != &#39;-&#39;&amp;quot;&amp;gt;
          &amp;lt;IPAddress&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;c-ip&#39;]/@value&amp;quot; /&amp;gt;
          &amp;lt;/IPAddress&amp;gt;
        &amp;lt;/xsl:if&amp;gt;

        &amp;lt;!-- Remote Port Number --&amp;gt;
        &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;c-port&#39;]/@value !=&#39;-&#39;&amp;quot;&amp;gt;
          &amp;lt;Port&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;c-port&#39;]/@value&amp;quot; /&amp;gt;
          &amp;lt;/Port&amp;gt;
        &amp;lt;/xsl:if&amp;gt;
      &amp;lt;/Device&amp;gt;
    &amp;lt;/Source&amp;gt;
    &amp;lt;Destination&amp;gt;
      &amp;lt;Device&amp;gt;
        &amp;lt;HostName&amp;gt;
          &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-host&#39;]/@value&amp;quot; /&amp;gt;
        &amp;lt;/HostName&amp;gt;
      &amp;lt;/Device&amp;gt;
    &amp;lt;/Destination&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

  &amp;lt;!-- Define the Payload node --&amp;gt;
  &amp;lt;xsl:template name=&amp;quot;setPayload&amp;quot;&amp;gt;
    &amp;lt;Payload&amp;gt;
      &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;cs-uri-query&#39;]/@value != &#39;-&#39;&amp;quot;&amp;gt;
        &amp;lt;Criteria&amp;gt;
          &amp;lt;DataSources&amp;gt;
            &amp;lt;DataSource&amp;gt;
              &amp;lt;xsl:value-of select=&amp;quot;concat(data[@name=&#39;cs-uri-scheme&#39;]/@value, &#39;://&#39;, data[@name=&#39;cs-host&#39;]/@value)&amp;quot; /&amp;gt;
              &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;cs-uri-path&#39;]/@value != &#39;/&#39;&amp;quot;&amp;gt;
                &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-uri-path&#39;]/@value&amp;quot; /&amp;gt;
              &amp;lt;/xsl:if&amp;gt;
            &amp;lt;/DataSource&amp;gt;
          &amp;lt;/DataSources&amp;gt;
          &amp;lt;Query&amp;gt;
            &amp;lt;Raw&amp;gt;
              &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-uri-query&#39;]/@value&amp;quot; /&amp;gt;
            &amp;lt;/Raw&amp;gt;
          &amp;lt;/Query&amp;gt;
        &amp;lt;/Criteria&amp;gt;
      &amp;lt;/xsl:if&amp;gt;
      &amp;lt;Resource&amp;gt;

        &amp;lt;!-- Check for auth groups the URL belongs to --&amp;gt;
        &amp;lt;xsl:variable name=&amp;quot;authgroups&amp;quot;&amp;gt;
          &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-auth-group&#39;]/@value&amp;quot; /&amp;gt;
          &amp;lt;xsl:if test=&amp;quot;exists(data[@name=&#39;cs-auth-group&#39;]) and exists(data[@name=&#39;cs-auth-groups&#39;])&amp;quot;&amp;gt;,&amp;lt;/xsl:if&amp;gt;
          &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-auth-groups&#39;]/@value&amp;quot; /&amp;gt;
        &amp;lt;/xsl:variable&amp;gt;
        &amp;lt;xsl:choose&amp;gt;
          &amp;lt;xsl:when test=&amp;quot;contains($authgroups, &#39;,&#39;)&amp;quot;&amp;gt;
            &amp;lt;Groups&amp;gt;
              &amp;lt;xsl:for-each select=&amp;quot;tokenize($authgroups, &#39;,&#39;)&amp;quot;&amp;gt;
                &amp;lt;Group&amp;gt;
                  &amp;lt;Id&amp;gt;
                    &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot; /&amp;gt;
                  &amp;lt;/Id&amp;gt;
                &amp;lt;/Group&amp;gt;
              &amp;lt;/xsl:for-each&amp;gt;
            &amp;lt;/Groups&amp;gt;
          &amp;lt;/xsl:when&amp;gt;
          &amp;lt;xsl:when test=&amp;quot;$authgroups != &#39;-&#39; and $authgroups != &#39;&#39;&amp;quot;&amp;gt;
            &amp;lt;Groups&amp;gt;
              &amp;lt;Group&amp;gt;
                &amp;lt;Id&amp;gt;
                  &amp;lt;xsl:value-of select=&amp;quot;$authgroups&amp;quot; /&amp;gt;
                &amp;lt;/Id&amp;gt;
              &amp;lt;/Group&amp;gt;
            &amp;lt;/Groups&amp;gt;
          &amp;lt;/xsl:when&amp;gt;
        &amp;lt;/xsl:choose&amp;gt;

        &amp;lt;!-- Re-form the URL --&amp;gt;
        &amp;lt;URL&amp;gt;
          &amp;lt;xsl:value-of select=&amp;quot;concat(data[@name=&#39;cs-uri-scheme&#39;]/@value, &#39;://&#39;, data[@name=&#39;cs-host&#39;]/@value)&amp;quot; /&amp;gt;
          &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;cs-uri-path&#39;]/@value != &#39;/&#39;&amp;quot;&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-uri-path&#39;]/@value&amp;quot; /&amp;gt;
          &amp;lt;/xsl:if&amp;gt;
        &amp;lt;/URL&amp;gt;
        &amp;lt;HTTPMethod&amp;gt;
          &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-method&#39;]/@value&amp;quot; /&amp;gt;
        &amp;lt;/HTTPMethod&amp;gt;
        &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;cs(User-Agent)&#39;]/@value !=&#39;-&#39;&amp;quot;&amp;gt;
          &amp;lt;UserAgent&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs(User-Agent)&#39;]/@value&amp;quot; /&amp;gt;
          &amp;lt;/UserAgent&amp;gt;
        &amp;lt;/xsl:if&amp;gt;

        &amp;lt;!-- Inbound activity --&amp;gt;
        &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;sc-bytes&#39;]/@value !=&#39;-&#39;&amp;quot;&amp;gt;
          &amp;lt;InboundSize&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;sc-bytes&#39;]/@value&amp;quot; /&amp;gt;
          &amp;lt;/InboundSize&amp;gt;
        &amp;lt;/xsl:if&amp;gt;
        &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;sc-bodylength&#39;]/@value !=&#39;-&#39;&amp;quot;&amp;gt;
          &amp;lt;InboundContentSize&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;sc-bodylength&#39;]/@value&amp;quot; /&amp;gt;
          &amp;lt;/InboundContentSize&amp;gt;
        &amp;lt;/xsl:if&amp;gt;

        &amp;lt;!-- Outbound activity --&amp;gt;
        &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;cs-bytes&#39;]/@value !=&#39;-&#39;&amp;quot;&amp;gt;
          &amp;lt;OutboundSize&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-bytes&#39;]/@value&amp;quot; /&amp;gt;
          &amp;lt;/OutboundSize&amp;gt;
        &amp;lt;/xsl:if&amp;gt;
        &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;cs-bodylength&#39;]/@value !=&#39;-&#39;&amp;quot;&amp;gt;
          &amp;lt;OutboundContentSize&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-bodylength&#39;]/@value&amp;quot; /&amp;gt;
          &amp;lt;/OutboundContentSize&amp;gt;
        &amp;lt;/xsl:if&amp;gt;

        &amp;lt;!-- Miscellaneous --&amp;gt;
        &amp;lt;RequestTime&amp;gt;
          &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;time-taken&#39;]/@value&amp;quot; /&amp;gt;
        &amp;lt;/RequestTime&amp;gt;
        &amp;lt;ResponseCode&amp;gt;
          &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;sc-status&#39;]/@value&amp;quot; /&amp;gt;
        &amp;lt;/ResponseCode&amp;gt;
        &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;rs(Content-Type)&#39;]/@value != &#39;-&#39;&amp;quot;&amp;gt;
          &amp;lt;MimeType&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;rs(Content-Type)&#39;]/@value&amp;quot; /&amp;gt;
          &amp;lt;/MimeType&amp;gt;
        &amp;lt;/xsl:if&amp;gt;
        &amp;lt;xsl:if test=&amp;quot;data[@name=&#39;cs-categories&#39;]/@value != &#39;none&#39; or data[@name=&#39;sc-filter-category&#39;]/@value != &#39;none&#39;&amp;quot;&amp;gt;
          &amp;lt;Category&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;cs-categories&#39;]/@value&amp;quot; /&amp;gt;
            &amp;lt;xsl:value-of select=&amp;quot;data[@name=&#39;sc-filter-category&#39;]/@value&amp;quot; /&amp;gt;
          &amp;lt;/Category&amp;gt;
        &amp;lt;/xsl:if&amp;gt;

        &amp;lt;!-- Take up other items as data elements --&amp;gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;data[@name=&#39;s-action&#39;]&amp;quot; /&amp;gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;data[@name=&#39;cs-uri-scheme&#39;]&amp;quot; /&amp;gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;data[@name=&#39;s-hierarchy&#39;]&amp;quot; /&amp;gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;data[@name=&#39;sc-filter-result&#39;]&amp;quot; /&amp;gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;data[@name=&#39;x-virus-id&#39;]&amp;quot; /&amp;gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;data[@name=&#39;x-virus-details&#39;]&amp;quot; /&amp;gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;data[@name=&#39;x-icap-error-code&#39;]&amp;quot; /&amp;gt;
        &amp;lt;xsl:apply-templates select=&amp;quot;data[@name=&#39;x-icap-error-details&#39;]&amp;quot; /&amp;gt;
      &amp;lt;/Resource&amp;gt;
    &amp;lt;/Payload&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

  &amp;lt;!-- Generic Data capture template so we capture all other Bluecoat objects not already consumed --&amp;gt;
  &amp;lt;xsl:template match=&amp;quot;data&amp;quot;&amp;gt;
    &amp;lt;xsl:if test=&amp;quot;@value != &#39;-&#39;&amp;quot;&amp;gt;
      &amp;lt;Data Name=&amp;quot;{@name}&amp;quot; Value=&amp;quot;{@value}&amp;quot; /&amp;gt;
    &amp;lt;/xsl:if&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

  &amp;lt;!-- 
         Set up the Outcome node.
  
  We only set an Outcome for an error state. The absence of an Outcome infers success
  --&amp;gt;
  &amp;lt;xsl:template name=&amp;quot;setOutcome&amp;quot;&amp;gt;
    &amp;lt;xsl:choose&amp;gt;

      &amp;lt;!-- Favour squid specific errors first --&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;data[@name=&#39;sc-status&#39;]/@value &amp;gt; 500&amp;quot;&amp;gt;
        &amp;lt;Outcome&amp;gt;
          &amp;lt;Success&amp;gt;false&amp;lt;/Success&amp;gt;
          &amp;lt;Description&amp;gt;
            &amp;lt;xsl:call-template name=&amp;quot;responseCodeDesc&amp;quot;&amp;gt;
              &amp;lt;xsl:with-param name=&amp;quot;code&amp;quot; select=&amp;quot;data[@name=&#39;sc-status&#39;]/@value&amp;quot; /&amp;gt;
            &amp;lt;/xsl:call-template&amp;gt;
          &amp;lt;/Description&amp;gt;
        &amp;lt;/Outcome&amp;gt;
      &amp;lt;/xsl:when&amp;gt;

      &amp;lt;!-- Now check for &#39;normal&#39; errors --&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;tCliStatus &amp;gt; 400&amp;quot;&amp;gt;
        &amp;lt;Outcome&amp;gt;
          &amp;lt;Success&amp;gt;false&amp;lt;/Success&amp;gt;
          &amp;lt;Description&amp;gt;
            &amp;lt;xsl:call-template name=&amp;quot;responseCodeDesc&amp;quot;&amp;gt;
              &amp;lt;xsl:with-param name=&amp;quot;code&amp;quot; select=&amp;quot;data[@name=&#39;sc-status&#39;]/@value&amp;quot; /&amp;gt;
            &amp;lt;/xsl:call-template&amp;gt;
          &amp;lt;/Description&amp;gt;
        &amp;lt;/Outcome&amp;gt;
      &amp;lt;/xsl:when&amp;gt;
    &amp;lt;/xsl:choose&amp;gt;
  &amp;lt;/xsl:template&amp;gt;

  &amp;lt;!-- Response Code map to Descriptions --&amp;gt;
  &amp;lt;xsl:template name=&amp;quot;responseCodeDesc&amp;quot;&amp;gt;
    &amp;lt;xsl:param name=&amp;quot;code&amp;quot; /&amp;gt;
    &amp;lt;xsl:choose&amp;gt;

      &amp;lt;!-- Informational --&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 100&amp;quot;&amp;gt;Continue&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 101&amp;quot;&amp;gt;Switching Protocols&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 102&amp;quot;&amp;gt;Processing&amp;lt;/xsl:when&amp;gt;

      &amp;lt;!-- Successful Transaction --&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 200&amp;quot;&amp;gt;OK&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 201&amp;quot;&amp;gt;Created&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 202&amp;quot;&amp;gt;Accepted&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 203&amp;quot;&amp;gt;Non-Authoritative Information&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 204&amp;quot;&amp;gt;No Content&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 205&amp;quot;&amp;gt;Reset Content&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 206&amp;quot;&amp;gt;Partial Content&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 207&amp;quot;&amp;gt;Multi Status&amp;lt;/xsl:when&amp;gt;

      &amp;lt;!-- Redirection --&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 300&amp;quot;&amp;gt;Multiple Choices&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 301&amp;quot;&amp;gt;Moved Permanently&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 302&amp;quot;&amp;gt;Moved Temporarily&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 303&amp;quot;&amp;gt;See Other&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 304&amp;quot;&amp;gt;Not Modified&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 305&amp;quot;&amp;gt;Use Proxy&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 307&amp;quot;&amp;gt;Temporary Redirect&amp;lt;/xsl:when&amp;gt;

      &amp;lt;!-- Client Error --&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 400&amp;quot;&amp;gt;Bad Request&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 401&amp;quot;&amp;gt;Unauthorized&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 402&amp;quot;&amp;gt;Payment Required&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 403&amp;quot;&amp;gt;Forbidden&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 404&amp;quot;&amp;gt;Not Found&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 405&amp;quot;&amp;gt;Method Not Allowed&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 406&amp;quot;&amp;gt;Not Acceptable&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 407&amp;quot;&amp;gt;Proxy Authentication Required&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 408&amp;quot;&amp;gt;Request Timeout&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 409&amp;quot;&amp;gt;Conflict&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 410&amp;quot;&amp;gt;Gone&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 411&amp;quot;&amp;gt;Length Required&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 412&amp;quot;&amp;gt;Precondition Failed&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 413&amp;quot;&amp;gt;Request Entity Too Large&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 414&amp;quot;&amp;gt;Request URI Too Large&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 415&amp;quot;&amp;gt;Unsupported Media Type&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 416&amp;quot;&amp;gt;Request Range Not Satisfiable&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 417&amp;quot;&amp;gt;Expectation Failed&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 422&amp;quot;&amp;gt;Unprocessable Entity&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 424&amp;quot;&amp;gt;Locked/Failed Dependency&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 433&amp;quot;&amp;gt;Unprocessable Entity&amp;lt;/xsl:when&amp;gt;

      &amp;lt;!-- Server Error --&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 500&amp;quot;&amp;gt;Internal Server Error&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 501&amp;quot;&amp;gt;Not Implemented&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 502&amp;quot;&amp;gt;Bad Gateway&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 503&amp;quot;&amp;gt;Service Unavailable&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 504&amp;quot;&amp;gt;Gateway Timeout&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 505&amp;quot;&amp;gt;HTTP Version Not Supported&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 507&amp;quot;&amp;gt;Insufficient Storage&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 600&amp;quot;&amp;gt;Squid: header parsing error&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 601&amp;quot;&amp;gt;Squid: header size overflow detected while parsing/roundcube: software configuration error&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:when test=&amp;quot;$code = 603&amp;quot;&amp;gt;roundcube: invalid authorization&amp;lt;/xsl:when&amp;gt;
      &amp;lt;xsl:otherwise&amp;gt;
        &amp;lt;xsl:value-of select=&amp;quot;concat(&#39;Unknown Code:&#39;, $code)&amp;quot; /&amp;gt;
      &amp;lt;/xsl:otherwise&amp;gt;
    &amp;lt;/xsl:choose&amp;gt;
  &amp;lt;/xsl:template&amp;gt;
&amp;lt;/xsl:stylesheet&amp;gt;

&lt;/code&gt;&lt;/pre&gt;


    &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
    &lt;div class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;
      
      &lt;span class=&#34;&#34; style=&#34;font-size: smaller&#34;&gt;BlueCoat XSLT Translation&lt;/span&gt;
      
      (
      &lt;a href=&#34;../../files/HOWTOs/EventFeeds/ProcessingHowTo/BlueCoat.xslt&#34; class=&#34;&#34; style=&#34;font-size: smaller&#34;&gt;Download BlueCoat.xslt&lt;/a&gt;
      &lt;i class=&#34;external-link-icon fas fa-file-download fa-sm text-secondary&#34; title=&#34;External link&#34;&gt;&lt;/i&gt;
      )
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Refreshing the current event will show the &lt;em&gt;output&lt;/em&gt; pane contains&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;quot;1.1&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;Events 
    xmlns=&amp;quot;event-logging:3&amp;quot; 
    xmlns:stroom=&amp;quot;stroom&amp;quot; 
    xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; 
    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; 
    xsi:schemaLocation=&amp;quot;event-logging:3 file://event-logging-v3.2.4.xsd&amp;quot; 
    Version=&amp;quot;3.2.4&amp;quot;&amp;gt;
  &amp;lt;Event&amp;gt;
    &amp;lt;EventTime&amp;gt;
      &amp;lt;TimeCreated&amp;gt;2005-05-04T17:16:12.000Z&amp;lt;/TimeCreated&amp;gt;
    &amp;lt;/EventTime&amp;gt;
    &amp;lt;EventSource&amp;gt;
      &amp;lt;System&amp;gt;
        &amp;lt;Name&amp;gt;Site http://log-sharing.dreamhosters.com/ Bluecoat Logs&amp;lt;/Name&amp;gt;
        &amp;lt;Environment&amp;gt;Development&amp;lt;/Environment&amp;gt;
      &amp;lt;/System&amp;gt;
      &amp;lt;Generator&amp;gt;Bluecoat Software: SGOS 3.2.4.28 Version: 1.0&amp;lt;/Generator&amp;gt;
      &amp;lt;Device&amp;gt;
        &amp;lt;IPAddress&amp;gt;192.16.170.42&amp;lt;/IPAddress&amp;gt;
        &amp;lt;Data Name=&amp;quot;ServiceType&amp;quot; Value=&amp;quot;SG-HTTP-Service&amp;quot; /&amp;gt;
      &amp;lt;/Device&amp;gt;
      &amp;lt;Client&amp;gt;
        &amp;lt;IPAddress&amp;gt;45.110.2.82&amp;lt;/IPAddress&amp;gt;
      &amp;lt;/Client&amp;gt;
      &amp;lt;Server&amp;gt;
        &amp;lt;HostName&amp;gt;www.inmobus.com&amp;lt;/HostName&amp;gt;
      &amp;lt;/Server&amp;gt;
      &amp;lt;User&amp;gt;
        &amp;lt;Id&amp;gt;george&amp;lt;/Id&amp;gt;
      &amp;lt;/User&amp;gt;
      &amp;lt;Data Name=&amp;quot;MyMeta&amp;quot; Value=&amp;quot;FQDN:somenode.strmdev00.org\nipaddress:192.168.2.220\nipaddress_eth0:192.168.2.220\nipaddress_lo:127.0.0.1\nipaddress_virbr0:192.168.122.1\n&amp;quot; /&amp;gt;
    &amp;lt;/EventSource&amp;gt;
    &amp;lt;EventDetail&amp;gt;
      &amp;lt;TypeId&amp;gt;Bluecoat-GET-http&amp;lt;/TypeId&amp;gt;
      &amp;lt;Description&amp;gt;Receipt of information from a Resource via Proxy&amp;lt;/Description&amp;gt;
      &amp;lt;Receive&amp;gt;
        &amp;lt;Source&amp;gt;
          &amp;lt;Device&amp;gt;
            &amp;lt;IPAddress&amp;gt;45.110.2.82&amp;lt;/IPAddress&amp;gt;
          &amp;lt;/Device&amp;gt;
        &amp;lt;/Source&amp;gt;
        &amp;lt;Destination&amp;gt;
          &amp;lt;Device&amp;gt;
            &amp;lt;HostName&amp;gt;www.inmobus.com&amp;lt;/HostName&amp;gt;
          &amp;lt;/Device&amp;gt;
        &amp;lt;/Destination&amp;gt;
        &amp;lt;Payload&amp;gt;
          &amp;lt;Resource&amp;gt;
            &amp;lt;URL&amp;gt;http://www.inmobus.com/wcm/assets/images/imagefileicon.gif&amp;lt;/URL&amp;gt;
            &amp;lt;HTTPMethod&amp;gt;GET&amp;lt;/HTTPMethod&amp;gt;
            &amp;lt;UserAgent&amp;gt;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;lt;/UserAgent&amp;gt;
            &amp;lt;InboundSize&amp;gt;941&amp;lt;/InboundSize&amp;gt;
            &amp;lt;OutboundSize&amp;gt;729&amp;lt;/OutboundSize&amp;gt;
            &amp;lt;RequestTime&amp;gt;1&amp;lt;/RequestTime&amp;gt;
            &amp;lt;ResponseCode&amp;gt;200&amp;lt;/ResponseCode&amp;gt;
            &amp;lt;MimeType&amp;gt;image/gif&amp;lt;/MimeType&amp;gt;
            &amp;lt;Data Name=&amp;quot;s-action&amp;quot; Value=&amp;quot;TCP_HIT&amp;quot; /&amp;gt;
            &amp;lt;Data Name=&amp;quot;cs-uri-scheme&amp;quot; Value=&amp;quot;http&amp;quot; /&amp;gt;
            &amp;lt;Data Name=&amp;quot;s-hierarchy&amp;quot; Value=&amp;quot;DIRECT&amp;quot; /&amp;gt;
            &amp;lt;Data Name=&amp;quot;sc-filter-result&amp;quot; Value=&amp;quot;PROXIED&amp;quot; /&amp;gt;
            &amp;lt;Data Name=&amp;quot;x-icap-error-code&amp;quot; Value=&amp;quot;none&amp;quot; /&amp;gt;
          &amp;lt;/Resource&amp;gt;
        &amp;lt;/Payload&amp;gt;
      &amp;lt;/Receive&amp;gt;
    &amp;lt;/EventDetail&amp;gt;
  &amp;lt;/Event&amp;gt;
&amp;lt;/Events&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;for the given input&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-xml&#34;&gt;&amp;lt;?xml version=&amp;quot;1.1&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;records xmlns=&amp;quot;records:2&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;records:2 file://records-v2.0.xsd&amp;quot; version=&amp;quot;2.0&amp;quot;&amp;gt;
  &amp;lt;record&amp;gt;
    &amp;lt;data name=&amp;quot;date&amp;quot; value=&amp;quot;2005-05-04&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;time&amp;quot; value=&amp;quot;17:16:12&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;time-taken&amp;quot; value=&amp;quot;1&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;c-ip&amp;quot; value=&amp;quot;45.110.2.82&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;sc-status&amp;quot; value=&amp;quot;200&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;s-action&amp;quot; value=&amp;quot;TCP_HIT&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;sc-bytes&amp;quot; value=&amp;quot;941&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;cs-bytes&amp;quot; value=&amp;quot;729&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;cs-method&amp;quot; value=&amp;quot;GET&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;cs-uri-scheme&amp;quot; value=&amp;quot;http&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;cs-host&amp;quot; value=&amp;quot;www.inmobus.com&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;cs-uri-path&amp;quot; value=&amp;quot;/wcm/assets/images/imagefileicon.gif&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;cs-uri-query&amp;quot; value=&amp;quot;-&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;cs-username&amp;quot; value=&amp;quot;george&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;s-hierarchy&amp;quot; value=&amp;quot;DIRECT&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;s-supplier-name&amp;quot; value=&amp;quot;38.112.92.20&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;rs(Content-Type)&amp;quot; value=&amp;quot;image/gif&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;cs(User-Agent)&amp;quot; value=&amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;sc-filter-result&amp;quot; value=&amp;quot;PROXIED&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;sc-filter-category&amp;quot; value=&amp;quot;none&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;x-virus-id&amp;quot; value=&amp;quot;-&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;s-ip&amp;quot; value=&amp;quot;192.16.170.42&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;s-sitename&amp;quot; value=&amp;quot;SG-HTTP-Service&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;x-virus-details&amp;quot; value=&amp;quot;-&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;x-icap-error-code&amp;quot; value=&amp;quot;none&amp;quot; /&amp;gt;
    &amp;lt;data name=&amp;quot;x-icap-error-details&amp;quot; value=&amp;quot;-&amp;quot; /&amp;gt;
  &amp;lt;/record&amp;gt;
&amp;lt;/records&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Do not forget to Save &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Save&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --&gt;&lt;path style=&#34;fill:currentColor;stroke-width:0.570676;stroke-dasharray:none&#34; d=&#34;M 339.40234 116.52148 C 216.56504 116.52148 116.69531 216.3912 116.69531 339.22852 L 116.69531 1452.7715 C 116.69531 1575.6089 216.56504 1675.4785 339.40234 1675.4785 L 1452.5977 1675.4785 C 1575.4349 1675.4785 1675.3047 1575.6089 1675.3047 1452.7715 L 1675.3047 598.82422 C 1675.3047 539.66744 1651.9901 482.94523 1610.2324 441.1875 L 1610.5801 440.83984 L 1351.334 181.59375 C 1309.5761 139.83602 1252.8561 116.52148 1193.6992 116.52148 L 339.40234 116.52148 z M 339.40234 283.55273 L 395.08008 283.55273 L 395.08008 645.45312 C 395.08008 691.73461 432.31423 728.96875 478.5957 728.96875 L 1146.7207 728.96875 C 1193.0023 728.96875 1230.2363 691.73461 1230.2363 645.45312 L 1230.2363 297.12305 C 1231.2803 298.167 1231.9756 298.8623 1233.0195 299.90625 L 1492.6152 558.80469 L 1492.2676 559.1543 C 1502.707 569.59373 1508.6211 583.8594 1508.6211 598.47461 L 1508.6211 1452.7715 C 1508.6211 1483.3939 1483.5678 1508.4473 1452.9453 1508.4473 L 1395.6113 1508.4473 L 1395.6113 1059.8359 C 1395.6113 981.08539 1331.5826 917.05859 1252.832 917.05859 L 539.16797 917.05859 C 460.41738 917.05859 396.38867 981.08539 396.38867 1059.8359 L 396.38867 1508.4473 L 339.40234 1508.4473 C 308.78001 1508.4473 283.72656 1483.3939 283.72656 1452.7715 L 283.72656 339.22852 C 283.72656 308.60619 308.78001 283.55273 339.40234 283.55273 z M 562.11133 283.55273 L 1063.2051 283.55273 L 1063.2051 561.9375 L 562.11133 561.9375 L 562.11133 283.55273 z M 538.94531 1024.1426 L 1252.832 1024.1426 C 1272.4639 1024.1426 1288.5273 1040.2041 1288.5273 1059.8359 L 1288.5273 1508.4473 L 503.25 1508.4473 L 503.25 1059.8359 C 503.25 1040.2041 519.31334 1024.1426 538.94531 1024.1426 z &#34; /&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; the translation as we are complete.&lt;/p&gt;
&lt;h3 id=&#34;schema-validation&#34;&gt;Schema Validation&lt;/h3&gt;
&lt;p&gt;One last point, validating the use of the Stroom Event Logging Schema is performed in the &lt;code&gt;schemaFilter&lt;/code&gt; component of the pipeline.
Had our translation resulted in a malformed Event, this pipeline component displays any errors.
In the screen below, we have purposely changed the &lt;code&gt;EventTime/TimeCreated&lt;/code&gt; element to be &lt;code&gt;EventTime/TimeCreatd&lt;/code&gt; (misspelled).
If one selects the &lt;code&gt;schemaFilter&lt;/code&gt; component and then Refresh &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__green&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Refresh step&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M1639 1056q0 5-1 7-64 268-268 434.5t-478 166.5q-146 0-282.5-55t-243.5-157l-129 129q-19 19-45 19t-45-19-19-45v-448q0-26 19-45t45-19h448q26 0 45 19t19 45-19 45l-137 137q71 66 161 102t187 36q134 0 250-65t186-179q11-17 53-117 8-23 30-23h192q13 0 22.5 9.5t9.5 22.5zm25-800v448q0 26-19 45t-45 19h-448q-26 0-45-19t-19-45 19-45l138-138q-148-137-349-137-134 0-250 65t-186 179q-11 17-53 117-8 23-30 23h-199q-13 0-22.5-9.5t-9.5-22.5v-7q65-268 270-434.5t480-166.5q146 0 284 55.5t245 156.5l130-129q19-19 45-19t45 19 19 45z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; the current step, we will see that&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;there is an error as indicated by a square &lt;strong&gt;Red&lt;/strong&gt; box &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Error indicator&#34;&gt;PNG

���IHDR���������w&amp;���bKGD������	pHYs��a��a?i���tIME5q\���tEXtComment�Created with The GIMPd%n���IDATӅ
P@|6L~AU!51ZoլEӖNL]r8\G=i=#a}ksl
�ǡˊ$UM�c!nXT
: 2NB[R/?kCyLUq84hF6yK@����IENDB`&lt;/span&gt;
  &lt;/span&gt; in the top right hand corner&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;there is a &lt;strong&gt;Red&lt;/strong&gt; rectangle line indicator mark &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Error line indicator&#34;&gt;PNG

���IHDR���������&amp;q���sRGB����gAMA��a���	pHYs����od���?IDAT(Sc|=^q*@ʦ,P&amp;Co�IjaLL@``������IENDB`&lt;/span&gt;
  &lt;/span&gt; on the right hand side in the display slide bar&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;there is a &lt;strong&gt;Red&lt;/strong&gt; error marker &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Error&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:#d32f2e&#34; d=&#34;m 1664,896 c 0,139.3333 -34.3333,267.8333 -103,385.5 -68.6667,117.6667 -161.8333,210.8333 -279.5,279.5 -117.6667,68.6667 -246.1667,103 -385.5,103 -139.33333,0 -267.83333,-34.3333 -385.5,-103 C 392.83333,1492.3333 299.66667,1399.1667 231,1281.5 162.33333,1163.8333 128,1035.3333 128,896 128,756.66667 162.33333,628.16667 231,510.5 299.66667,392.83333 392.83333,299.66667 510.5,231 628.16667,162.33333 756.66667,128 896,128 c 139.3333,0 267.8333,34.33333 385.5,103 117.6667,68.66667 210.8333,161.83333 279.5,279.5 68.6667,117.66667 103,246.16667 103,385.5 z&#34;/&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;m 1277,1122 c 0,-17.3333 -6.3333,-32.3333 -19,-45 L 1077,896 1258,715 c 12.6667,-12.66667 19,-27.66667 19,-45 0,-18 -6.3333,-33.33333 -19,-46 l -90,-90 c -12.6667,-12.66667 -28,-19 -46,-19 -17.3333,0 -32.3333,6.33333 -45,19 L 896,715 715,534 c -12.66667,-12.66667 -27.66667,-19 -45,-19 -18,0 -33.33333,6.33333 -46,19 l -90,90 c -12.66667,12.66667 -19,28 -19,46 0,17.33333 6.33333,32.33333 19,45 l 181,181 -181,181 c -12.66667,12.6667 -19,27.6667 -19,45 0,18 6.33333,33.3333 19,46 l 90,90 c 12.66667,12.6667 28,19 46,19 17.33333,0 32.33333,-6.3333 45,-19 l 181,-181 181,181 c 12.6667,12.6667 27.6667,19 45,19 18,0 33.3333,-6.3333 46,-19 l 90,-90 c 12.6667,-12.6667 19,-28 19,-46 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; in the left hand gutter.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-47.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-47.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-47.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-47.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping XSLT Translation 6&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Hovering over the error marker &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Error&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:#d32f2e&#34; d=&#34;m 1664,896 c 0,139.3333 -34.3333,267.8333 -103,385.5 -68.6667,117.6667 -161.8333,210.8333 -279.5,279.5 -117.6667,68.6667 -246.1667,103 -385.5,103 -139.33333,0 -267.83333,-34.3333 -385.5,-103 C 392.83333,1492.3333 299.66667,1399.1667 231,1281.5 162.33333,1163.8333 128,1035.3333 128,896 128,756.66667 162.33333,628.16667 231,510.5 299.66667,392.83333 392.83333,299.66667 510.5,231 628.16667,162.33333 756.66667,128 896,128 c 139.3333,0 267.8333,34.33333 385.5,103 117.6667,68.66667 210.8333,161.83333 279.5,279.5 68.6667,117.66667 103,246.16667 103,385.5 z&#34;/&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;m 1277,1122 c 0,-17.3333 -6.3333,-32.3333 -19,-45 L 1077,896 1258,715 c 12.6667,-12.66667 19,-27.66667 19,-45 0,-18 -6.3333,-33.33333 -19,-46 l -90,-90 c -12.6667,-12.66667 -28,-19 -46,-19 -17.3333,0 -32.3333,6.33333 -45,19 L 896,715 715,534 c -12.66667,-12.66667 -27.66667,-19 -45,-19 -18,0 -33.33333,6.33333 -46,19 l -90,90 c -12.66667,12.66667 -19,28 -19,46 0,17.33333 6.33333,32.33333 19,45 l 181,181 -181,181 c -12.66667,12.6667 -19,27.6667 -19,45 0,18 6.33333,33.3333 19,46 l 90,90 c 12.66667,12.6667 28,19 46,19 17.33333,0 32.33333,-6.3333 45,-19 l 181,-181 181,181 c 12.6667,12.6667 27.6667,19 45,19 18,0 33.3333,-6.3333 46,-19 l 90,-90 c 12.6667,-12.6667 19,-28 19,-46 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; on the left hand side will bring a pop-up describing the error.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-48.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-48.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-48.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-48.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping XSLT Translation 7&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;At this point, close the &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; stepping tab, acknowledging you do not want to save your errant changes&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-49.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-49.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-49.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-49.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Create Feed - Translation - Stepping XSLT Translation 8&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;by pressing the 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
 button.&lt;/p&gt;
&lt;h2 id=&#34;automated-processing&#34;&gt;Automated Processing&lt;/h2&gt;
&lt;p&gt;Now that we have authored our translation, we want to enable Stroom to automatically process streams of raw event log data as it arrives.
We do this by configuring a &lt;code&gt;Processor&lt;/code&gt; in the &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; &lt;code&gt;pipeline&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;adding-a-pipeline-processor&#34;&gt;Adding a Pipeline Processor&lt;/h3&gt;
&lt;p&gt;Open the &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; &lt;code&gt;pipeline&lt;/code&gt; by selecting it (&lt;em&gt;double left click&lt;/em&gt;) in the &lt;code&gt;Explorer&lt;/code&gt; display to show&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-50.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-50.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-50.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-50.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;To configure a Processor we select the &lt;code&gt;Processors&lt;/code&gt; hyper-link of the &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; &lt;code&gt;Pipeline&lt;/code&gt; tab to reveal&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-51.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-51.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-51.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-51.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Processors table&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We add a Processor by pressing the add processor button &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add processor&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; in the top left hand corner.
At this point, you will be presented with an &lt;code&gt;Add Filter&lt;/code&gt; configuration window.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-52.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-52.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-52.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-52.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Add Filter 1&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;As we wish to create a Processor that will automatically process all &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; feed &lt;code&gt;Raw Events&lt;/code&gt; we will select the BlueCoat-Proxy-V1.0-EVENTS &lt;code&gt;Feed&lt;/code&gt; and Raw Event &lt;code&gt;Stream Type&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;To select the feed, we press the &lt;code&gt;Edit&lt;/code&gt; button &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Edit&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;.
At this, the &lt;code&gt;Choose Feeds To Include And Exclude&lt;/code&gt; configuration window is displayed.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-53.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-53.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-53.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-53.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Add Filter 2&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;As we need to &lt;code&gt;Include&lt;/code&gt; the BlueCoat-Proxy-V1.0-EVENTS &lt;code&gt;Feed&lt;/code&gt; in our selection, press the &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; button in the &lt;code&gt;Include:&lt;/code&gt; pane of the window to be presented with a &lt;code&gt;Choose Item&lt;/code&gt; configuration window.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-54.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-54.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-54.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-54.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Add Filter 3&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Navigate to the &lt;strong&gt;Event Sources/Proxy/BlueCoat&lt;/strong&gt; folder and select the &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; &lt;code&gt;Feed&lt;/code&gt;&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-55.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-55.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-55.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-55.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Add Filter 4&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;then press the 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
 button to select and see that the feed is included.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-56.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-56.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-56.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-56.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Add Filter 5&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Again press the 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
 button to close the &lt;code&gt;Choose Feeds To Include And Exclude&lt;/code&gt; window to show that we have selected our feed in the &lt;code&gt;Feeds:&lt;/code&gt; selection pane of the &lt;code&gt;Add Filter&lt;/code&gt; configuration window.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-57.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-57.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-57.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-57.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Add Filter 6&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We now need to select our &lt;code&gt;Stream Type&lt;/code&gt;.
Press the &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Add&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;m 1600,800 0,192 q 0,40 -28,68 -28,28 -68,28 l -416,0 0,416 q 0,40 -28,68 -28,28 -68,28 l -192,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-416 -416,0 q -40,0 -68,-28 -28,-28 -28,-68 l 0,-192 q 0,-40 28,-68 28,-28 68,-28 l 416,0 0,-416 q 0,-40 28,-68 28,-28 68,-28 l 192,0 q 40,0 68,28 28,28 28,68 l 0,416 416,0 q 40,0 68,28 28,28 28,68 z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; button in the &lt;code&gt;Stream Types:&lt;/code&gt; pane of the window to be presented with a &lt;code&gt;Add Stream Type&lt;/code&gt; window with a &lt;code&gt;Stream Type:&lt;/code&gt; selection drop down.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-58.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-58.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-58.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-58.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Add Filter 7&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We select (&lt;em&gt;left click&lt;/em&gt;) the drop down selection to display the types of Stream we can choose&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-59.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-59.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-59.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-59.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Add Filter 8&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;and as we are selecting &lt;code&gt;Raw Events&lt;/code&gt; we select that item then press the 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
 button at which point we see that our &lt;code&gt;Add Filter&lt;/code&gt; configuration window displays&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-60.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-60.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-60.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-60.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Add Filter 9&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;As we have selected our filter items, press the 






  
  
  


&lt;span class=&#34;stroom-theme-dark stroom-button stroom-button-primary&#34; title=&#34;OK button&#34; &gt;
  &lt;span class=&#34;stroom-icon inline-svg-button icon-button  icon-colour__grey&#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;OK&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --&gt;&lt;path style=&#34;fill:#fff&#34; d=&#34;M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&#34;stroom-button-text&#34;&gt;OK&lt;/span&gt;
&lt;/span&gt;
 button to display our configured Processors.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-61.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-61.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-61.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-61.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Configured Processors&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We now see our display is divided into two panes.
The Processors table pane at the top and the specific Processor pane below.
In our case, our filter selection has left the &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; &lt;code&gt;Filter&lt;/code&gt; selected in the Processors table&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-62.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-62.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-62.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-62.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Configured Processors - Selected Processor&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;and the specific filter&amp;rsquo;s details in the bottom pane.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-63.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-63.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-63.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-63.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Configured Processors - Selected Processor Detail&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;The column entries in the Processors Table pane describe&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pipeline - the name of the Processor pipeline (&lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Filter&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M1595 295q17 41-14 70l-493 493v742q0 42-39 59-13 5-25 5-27 0-45-19l-256-256q-19-19-19-45v-486l-493-493q-31-29-14-70 17-39 59-39h1280q42 0 59 39z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;)&lt;/li&gt;
&lt;li&gt;Tracker Ms - the last time the tracker updated&lt;/li&gt;
&lt;li&gt;Tracker % - the percentage of available streams completed&lt;/li&gt;
&lt;li&gt;Last Poll Age - the last time the processor found new streams to process&lt;/li&gt;
&lt;li&gt;Task Count - the number of processor tasks currently running&lt;/li&gt;
&lt;li&gt;Priority - the queue scheduling priority of task submission to available stream processors&lt;/li&gt;
&lt;li&gt;Streams - the number of streams that have been processed (includes currently running streams)&lt;/li&gt;
&lt;li&gt;Events - ??&lt;/li&gt;
&lt;li&gt;Status - the status of the processor.&lt;/li&gt;
&lt;li&gt;Normally empty if the number of stream is open-ended.&lt;/li&gt;
&lt;li&gt;If only are subset of streams were chosen (e.g. a time range in the filter) then the status will be &lt;em&gt;Complete&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Enabled - check box to indicate the processor is enabled&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We now need only &lt;code&gt;Enable&lt;/code&gt; both the pipeline Processor and the pipeline Filter for automatic processing to occur.
We do this by selecting both check boxes in the &lt;code&gt;Enabled&lt;/code&gt; column.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-64.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-64.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-64.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-64.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Configured Processors - Enable Processor&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;If we refresh our Processor table by pressing the &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Refresh&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M1639 1056q0 5-1 7-64 268-268 434.5t-478 166.5q-146 0-282.5-55t-243.5-157l-129 129q-19 19-45 19t-45-19-19-45v-448q0-26 19-45t45-19h448q26 0 45 19t19 45-19 45l-137 137q71 66 161 102t187 36q134 0 250-65t186-179q11-17 53-117 8-23 30-23h192q13 0 22.5 9.5t9.5 22.5zm25-800v448q0 26-19 45t-45 19h-448q-26 0-45-19t-19-45 19-45l138-138q-148-137-349-137-134 0-250 65t-186 179q-11 17-53 117-8 23-30 23h-199q-13 0-22.5-9.5t-9.5-22.5v-7q65-268 270-434.5t480-166.5q146 0 284 55.5t245 156.5l130-129q19-19 45-19t45 19 19 45z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; button in the top right hand corner, we will see that more table entries have been filled in.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-65.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-65.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-65.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-65.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Configured Processors - Enable Processor Result&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We see that the tracker last updated at &lt;em&gt;2018-07-14T04:00:35.289Z&lt;/em&gt;, the percentage complete is &lt;em&gt;100&lt;/em&gt; (we only had one stream after all), the last time active streams were checked for was &lt;em&gt;2.3&lt;/em&gt; minutes ago, there are no tasks running and that &lt;em&gt;1&lt;/em&gt; stream has completed.
Note that the &lt;code&gt;Status&lt;/code&gt; column is blank as we have an &lt;em&gt;open ended&lt;/em&gt; filter in that the processor will continue to select and process any new stream of &lt;code&gt;Raw Events&lt;/code&gt; coming into the &lt;strong&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/strong&gt; feed.&lt;/p&gt;
&lt;p&gt;If we return to the &lt;em&gt;BlueCoat-Proxy-V1.0-EVENTS&lt;/em&gt;* &lt;code&gt;Feed&lt;/code&gt; tab, ensuring the &lt;strong&gt;Data&lt;/strong&gt; hyper-link is selected and then refresh (&lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Refresh&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M1639 1056q0 5-1 7-64 268-268 434.5t-478 166.5q-146 0-282.5-55t-243.5-157l-129 129q-19 19-45 19t-45-19-19-45v-448q0-26 19-45t45-19h448q26 0 45 19t19 45-19 45l-137 137q71 66 161 102t187 36q134 0 250-65t186-179q11-17 53-117 8-23 30-23h192q13 0 22.5 9.5t9.5 22.5zm25-800v448q0 26-19 45t-45 19h-448q-26 0-45-19t-19-45 19-45l138-138q-148-137-349-137-134 0-250 65t-186 179q-11 17-53 117-8 23-30 23h-199q-13 0-22.5-9.5t-9.5-22.5v-7q65-268 270-434.5t480-166.5q146 0 284 55.5t245 156.5l130-129q19-19 45-19t45 19 19 45z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;) the top pane that holds the summary of the latest Feed streams&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-66.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-66.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-66.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-66.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Configured Processors - Feed Display&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We see a new entry in the table.
The columns display&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Created - The time the stream was created.&lt;/li&gt;
&lt;li&gt;Type - The type of stream.
Our new entry has a type of &amp;lsquo;Events&amp;rsquo; as we have processed our &lt;code&gt;Raw Events&lt;/code&gt; data.&lt;/li&gt;
&lt;li&gt;Feed - The name of the stream&amp;rsquo;s feed&lt;/li&gt;
&lt;li&gt;Pipeline - The name of the pipeline involved in the generation of the stream&lt;/li&gt;
&lt;li&gt;Raw - The size in bytes of the raw stream data&lt;/li&gt;
&lt;li&gt;Disk - The size in bytes of the raw stream data when stored in compressed form on the disk&lt;/li&gt;
&lt;li&gt;Read - The number of records read by a pipeline&lt;/li&gt;
&lt;li&gt;Write - The number of records (events) written by a pipeline.
In this case the difference is that we did not generate events for the &lt;code&gt;Software&lt;/code&gt; or &lt;code&gt;Version&lt;/code&gt; records we read.&lt;/li&gt;
&lt;li&gt;Fatal - The number of fatal errors the pipeline encountered when processing this stream&lt;/li&gt;
&lt;li&gt;Error - The number of errors the pipeline encountered when processing this stream&lt;/li&gt;
&lt;li&gt;Warn - The number of warnings the pipeline encountered when processing this stream&lt;/li&gt;
&lt;li&gt;Info - The number of informational alerts the pipeline encountered when processing this stream&lt;/li&gt;
&lt;li&gt;Retention - The retention period for this stream of data&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If we also refresh (&lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Refresh&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M1639 1056q0 5-1 7-64 268-268 434.5t-478 166.5q-146 0-282.5-55t-243.5-157l-129 129q-19 19-45 19t-45-19-19-45v-448q0-26 19-45t45-19h448q26 0 45 19t19 45-19 45l-137 137q71 66 161 102t187 36q134 0 250-65t186-179q11-17 53-117 8-23 30-23h192q13 0 22.5 9.5t9.5 22.5zm25-800v448q0 26-19 45t-45 19h-448q-26 0-45-19t-19-45 19-45l138-138q-148-137-349-137-134 0-250 65t-186 179q-11 17-53 117-8 23-30 23h-199q-13 0-22.5-9.5t-9.5-22.5v-7q65-268 270-434.5t480-166.5q146 0 284 55.5t245 156.5l130-129q19-19 45-19t45 19 19 45z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;) the specific feed pane (middle) we again see a new entry of the &lt;code&gt;Events&lt;/code&gt; &lt;em&gt;Type&lt;/em&gt;&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-67.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-67.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-67.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-67.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Configured Processors - Specific Feed Display&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;If we select (&lt;em&gt;left click&lt;/em&gt;) on the &lt;code&gt;Events&lt;/code&gt; &lt;em&gt;Type&lt;/em&gt; in either pane, we will see that the data pane displays the first event in the &lt;em&gt;GCHQ Stroom Event Logging XML Schema&lt;/em&gt; form.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-68.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-68.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-68.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-68.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Configured Processors - Event Display&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We can now send a file of BlueCoat Proxy logs to our Stroom instance from a Linux host using &lt;em&gt;curl&lt;/em&gt; command and see how Stroom will automatically processes the file.
Use the command&lt;/p&gt;

  






&lt;div class=&#34;code-toolbar&#34;&gt;
  &lt;pre 
    class=&#34;command-line language-bash&#34; 
    data-user=&#34;user&#34; 
    data-host=&#34;localhost&#34; 
    data-continuation-str=&#34;\&#34;
    data-filter-output=&#34;(out)&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;curl \
-k \
--data-binary @sampleBluecoat.log \
https://stroomp.strmdev00.org/stroom/datafeed \
-H&amp;#34;Feed:BlueCoat-Proxy-V1.0-EVENTS&amp;#34; \
-H&amp;#34;Environment:Development&amp;#34; \
-H&amp;#34;LogFileName:sampleBluecoat.log&amp;#34; \
-H&amp;#34;MyHost:\&amp;#34;somenode.strmdev00.org\&amp;#34;&amp;#34; \
-H&amp;#34;MyIPaddress:\&amp;#34;192.168.2.220 192.168.122.1\&amp;#34;&amp;#34; \
-H&amp;#34;System:Site http://log-sharing.dreamhosters.com/ Bluecoat Logs&amp;#34; \
-H&amp;#34;Version:V1.0&amp;#34;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;After Stroom&amp;rsquo;s Proxy aggregation has occurred, we will see that the new file posted via &lt;em&gt;curl&lt;/em&gt; has been loaded into Stroom as per&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-69.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-69.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-69.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-69.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Configured Processors - New Posted Stream&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;and this new &lt;em&gt;Raw Event&lt;/em&gt; stream is automatically processed a few seconds later as per&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-70.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-70.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-70.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-70.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Configured Processors - New Posted Stream Processed&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;We note that since we have used the same sample file again, the Stream sizes and record counts are the same.&lt;/p&gt;
&lt;p&gt;If we switch to the &lt;code&gt;Processors&lt;/code&gt; tab of the pipeline we see that the Tracker timestamp has changed and the number of Streams processed has increased.&lt;/p&gt;







  
  
  
  
  







  



&lt;div class=&#34;card rounded shadow-stroom p-2 td-post-card mb-4 mt-4&#34; style=&#34;width: fit-content;&#34;&gt;

  &lt;a title=&#34;images/HOWTOs/UI-FeedProcessing-71.png&#34; href=&#34;../../images/HOWTOs/UI-FeedProcessing-71.png&#34;&gt;
    &lt;figure style=&#34;margin-block-end: 0px&#34; &gt;
      
      &lt;img class=&#34;card-img-top&#34; src=&#34;../../images/HOWTOs/UI-FeedProcessing-71.png&#34; style=&#34;max-width: fit-content&#34; alt=&#34;images/HOWTOs/UI-FeedProcessing-71.png&#34;&gt;
      

      
      &lt;div class=&#34;card-body px-0 pt-2 pb-0&#34;&gt;
        &lt;hr style=&#34;border-top: 1px solid #ddd; margin-top: 0px; margin-bottom:4px;&#34;&gt;
        &lt;figcaption class=&#34;card-text&#34; style=&#34;font-size: smaller; text-align: center;&#34;&gt;Stroom UI Enable Processing - Configured Processors - New Posted Stream Processors&lt;/figcaption&gt;
      &lt;/div&gt;
      
    &lt;/figure&gt;
  &lt;/a&gt;
&lt;/div&gt;


      </description>
    </item>
    
  </channel>
</rss>
