<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Dynamic search and naming using left joins multiple libtables in do loops and subqueries in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/641346#M191124</link>
    <description>&lt;P&gt;The logic can only be applied to either character or numeric variables, and it needs some adaptions for numeric. From the data examples you posted, I took it that you were looking for categorical values.&lt;/P&gt;</description>
    <pubDate>Mon, 20 Apr 2020 15:15:25 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2020-04-20T15:15:25Z</dc:date>
    <item>
      <title>Dynamic search and naming using left joins multiple libtables in do loops and subqueries</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/641246#M191100</link>
      <description>&lt;P&gt;I got a list with id's and I have to check the occurrence in multiple tables and I also want to register where this happens (how many times). But I get a lot of errors: invalid statements and syntax errors, I have used multiple sources for the code and what this different is the looped joins, subqueries, multiple libraries, members and column names.&lt;/P&gt;&lt;P&gt;My code in SAS EG are below, first &lt;STRONG&gt;the example data I have in 'work':&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA work.id_search;
INPUT id $;
DATALINES;
A1B6
C3L4
...
Q6Z7 
RUN;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I did a search for the different column names (id and id_thing) in the db's that contain this number, which worked out using this post, &lt;A href="https://communities.sas.com/t5/SAS-Enterprise-Guide/Column-name-search/td-p/319433" target="_self"&gt;link.&lt;/A&gt;&amp;nbsp;Which gives me something like this data, &lt;STRONG&gt;library presence:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA table_search;
INPUT libname memname memtype name ...;
DATALINES;
A XY DATA id      ...
A BB ... id_thing ...
B ZY ... ...      ...
... ...  ... ...  ...
Z AK ... id       ...
RUN;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;STRONG&gt;The result I am aiming for:&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA work.id_search_result;
INPUT id $ A.XY A.BB B.ZY ... Z.AK;
DATALINES;
A1B6 0 5 6 1 ... 0
C3L4 9 4 3 2 ... 2
... ... ... ... ... ... ...
Q6Z7 0 0 0 0 ... 1
RUN;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;The code I used to try this:&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro searchIDs; 

proc sql; 
	/* count number of datasets containing id or id_thing */                                      
	select count(memname) into :cnt
	from work.table_search;

	select count(id) into :wcnt
	from work.search_id;

	%let cnt = &amp;amp;cnt.; /* removes trailing blanks from &amp;amp;cnt */ 
	%let wcnt = &amp;amp;wcnt.; 

	/* get names of all datasets and columns containing the variable*/  
	select libname into :ds1 - :ds&amp;amp;cnt.,
		memname into :ms1 - :ms&amp;amp;cnt.,
		name into :ls1 - :ls&amp;amp;cnt.
	from work.table_search;

	/* */ 
	select kenteken into :id1 - :id&amp;amp;wcnt.
	from work.search_id;
	
	create table terecht as
	select t.*
	from work. as t
	%do i = 1 %to &amp;amp;wcnt.;
 		%do j = 1 %to &amp;amp;cnt.;

			left join (select sq.&amp;amp;&amp;amp;ls&amp;amp;j.,
						count(case 	when upcase(sq.&amp;amp;&amp;amp;ls&amp;amp;j.) = "&amp;amp;&amp;amp;ken&amp;amp;i." 
									then 1 else 0 end) as &amp;amp;&amp;amp;ds&amp;amp;j._&amp;amp;&amp;amp;ms&amp;amp;j.
						from &amp;amp;&amp;amp;ds&amp;amp;j..&amp;amp;&amp;amp;ms&amp;amp;j. as sq
						where upcase(sq.&amp;amp;&amp;amp;ls&amp;amp;j.) = "&amp;amp;&amp;amp;ken&amp;amp;i.") as t1
					on t.kenteken = t1.&amp;amp;&amp;amp;ls&amp;amp;j.;
/* I tried: t1.&amp;amp;&amp;amp;ls.&amp;amp;j  t1.&amp;amp;&amp;amp;ls.&amp;amp;j. t1.&amp;amp;ls.&amp;amp;j.  t1.&amp;amp;ls&amp;amp;j.  t1.&amp;amp;ls.&amp;amp;j  to no avail*/
		%end;
	%end;
quit;
%mend searchIDs; 
 
%searchIDs; 
 &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I have tried this a lot now and it does not seem to work out, since I am a novice to SAS I undoubtedly miss something...&lt;/P&gt;&lt;P&gt;The sources I used and things I tried:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;A href="https://www.lexjansen.com/nesug/nesug10/hw/hw05.pdf" target="_blank"&gt;https://www.lexjansen.com/nesug/nesug10/hw/hw05.pdf&lt;/A&gt;&amp;nbsp;[p.21-22]&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://communities.sas.com/t5/SAS-Programming/Dynamic-SQL-Joins-and-Unions-in-a-Macro-DO-Loop/td-p/379254" target="_blank"&gt;https://communities.sas.com/t5/SAS-Programming/Dynamic-SQL-Joins-and-Unions-in-a-Macro-DO-Loop/td-p/379254&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://www.lexjansen.com/nesug/nesug07/cc/cc21.pdf" target="_blank"&gt;https://www.lexjansen.com/nesug/nesug07/cc/cc21.pdf&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://www.lexjansen.com/sesug/2019/SESUG2019_Paper-253_Final_PDF.pdf" target="_blank"&gt;https://www.lexjansen.com/sesug/2019/SESUG2019_Paper-253_Final_PDF.pdf&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://www.lexjansen.com/pharmasug-cn/2015/PT/PharmaSUG-China-2015-PT50.pdf" target="_blank"&gt;https://www.lexjansen.com/pharmasug-cn/2015/PT/PharmaSUG-China-2015-PT50.pdf&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://communities.sas.com/t5/General-SAS-Programming/When-is-proper-time-to-add-dot-after-macro-variables/td-p/404458" target="_blank"&gt;https://communities.sas.com/t5/General-SAS-Programming/When-is-proper-time-to-add-dot-after-macro-variables/td-p/404458&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;This is a long question, very kind to stick around until this point. Hopefully someone is able to help me I thank you for your time &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 20 Apr 2020 10:41:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/641246#M191100</guid>
      <dc:creator>xpnerd</dc:creator>
      <dc:date>2020-04-20T10:41:39Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic search and naming using left joins multiple libtables in do loops and subqueries</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/641252#M191103</link>
      <description>&lt;P&gt;First obvious error:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;from work. as t&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;you are missing a dataset name here.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Depending on the number of tables, variables and values you will quickly exceed the maximum number of tables you can process in a single SQL query (256, IIRC)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I would rather do this:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;create a list of variable names to search in a macro variable&lt;/LI&gt;
&lt;LI&gt;create a list of datasets in a &amp;nbsp;second macro variable&lt;/LI&gt;
&lt;LI&gt;in one single data step, put all those datasets into a single SET statement, with an indsname= option; us a %do loop for this&lt;/LI&gt;
&lt;LI&gt;at _N_ = 1, create a hash object with all your search values&lt;/LI&gt;
&lt;LI&gt;for every observation, do a find() method; if result = 0, output the dataset name, variable name, and value&lt;/LI&gt;
&lt;LI&gt;repeat the above statement(s) in a %do loop for all variable names in your first macro variable&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;When this data step has run, you can use summary procedures to get your counts.&lt;/P&gt;
&lt;P&gt;The big advantage: you will do one single, sequential pass through all the datasets, and not do a join.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 20 Apr 2020 10:59:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/641252#M191103</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-04-20T10:59:14Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic search and naming using left joins multiple libtables in do loops and subqueries</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/641260#M191106</link>
      <description>&lt;P&gt;To illustrate what I meant, an example using SASHELP datasets:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data search;
input searchvalue :$13.; /* Use the maximum expected variable length here */
datalines;
Acura
Alfred
;

data where_to_search;
input libname :$8. memname :$32. name :$32.;
datalines;
sashelp class name
sashelp cars make
;

proc sql noprint;
select catx('.',libname,memname) into :datasets separated by ' ' from where_to_search;
select trim(name) into :names separated by ' ' from where_to_search;
run;

data all;
length &amp;amp;names $13;
/* set a common length for all variables to be searched */
/* otherwise the hash code might fail */
set &amp;amp;datasets indsname=dsname;
if _n_ = 1
then do;
  length searchvalue $13;
  declare hash h (dataset:"search");
  h.definekey('searchvalue');
  h.definedone();
  call missing(searchvalue); /* prevents "uninitialized" message */
end;
%macro allvars;
%do i = 1 %to %sysfunc(countw(&amp;amp;names));
if h.check(key:%scan(&amp;amp;names,&amp;amp;i)) = 0
then do;
  dataset = dsname;
  variable = "%scan(&amp;amp;names,&amp;amp;i)";
  value = %scan(&amp;amp;names,&amp;amp;i);
  output;
end;
%end;
%mend;
%allvars
keep dataset variable value;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Resulting dataset:&lt;/P&gt;
&lt;PRE&gt;1	SASHELP.CLASS	name	Alfred	
2	SASHELP.CARS	make	Acura	
3	SASHELP.CARS	make	Acura	
4	SASHELP.CARS	make	Acura	
5	SASHELP.CARS	make	Acura	
6	SASHELP.CARS	make	Acura	
7	SASHELP.CARS	make	Acura	
8	SASHELP.CARS	make	Acura&lt;/PRE&gt;</description>
      <pubDate>Mon, 20 Apr 2020 11:19:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/641260#M191106</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-04-20T11:19:23Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic search and naming using left joins multiple libtables in do loops and subqueries</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/641327#M191121</link>
      <description>&lt;P&gt;You sir are a wizard, the sample code worked perfectly. So below are individual problems and reall depending on the databases (I guess).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It did not work for the database I am working on.&lt;/P&gt;&lt;P&gt;When I tried it for my list with different libnames and memnames I got the error:&amp;nbsp;&lt;EM&gt;ERROR: Variable &amp;lt;other variable&amp;gt; has been defined as both character and numeric.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;All those other variables are the ones I am not comparing to as far as I understand the code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If I run it for a unique libname (and multiple memnames) (since there is no %do loop at 'set &amp;amp;datanames ...'), I get the error:&amp;nbsp;&lt;EM&gt;ERROR: CLI cursor extended fetch error: [SAP AG][LIBODBCHDB DLL][HDBODBC] General error;-10427 Conversion of parameter/column (9)&lt;BR /&gt;from data type NVARCHAR to ASCII failed&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;sadly the database (which I am not owner of) tables have fields with multiple different char-lengths and is not clean at all.&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 20 Apr 2020 14:44:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/641327#M191121</guid>
      <dc:creator>xpnerd</dc:creator>
      <dc:date>2020-04-20T14:44:42Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic search and naming using left joins multiple libtables in do loops and subqueries</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/641346#M191124</link>
      <description>&lt;P&gt;The logic can only be applied to either character or numeric variables, and it needs some adaptions for numeric. From the data examples you posted, I took it that you were looking for categorical values.&lt;/P&gt;</description>
      <pubDate>Mon, 20 Apr 2020 15:15:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/641346#M191124</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-04-20T15:15:25Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic search and naming using left joins multiple libtables in do loops and subqueries</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/641965#M191445</link>
      <description>&lt;P&gt;In case of: ERROR: Variable &amp;lt;other variable&amp;gt; has been defined as both character and numeric, it mentions fields in the table to be searched that are not selected. I also tried it out for the field 'name' contains only one label/name and checked if the field has character values. I just find it odd; an error for all the other fields which should not be searched.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As for the target label/name field it has character values, but these can be a mix of letters and numbers such as 'ABC3'. Does the hash not work in the case of this mixture of 'characters' in a string/char what should I change in that case?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I also tried to look into the other error, the things I found out about that would be things with encoding. and some technical stuff I don't understand at all.&lt;/P&gt;</description>
      <pubDate>Wed, 22 Apr 2020 14:29:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/641965#M191445</guid>
      <dc:creator>xpnerd</dc:creator>
      <dc:date>2020-04-22T14:29:10Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic search and naming using left joins multiple libtables in do loops and subqueries</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/641972#M191449</link>
      <description>&lt;P&gt;If you have such badly designed data (where the same variable name is used within a single database for variables of different types - who comes up with such a crazy idea?), then you need to take additional measures, like adding logic that connects columns with datasets, so you can add keep= dataset options for all the datasets you read in the step with the hash.&lt;/P&gt;</description>
      <pubDate>Wed, 22 Apr 2020 14:39:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/641972#M191449</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-04-22T14:39:58Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic search and naming using left joins multiple libtables in do loops and subqueries</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/642008#M191464</link>
      <description>&lt;P&gt;I did not design or aggregated those tables, I just have to deal with it I guess.&lt;/P&gt;&lt;P&gt;So I changed a line of code and made it&lt;/P&gt;&lt;PRE&gt;set &amp;amp;datasets. (keep=&amp;amp;names.) indsname=dsname;&lt;/PRE&gt;&lt;P&gt;Is this the change you meant ? It was the only thing that worked for the various permutation I tried.&lt;/P&gt;&lt;P&gt;No errors, weird results.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If run with the below dataset it does not throw an error, but the result gives me twice a hit in the src_two table, which is not right (might this be due to the %do loop in the code you gave?). In this case the order of the sources matters (if src_one listed second, it results in two hits for src_one).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Executing the code for only one source it gives me an empty result, which is weird to me.&amp;nbsp;&lt;/P&gt;&lt;P&gt;if the field 'name' has values 'id' en 'id_thing' and one and two resp. have a field named in such a way it throws &lt;EM&gt;ERROR The variable id in the DROP, KEEP, or RENAME list has never been referenced.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your kind help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Used example data:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data sources;
input libname :$8. memname :$32. name :$32.;
datalines;
work src_one id
work src_two id
;

data searchv;
input id :$4.;
datalines;
00AG
;

data src_one;
input mixure id :$4.;
datalines;
140 00AG
301 A644
;

data src_two;
input mixure :$6. id :$4.;
datalines;
name1 00AG
name3 B73C
;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 22 Apr 2020 16:08:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/642008#M191464</guid>
      <dc:creator>xpnerd</dc:creator>
      <dc:date>2020-04-22T16:08:45Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic search and naming using left joins multiple libtables in do loops and subqueries</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/643556#M192095</link>
      <description>&lt;P&gt;For those interesed in a solution, as far as I understand all the data steps, the code below seems to do the job.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro testing(search, searchvalue, where_to_search, result, summary = 0, srchvarlength = $32);

proc sql noprint;
select trim(name) into :names separated by ' ' from &amp;amp;where_to_search.;
/* working value */
select cats(libname,'.', memname,'(keep=', trim(name), ')') into :testsets separated by ' ' from &amp;amp;where_to_search.;
run;

data &amp;amp;result.;
/* 
	prevent %scan from picking the shortest char-length, 
	also names per dictonary.columns max length is 32. 
*/
length variable $32;
length value &amp;amp;srchvarlength.;

/* set a common length for all variables to be searched */
/* otherwise the hash code might fail */
set &amp;amp;testsets. indsname=dsname ;
if _n_ = 1
then do;
  length &amp;amp;searchvalue. &amp;amp;srchvarlength.;
  declare hash h (dataset:"&amp;amp;search.");
  h.definekey("&amp;amp;searchvalue.");
  h.definedone();
  call missing(&amp;amp;searchvalue.); /* prevents "uninitialized" message */
end;

%do i = 1 %to %sysfunc(countw(&amp;amp;names.));
if h.check(key:%scan(&amp;amp;names., &amp;amp;i.)) = 0
then do;
  dataset = dsname;
  variable = "%scan(&amp;amp;names, &amp;amp;i)";
  value = %scan(&amp;amp;names., &amp;amp;i.);
  output;
end;
%end;

keep dataset variable value;
run;
%mend;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 28 Apr 2020 11:49:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamic-search-and-naming-using-left-joins-multiple-libtables-in/m-p/643556#M192095</guid>
      <dc:creator>xpnerd</dc:creator>
      <dc:date>2020-04-28T11:49:36Z</dc:date>
    </item>
  </channel>
</rss>

