EVOLUTION-MANAGER
Edit File: xml2tex.Sxml
<?xml version="1.0"?> <!DOCTYPE SSource SYSTEM "/home/duncan/Projects/org/omegahat/XML/RS/examples/SSource.dtd" [ <!ENTITY lt "<" > <!-- Temporarily use _ rather thant <- as it screws things up. --> <!ENTITY sgets "<-" > <!ENTITY Latex "LaTex" > ]> <!-- We can define sgets here and avoid validation forced by reading the DTD to get these entities. [ <!ENTITY sgets "<-"> ]> --> <SSource> <overview> The functions in this file are an initial attempt to define some filters for an XML document to produce &Latex; output by translating the contents of the XML document. Note that using XSL is slightly problematic because the result needs to be a valid XML document, which no &Latex; document ever is. </overview> <function lang="S"> <sname>xml2tex</sname> <def> function(node, mappings=.XMLTexMappings) { n &sgets; 10 x &sgets; <fragmentRef id="frag1" /> print(x+10) x } </def> </function> <expression> cat("Got to here\n") </expression> <?R cat("A processing instruction\n") ?> <function> <sname>xml2texUnderline</sname> <def> function(node, tex) { } </def> </function> <function> <def> xml2texCode &sgets; function(node, tex) { } </def> </function> <function lang="SPlus"> <sname>xxx</sname> <def> <![CDATA[ x &sgets; 1 ]]> </def> </function> <fragment id="frag1"> seq(1,n) <fragmentRef id="frag2" /> </fragment> <fragment id="frag2"> + 10 </fragment> <Sexpression> xml2tex.map &sgets; list("i"="textit", "b"="textbf", "sfunction"="SFunction", "item"="item", "label"=c("[", "]"), "cite"=function(x) { paste("\cite{", xmlAttrs(x)["id"], "}", collapse="")}, "bibitem"="", "bibliography"="" ) </Sexpression> <function> <sname>mapXML2TeX</sname> <def> function(node, attr) { name &sgets; xmlName(node) el &sgets; xml2tex.map[[name]] if(!is.null(el)) { if(mode(el) == "character") { } else if(mode(el) == "function") { el(node) } } } </def> </function> </SSource>