<?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: marco parameter in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/marco-parameter/m-p/26287#M5999</link>
    <description>Hi:&lt;BR /&gt;
  Before you write a SAS Macro program, you should have a WORKING program that produces the code that you want to execute inside a Macro program. &lt;BR /&gt;
For example, let's look at your "failure 1" example:&lt;BR /&gt;
[pre]&lt;BR /&gt;
/*failure1 */&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set allcriteria;&lt;BR /&gt;
%extractsth('c1');&lt;BR /&gt;
run;&lt;BR /&gt;
[/pre] &lt;BR /&gt;
                                                         &lt;BR /&gt;
If %EXTRACTSTH is this code:&lt;BR /&gt;
[pre]&lt;BR /&gt;
%macro extractsth(criteria);&lt;BR /&gt;
proc sql;&lt;BR /&gt;
create table result as select * from testdata &lt;BR /&gt;
where &amp;amp;criteria;&lt;BR /&gt;
quit;&lt;BR /&gt;
%mend;&lt;BR /&gt;
[/pre]&lt;BR /&gt;
                                          &lt;BR /&gt;
Then, effectively, the "resolved" SAS code that you would be trying to send to the compiler would be:&lt;BR /&gt;
[pre]&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set allcriteria;&lt;BR /&gt;
proc sql;&lt;BR /&gt;
create table result as select * from testdata &lt;BR /&gt;
where 'c1';&lt;BR /&gt;
quit;&lt;BR /&gt;
run;&lt;BR /&gt;
[/pre]&lt;BR /&gt;
                                                                         &lt;BR /&gt;
Have you tested this or any version of this program without SAS macro code being involved? The PROC SQL statement effectively will provide a step boundary, which causes the DATA _NULL_ program to end. &lt;BR /&gt;
           &lt;BR /&gt;
The SAS Macro facility and SAS Macro programs do not "execute" any code. The purpose of the Macro facility is to create SAS code -- either whole programs or statements or partial statements -- which can then be sent to the SAS compiler for compilation and statement execution.  When you invoke the macro program %EXTRACTSTH -- the macro word scanner and tokenizer takes whatever code is found in the macro progarm (between the %macro and %mend) and resolves any macro variable references in that code and then sends that code to the SAS compiler, where the code is compiled and executed. &lt;BR /&gt;
&lt;BR /&gt;
In the way, the SAS Macro facility is conceptually behaving like a typewriter -- it is ONLY typing code for you. The power of the macro facility comes into play when you use %IF conditions inside your macro program in order to allow the macro facility to conditionally build code to be sent to the compiler.&lt;BR /&gt;
 &lt;BR /&gt;
For example, you could have a Macro program like this:&lt;BR /&gt;
[pre]&lt;BR /&gt;
%macro dorept(type=);&lt;BR /&gt;
  ods listing;&lt;BR /&gt;
  %let type = %upcase(&amp;amp;type);&lt;BR /&gt;
  %if &amp;amp;type eq SHOES %then %do;&lt;BR /&gt;
    proc print data=sashelp.shoes(obs=3);&lt;BR /&gt;
      title "Type is &amp;amp;type";&lt;BR /&gt;
    run;&lt;BR /&gt;
  %end;&lt;BR /&gt;
  %else %if &amp;amp;type eq CLASS %then %do;&lt;BR /&gt;
    title "Type is &amp;amp;type";&lt;BR /&gt;
    proc sql;&lt;BR /&gt;
      select * from sashelp.class;&lt;BR /&gt;
    quit;&lt;BR /&gt;
  %end;&lt;BR /&gt;
  %else %do;&lt;BR /&gt;
     ** message for SAS Log;&lt;BR /&gt;
     %put *************************************************;&lt;BR /&gt;
     %put Note: You asked for: &amp;amp;type as the value for type=;&lt;BR /&gt;
     %put       You can only select "SHOES" or "CLASS";&lt;BR /&gt;
     %put       Try again please.;&lt;BR /&gt;
     %put *************************************************;&lt;BR /&gt;
  %end;&lt;BR /&gt;
%mend dorept;&lt;BR /&gt;
              &lt;BR /&gt;
%dorept(type=shoes);&lt;BR /&gt;
                &lt;BR /&gt;
%dorept(type=class);&lt;BR /&gt;
               &lt;BR /&gt;
%dorept(type=other);&lt;BR /&gt;
[/pre]&lt;BR /&gt;
 &lt;BR /&gt;
In the above macro program, the %IF and %ELSE statements are controlling what code gets sent to the compiler based on the value of the &amp;amp;TYPE parameter. For any execution of the macro program, only 1 thing will happen -- either &amp;amp;TYPE=SHOES and the PROC PRINT gets sent to the compiler OR the &amp;amp;TYPE=CLASS and the PROC SQL gets sent to the compiler OR the series of %PUT statements are sent to the SAS log. This is only 1 example of the type of macro program that you could write.&lt;BR /&gt;
&lt;BR /&gt;
However, before you can write a macro program, the recommended approach is to understand how SAS macro processing works and to start with a WORKING program that produces the output you want without the Macro facility being used in the code. From this, you have a starting point from which to work. It is -this- WORKING code that you want the macro facility to generate for you and send to the compiler when all the macro variables are resolved.&lt;BR /&gt;
&lt;BR /&gt;
This paper provides a good introduction to SAS Macro concepts:&lt;BR /&gt;
&lt;A href="http://www2.sas.com/proceedings/sugi28/056-28.pdf" target="_blank"&gt;http://www2.sas.com/proceedings/sugi28/056-28.pdf&lt;/A&gt; &lt;BR /&gt;
and this paper shows a lot of "data-driven" examples of macro processing:&lt;BR /&gt;
&lt;A href="http://www2.sas.com/proceedings/sugi24/Posters/p254-24.pdf" target="_blank"&gt;http://www2.sas.com/proceedings/sugi24/Posters/p254-24.pdf&lt;/A&gt;&lt;BR /&gt;
 &lt;BR /&gt;
cynthia</description>
    <pubDate>Sat, 05 Dec 2009 23:00:27 GMT</pubDate>
    <dc:creator>Cynthia_sas</dc:creator>
    <dc:date>2009-12-05T23:00:27Z</dc:date>
    <item>
      <title>marco parameter</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/marco-parameter/m-p/26284#M5996</link>
      <description>I have saved some criteria(c1) in a dataset&lt;BR /&gt;
I failed to pass the criteria into a marco&lt;BR /&gt;
&lt;BR /&gt;
Aim : marco can execute the criteria saved in the dataset&lt;BR /&gt;
&lt;BR /&gt;
Please help..................&lt;BR /&gt;
&lt;BR /&gt;
%macro extractsth(criteria);&lt;BR /&gt;
proc sql;&lt;BR /&gt;
create table result as select * from testdata &lt;BR /&gt;
where &amp;amp;criteria;&lt;BR /&gt;
quit;&lt;BR /&gt;
%mend;&lt;BR /&gt;
&lt;BR /&gt;
data   testdata;&lt;BR /&gt;
input age sex $ weight salary;&lt;BR /&gt;
cards;&lt;BR /&gt;
32 m 150 20&lt;BR /&gt;
27 f 108 22&lt;BR /&gt;
45 m 200 48&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data   allcriteria;&lt;BR /&gt;
input c1 $;&lt;BR /&gt;
cards;&lt;BR /&gt;
age&amp;lt;40&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
/*success*/&lt;BR /&gt;
*%extractsth(age&amp;lt;40);        /* &amp;lt;&amp;lt;  can age&amp;lt;40 saved in a dataset?*/&lt;BR /&gt;
&lt;BR /&gt;
/*failure1 */&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set allcriteria;&lt;BR /&gt;
%extractsth('c1');&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
/*failure2 */&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set allcriteria;&lt;BR /&gt;
%extractsth('c1');  /*wrong output*/&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
/*failure3*/&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set allcriteria;&lt;BR /&gt;
symput('c1',c1)&lt;BR /&gt;
%extractsth(symget('c1'));  /*syntax error*/&lt;BR /&gt;
run;</description>
      <pubDate>Sat, 05 Dec 2009 17:55:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/marco-parameter/m-p/26284#M5996</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2009-12-05T17:55:52Z</dc:date>
    </item>
    <item>
      <title>Re: marco parameter</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/marco-parameter/m-p/26285#M5997</link>
      <description>%extractsth(age&amp;lt;40); can age&amp;lt;40 saved in a dataset?

Message was edited by: makchishing</description>
      <pubDate>Sat, 05 Dec 2009 17:57:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/marco-parameter/m-p/26285#M5997</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2009-12-05T17:57:08Z</dc:date>
    </item>
    <item>
      <title>Re: marco parameter</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/marco-parameter/m-p/26286#M5998</link>
      <description>/*failure1 */&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set allcriteria;&lt;BR /&gt;
%extractsth('c1');&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
/*failure2 */&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set allcriteria;&lt;BR /&gt;
%extractsth('c1');  /*wrong output*/&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
/*failure3*/&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set allcriteria;&lt;BR /&gt;
symput('c1',c1)&lt;BR /&gt;
%extractsth(symget('c1'));  /*syntax error*/&lt;BR /&gt;
run;</description>
      <pubDate>Sat, 05 Dec 2009 17:58:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/marco-parameter/m-p/26286#M5998</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2009-12-05T17:58:37Z</dc:date>
    </item>
    <item>
      <title>Re: marco parameter</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/marco-parameter/m-p/26287#M5999</link>
      <description>Hi:&lt;BR /&gt;
  Before you write a SAS Macro program, you should have a WORKING program that produces the code that you want to execute inside a Macro program. &lt;BR /&gt;
For example, let's look at your "failure 1" example:&lt;BR /&gt;
[pre]&lt;BR /&gt;
/*failure1 */&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set allcriteria;&lt;BR /&gt;
%extractsth('c1');&lt;BR /&gt;
run;&lt;BR /&gt;
[/pre] &lt;BR /&gt;
                                                         &lt;BR /&gt;
If %EXTRACTSTH is this code:&lt;BR /&gt;
[pre]&lt;BR /&gt;
%macro extractsth(criteria);&lt;BR /&gt;
proc sql;&lt;BR /&gt;
create table result as select * from testdata &lt;BR /&gt;
where &amp;amp;criteria;&lt;BR /&gt;
quit;&lt;BR /&gt;
%mend;&lt;BR /&gt;
[/pre]&lt;BR /&gt;
                                          &lt;BR /&gt;
Then, effectively, the "resolved" SAS code that you would be trying to send to the compiler would be:&lt;BR /&gt;
[pre]&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set allcriteria;&lt;BR /&gt;
proc sql;&lt;BR /&gt;
create table result as select * from testdata &lt;BR /&gt;
where 'c1';&lt;BR /&gt;
quit;&lt;BR /&gt;
run;&lt;BR /&gt;
[/pre]&lt;BR /&gt;
                                                                         &lt;BR /&gt;
Have you tested this or any version of this program without SAS macro code being involved? The PROC SQL statement effectively will provide a step boundary, which causes the DATA _NULL_ program to end. &lt;BR /&gt;
           &lt;BR /&gt;
The SAS Macro facility and SAS Macro programs do not "execute" any code. The purpose of the Macro facility is to create SAS code -- either whole programs or statements or partial statements -- which can then be sent to the SAS compiler for compilation and statement execution.  When you invoke the macro program %EXTRACTSTH -- the macro word scanner and tokenizer takes whatever code is found in the macro progarm (between the %macro and %mend) and resolves any macro variable references in that code and then sends that code to the SAS compiler, where the code is compiled and executed. &lt;BR /&gt;
&lt;BR /&gt;
In the way, the SAS Macro facility is conceptually behaving like a typewriter -- it is ONLY typing code for you. The power of the macro facility comes into play when you use %IF conditions inside your macro program in order to allow the macro facility to conditionally build code to be sent to the compiler.&lt;BR /&gt;
 &lt;BR /&gt;
For example, you could have a Macro program like this:&lt;BR /&gt;
[pre]&lt;BR /&gt;
%macro dorept(type=);&lt;BR /&gt;
  ods listing;&lt;BR /&gt;
  %let type = %upcase(&amp;amp;type);&lt;BR /&gt;
  %if &amp;amp;type eq SHOES %then %do;&lt;BR /&gt;
    proc print data=sashelp.shoes(obs=3);&lt;BR /&gt;
      title "Type is &amp;amp;type";&lt;BR /&gt;
    run;&lt;BR /&gt;
  %end;&lt;BR /&gt;
  %else %if &amp;amp;type eq CLASS %then %do;&lt;BR /&gt;
    title "Type is &amp;amp;type";&lt;BR /&gt;
    proc sql;&lt;BR /&gt;
      select * from sashelp.class;&lt;BR /&gt;
    quit;&lt;BR /&gt;
  %end;&lt;BR /&gt;
  %else %do;&lt;BR /&gt;
     ** message for SAS Log;&lt;BR /&gt;
     %put *************************************************;&lt;BR /&gt;
     %put Note: You asked for: &amp;amp;type as the value for type=;&lt;BR /&gt;
     %put       You can only select "SHOES" or "CLASS";&lt;BR /&gt;
     %put       Try again please.;&lt;BR /&gt;
     %put *************************************************;&lt;BR /&gt;
  %end;&lt;BR /&gt;
%mend dorept;&lt;BR /&gt;
              &lt;BR /&gt;
%dorept(type=shoes);&lt;BR /&gt;
                &lt;BR /&gt;
%dorept(type=class);&lt;BR /&gt;
               &lt;BR /&gt;
%dorept(type=other);&lt;BR /&gt;
[/pre]&lt;BR /&gt;
 &lt;BR /&gt;
In the above macro program, the %IF and %ELSE statements are controlling what code gets sent to the compiler based on the value of the &amp;amp;TYPE parameter. For any execution of the macro program, only 1 thing will happen -- either &amp;amp;TYPE=SHOES and the PROC PRINT gets sent to the compiler OR the &amp;amp;TYPE=CLASS and the PROC SQL gets sent to the compiler OR the series of %PUT statements are sent to the SAS log. This is only 1 example of the type of macro program that you could write.&lt;BR /&gt;
&lt;BR /&gt;
However, before you can write a macro program, the recommended approach is to understand how SAS macro processing works and to start with a WORKING program that produces the output you want without the Macro facility being used in the code. From this, you have a starting point from which to work. It is -this- WORKING code that you want the macro facility to generate for you and send to the compiler when all the macro variables are resolved.&lt;BR /&gt;
&lt;BR /&gt;
This paper provides a good introduction to SAS Macro concepts:&lt;BR /&gt;
&lt;A href="http://www2.sas.com/proceedings/sugi28/056-28.pdf" target="_blank"&gt;http://www2.sas.com/proceedings/sugi28/056-28.pdf&lt;/A&gt; &lt;BR /&gt;
and this paper shows a lot of "data-driven" examples of macro processing:&lt;BR /&gt;
&lt;A href="http://www2.sas.com/proceedings/sugi24/Posters/p254-24.pdf" target="_blank"&gt;http://www2.sas.com/proceedings/sugi24/Posters/p254-24.pdf&lt;/A&gt;&lt;BR /&gt;
 &lt;BR /&gt;
cynthia</description>
      <pubDate>Sat, 05 Dec 2009 23:00:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/marco-parameter/m-p/26287#M5999</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2009-12-05T23:00:27Z</dc:date>
    </item>
    <item>
      <title>Re: marco parameter</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/marco-parameter/m-p/26288#M6000</link>
      <description>Thank you Cynthia,&lt;BR /&gt;
I am using SAS9,&lt;BR /&gt;
&lt;BR /&gt;
My working is &lt;BR /&gt;
------------------------------------------------------------------------&lt;BR /&gt;
proc sql;&lt;BR /&gt;
create table result as select * from testdata&lt;BR /&gt;
where age&amp;lt;10;&lt;BR /&gt;
quit;&lt;BR /&gt;
&lt;BR /&gt;
proc sql;&lt;BR /&gt;
create table result as select * from testdata&lt;BR /&gt;
where age&amp;lt;20;&lt;BR /&gt;
quit;&lt;BR /&gt;
&lt;BR /&gt;
proc sql;&lt;BR /&gt;
create table result as select * from testdata&lt;BR /&gt;
where age&amp;lt;30;&lt;BR /&gt;
quit;&lt;BR /&gt;
------------------------------------------------------------------------&lt;BR /&gt;
and this marco work successfully&lt;BR /&gt;
%extractsth(age&amp;lt;10);&lt;BR /&gt;
%extractsth(age&amp;lt;20);&lt;BR /&gt;
%extractsth(age&amp;lt;30);&lt;BR /&gt;
...&lt;BR /&gt;
%extractsth(age&amp;lt;100);&lt;BR /&gt;
------------------------------------------------------------------------&lt;BR /&gt;
It seems that &lt;BR /&gt;
there is no method that to save the "criteria"  i.e. age &amp;lt;10,age &amp;lt;20,age &amp;lt;30.., into a dataset then do a looping, instead of to duplicate sas code ?&lt;BR /&gt;
&lt;BR /&gt;
Is that true &amp;gt;0&lt;BR /&gt;
&lt;BR /&gt;
shing&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
------------------&lt;BR /&gt;
I am trying to use call execute to do so

Message was edited by: makchishing</description>
      <pubDate>Sun, 06 Dec 2009 03:16:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/marco-parameter/m-p/26288#M6000</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2009-12-06T03:16:47Z</dc:date>
    </item>
    <item>
      <title>Re: marco parameter</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/marco-parameter/m-p/26289#M6001</link>
      <description>Hi:&lt;BR /&gt;
  You -can- create numbered macro variables from variables in a SAS dataset or from multiple %LET statements -- it really depends on how and where your information exists that needs to become part of the macro process. Then you can use those numbered variables in a macro %DO loop inside a macro program to generate iterative or repetitious code (where only a few things change for every repetition of the code). &lt;BR /&gt;
 &lt;BR /&gt;
For example, if I used %LET to create numbered macro variables, the program below would generate 3 PROC SQL steps. A more advanced way to create the numbered macro variables would be to use CALL SYMPUT or PROC SQL (which was discussed in the paper link I provided previously.) An even more advanced way to create and generate macro calls to execute a macro program multiple times would be to use CALL EXECUTE.&lt;BR /&gt;
 &lt;BR /&gt;
If you search Google with the string:&lt;BR /&gt;
SAS macro call symput&lt;BR /&gt;
 &lt;BR /&gt;
You will come up with some useful user group papers, these among them:&lt;BR /&gt;
&lt;A href="http://www2.sas.com/proceedings/sugi29/243-29.pdf" target="_blank"&gt;http://www2.sas.com/proceedings/sugi29/243-29.pdf&lt;/A&gt;&lt;BR /&gt;
&lt;A href="http://www2.sas.com/proceedings/sugi29/052-29.pdf" target="_blank"&gt;http://www2.sas.com/proceedings/sugi29/052-29.pdf&lt;/A&gt;&lt;BR /&gt;
&lt;A href="http://www.nesug.org/Proceedings/nesug02/hw/hw003.pdf" target="_blank"&gt;http://www.nesug.org/Proceedings/nesug02/hw/hw003.pdf&lt;/A&gt;&lt;BR /&gt;
&lt;A href="http://www2.sas.com/proceedings/sugi31/039-31.pdf" target="_blank"&gt;http://www2.sas.com/proceedings/sugi31/039-31.pdf&lt;/A&gt;&lt;BR /&gt;
                           &lt;BR /&gt;
cynthia&lt;BR /&gt;
[pre]&lt;BR /&gt;
%global c1 c2 c3;&lt;BR /&gt;
%let c1 = %str(age=12);&lt;BR /&gt;
%let c2 = %str(age=15);&lt;BR /&gt;
%let c3 = %str(age&amp;gt;13);&lt;BR /&gt;
                                 &lt;BR /&gt;
%macro loopsql;&lt;BR /&gt;
  %do i = 1 %to 3;&lt;BR /&gt;
    title "condition is c&amp;amp;i: &amp;amp;&amp;amp;c&amp;amp;i";&lt;BR /&gt;
    proc sql;&lt;BR /&gt;
       select * &lt;BR /&gt;
       from sashelp.class&lt;BR /&gt;
       where &amp;amp;&amp;amp;c&amp;amp;i;&lt;BR /&gt;
    quit;&lt;BR /&gt;
  %end;&lt;BR /&gt;
%mend loopsql;&lt;BR /&gt;
                          &lt;BR /&gt;
options mprint symbolgen;&lt;BR /&gt;
ods listing;&lt;BR /&gt;
%loopsql;&lt;BR /&gt;
                       &lt;BR /&gt;
[/pre]</description>
      <pubDate>Sun, 06 Dec 2009 14:55:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/marco-parameter/m-p/26289#M6001</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2009-12-06T14:55:45Z</dc:date>
    </item>
    <item>
      <title>Re: marco parameter</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/marco-parameter/m-p/26290#M6002</link>
      <description>Based on the OP initial post, the SAS "expression" logic is contained in a SAS data library member.  For the defined macro, there is no other "variable logic" to consider.  So, the simplest approach is to use CALL EXECUTE in a DATA step and generate a suitable command execution data-string variable, which will be executed after the first DATA step terminates, based on the observations in WORK.allcriteria.&lt;BR /&gt;
&lt;BR /&gt;
Scott Barry&lt;BR /&gt;
SBBWorks, Inc.&lt;BR /&gt;
&lt;BR /&gt;
Suggested Google advanced search argument:&lt;BR /&gt;
&lt;BR /&gt;
call execute generate code site:sas.com</description>
      <pubDate>Sun, 06 Dec 2009 16:11:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/marco-parameter/m-p/26290#M6002</guid>
      <dc:creator>sbb</dc:creator>
      <dc:date>2009-12-06T16:11:20Z</dc:date>
    </item>
  </channel>
</rss>

