// Generated by SAS macro jsWriter 04APR02:17:23:58
// Richard A. DeVenezia
// http://www.devenezia.com
function title1 () {
document.write (
"<H1><A HREF='http://www.devenezia.com/downloads/sas/macros/jsTitleAndFootnote.sas'>jsTitleAndFootnot"
+ "e.sas</A></H1> <P ALIGN=LEFT STYLE='margin-top:12pt;font:normal bold 12pt monospace'> Richard A. DeV"
+ "enezia<BR> <A HREF='http://www.devenezia.com'>http://www.devenezia.com</A><BR> If you find these mac"
+ "ros useful, please <A HREF='/contact.php'>let me know</A> </P> <DIV STYLE='padding:"
+ "4pt;background-color:white;color:black;font:normal 10pt monospace'> <P> I have developed a suite of"
+ " macros to enable long titles or footnotes when working with ODS HTML. The macros store Title and Fo"
+ "otnote information in a separate file in specially constructed javascript functions. The macros als"
+ "o generate SAS Title and Footnote statements that are formulated to invoke the javascript functions."
+ " Thus, when the ODS HTML created page is accessed by a web browser the title and footnote informati"
+ "on is delivered to the reader. </P> Macros and Usage: <HR NOSHADE><b> %jsTitleFootnoteReset</b> ( <i"
+ ">fileref</i> ) <P> <i>fileref</i> - a FILEREF defined using a FILENAME statement. </P> <P> The <i>fi"
+ "leref</i> is where javascript functions will be written. The file should not be the same file that "
+ "ODS HTML is writing to. The ODS HTML HEADTEXT= option should be used to ensure the generated javasc"
+ "ript file is available to the generated HTML. </P> <HR NOSHADE><b> %jsTitle</b> ( <i>N</i>, <i>text<"
+ "/i> )<br><b> %jsFootnote</b> ( <i>N</i>, <i>text</i> ) <P> <i>N</i> - The title or footnote number, "
+ "1 through 10.<BR> <i>text</i> - Text to be displayed as the title. </P> <P>By default the title or f"
+ "ootnote is left-justified. To override this default, wrap <i>text</i> in a <P> block with ALIG"
+ "N=CENTER|RIGHT|JUSTIFY. </P> <P> The <i>text</i> may contain direct HTML for embedding. Best result"
+ "s are experienced if the HTML is valid. If you want to display characters normally interpreted by t"
+ "he SAS macro system, pass the text wrapped in <b>%nrstr()</b>. If you experience SAS errors while u"
+ "sing the macros while trying to work with special characters, consider using <A HREF='http://www.dio"
+ "nysia.org/html/entities/'>HTML entities</A> discussed in the HTML <A HREF='http://www.w3.org/TR/REC-"
+ "html40/sgml/entities.html'>4.0 Specification</A>. </P> <HR NOSHADE><b> %jsODSHeadText</b> ( <i>URL</"
+ "i> )<br> <P> <i>URL</i> - The URL where the javascript file should be loaded from<BR> </P> <P>For si"
+ "mple uses of <b>%jsTitle</b> and <b>%jsFootnote</b> the <i>fileref</i> indicated in <b>%jsTitleFootn"
+ "oteReset</b> will point to a file in the same folder as the HTML file being created by ODS HTML. Th"
+ "is means the filename itself is sufficient to pass as the <i>URL</i>. </P> <P>In more sophisticated "
+ "uses, the <i>fileref</i> indicated in <b>%jsTitleFootnoteReset</b> will point to a file in a folder "
+ "different than that of the HTML file being created by ODS HTML. This means the location of the javas"
+ "cript file when accessed through your web browser must be known. For pages that are read directly of"
+ "f a disk or shared drive this means some relative or absolute path according to the local system. Fo"
+ "r pages that are read from web server this means some relative or absolute path according to the web"
+ " server. </P> <P> jsODSHeadText is a convenience macro for use when specifing the value to use in yo"
+ "ur ODS HTML HEADTEXT=. The macro generates this literal text: </P> <PRE> <SCRIPT LANGUAGE=""
+ ""JAVASCRIPT"" SRC=""&URL""></SCRIPT> </PRE> <P> which wh"
+ "en used as a HEADTEXT= value will cause this: </P> <PRE> <SCRIPT LANGUAGE="JAVASCRIPT""
+ " SRC="&URL"></SCRIPT> </PRE> <P> to appear in the ODS HTML <HEAD>. </P> <P>"
+ "Note: Your application may require HEADTEXT other than that needed by these macros. </P> <HR NOSHADE"
+ "><b> Sample SAS code</b><br> <PRE> %let <font style='background-color:lightblue'>htmlFolder</font> ="
+ " <i>some-local-system-path</i>;<br> %let <font style='background-color:lime'>jScriptFilename</font> "
+ "= <i>some-filename</i>;<br> filename <font style='background-color:yellow'>jScript</font> "&<fo"
+ "nt style='background-color:lightblue'>htmlFolder</font>.\\&<font style='background-color:lime'>jScri"
+ "ptFilename</font>.";<br> <b>%jsTitleFootnoteReset</b> ( <font style='background-color:yellow'>j"
+ "Script</font> );<br> ODS HTML body = "&<font style='background-color:lightblue'>htmlFolder</fon"
+ "t>.\\<i>html-filename</i>"<br> headtext="<i>your head text</i><br> "
+ " <b>%jsODSHeadText</b> ( &<font style='background-color:lime'>jScriptFilename</font> )<br> "
+ " "<br> ;<br> %jsTitle (1, Title (may include <b>HTML</b> itself))<br> .."
+ ".<br> ODS HTML CLOSE;<br> </PRE> <HR NOSHADE><b> Caveats</b> <p>If you try to set a title or footnot"
+ "e that has a <PRE> block that covers mutiple lines, everything will run together. This is bec"
+ "ause the SAS macro system translates newlines to spaces. Use <BR> tags to ensure newlines occ"
+ "ur where you want them. </p> <P> These macros bypass the ODS renderer, thus, inline styling directiv"
+ "es indicated by \\S will <U>not</U> be ODS rendered. </P> <PRE> </DIV> <DIV STYLE='margin-left:0.5in"
+ ";border:thin black solid;padding:8pt'> <P> So, make your titles as long as you want. The more the in"
+ "formation the better. The same goes for the footnotes. There is pratically no limit to how long the "
+ "titles and footnotes can be. Actually, they should not be more than 65536 characters long. </P> <P>Y"
+ "ou may reuse a title number within a given block of code that writes to an HTML file. What this mea"
+ "ns is that jsTitle() and jsFootnote() keep track of how many times they have been called since jsTit"
+ "leFootnoteReset() and keep same numbered titles and footnotes in separate javascript functions. </P>"
+ " <P>Very long titles and footnotes in HTML enables you to:</P> <UL STYLE='margin-left:20pt'> <LI>Use"
+ " CSS/DHTML for impressive or exotic content visualization and navigation. </LI> <LI>Embed Javascript"
+ " for client side menuing. Rather than use static menus, your SAS program(s) can produce HTML with c"
+ "ontext sensitive menuing information. Examples of this are not provided.</LI> <LI>Embed Java Applets"
+ ", ActiveX components or Shockwave objects that require many parameters to be passed to them. The mor"
+ "e adventurous might try to embed SAS/Internet controls, etc...</LI> <LI>Embed XML for content presen"
+ "tation</LI> <LI>Embed any other various ML such as MathML or MusicML.</LI> </UL> </DIV> <P style='ba"
+ "ckground-color:white'>Thus ends TITLE 1.</P> "
);
}
function footnote2 () {
document.write (
"This is footnote 2 output by macro jsFootnote(), jsTitleAndFootnote defaults to left-alignment"
);
}
function footnote3 () {
document.write (
"<P ALIGN=CENTER>Centered</P>"
);
}
function footnote4 () {
document.write (
" <P ALIGN=RIGHT STYLE='font:normal bold 16pt monospace;color:white;background-color:blue'> This is a"
+ "ll in a P tag<BR> Right alignment from the ALIGNMENT attribute<BR> color and font from the STYLE att"
+ "ribute</P>"
);
}
function footnote5 () {
document.write (
"<P ALIGN=LEFT>Left</P>"
);
}
function title1use2 () {
document.write (
"Javascript Title 1"
);
}
function title1use3 () {
document.write (
"Another Javascript Title 1"
);
}
function title1use4 () {
document.write (
"A test of all titles"
);
}
function title2 () {
document.write (
"Two"
);
}
function title3 () {
document.write (
"Three"
);
}
function title4 () {
document.write (
"Four"
);
}
function title5 () {
document.write (
"Five"
);
}
function title6 () {
document.write (
"6"
);
}
function title7 () {
document.write (
"7"
);
}
function title8 () {
document.write (
"8"
);
}
function title9 () {
document.write (
"9"
);
}
function title10 () {
document.write (
"10"
);
}
function footnote1 () {
document.write (
"A test of all footnotes"
);
}
function footnote2use2 () {
document.write (
"2"
);
}
function footnote3use2 () {
document.write (
"3"
);
}
function footnote4use2 () {
document.write (
"4"
);
}
function footnote5use2 () {
document.write (
"5"
);
}
function footnote6 () {
document.write (
"6"
);
}
function footnote7 () {
document.write (
"7"
);
}
function footnote8 () {
document.write (
"8"
);
}
function footnote9 () {
document.write (
"9"
);
}
function footnote10 () {
document.write (
"10"
);
}
function title1use5 () {
document.write (
" <P ALIGN=LEFT STYLE='margin-top:12pt;font:normal bold 12pt monospace'> This page was generated by S"
+ "AS program <A HREF='index.php?m=jsTitleAndFootnote'>jsTitleAndFootnote-sample.sas</A><BR> Richard A. DeVenezia<BR> ht"
+ "tp://www.devenezia.com</P> "
);
}
function footnote1use2 () {
document.write (
" <P ALIGN=LEFT STYLE='margin-top:12pt;font:normal bold 12pt monospace'> This page was generated by S"
+ "AS program <A HREF='index.php?m=jsTitleAndFootnote'>jsTitleAndFootnote-sample.sas</A><BR> Richard A. DeVenezia<BR> ht"
+ "tp://www.devenezia.com</P> "
);
}