version 1.1, 2001/05/21 03:35:46
|
version 1.6, 2002/10/21 17:10:35
|
Line 20
|
Line 20
|
<h3>Global Variables</h3> |
<h3>Global Variables</h3> |
<ul> |
<ul> |
<li> |
<li> |
<i>Apache::lonxml::debug</i> - |
<i>$Apache::lonxml::debug</i> - debugging control |
</li> |
</li> |
<li> |
<li> |
<i>Apache::lonxml::pwd</i> - |
<i>@Apache::lonxml::pwd</i> - path to the directory containing |
|
the file currently being processed |
</li> |
</li> |
<li> |
<li> |
<i>Apache::lonxml::outputstack</i> - |
<i>@Apache::lonxml::outputstack</i> <br /> |
|
<i>$Apache::lonxml::redirection</i> - these two are used for |
|
capturing a subset of the output for later processing, don't |
|
touch them directly use &startredirection and &endredirection |
</li> |
</li> |
<li> |
<li> |
<i>Apache::lonxml::redirection</i> - |
<i>$Apache::lonxml::import</i> - controls whether the |
|
<import> tag actually does anything |
</li> |
</li> |
<li> |
<li> |
<i>Apache::lonxml::import</i> - |
<i>@Apache::lonxml::extlinks</i> - a list of URLs that the |
|
user is allowed to look at because of the current resource |
|
(images, and links) |
</li> |
</li> |
<li> |
<li> |
<i>Apache::lonxml::extlinks</i> - |
<i>$Apache::lonxml::metamode</i> - some output is turned off, |
|
the meta target wants a specific subset, use <output> to |
|
guarentee that the catianed data will be in the parsing output |
</li> |
</li> |
<li> |
<li> |
<i>Apache::lonxml::metamode</i> - |
<i>$Apache::lonxml::evaluate</i> - controls whether |
|
run::evaluate actually derefences variable references |
</li> |
</li> |
<li> |
<li> |
<i>Apache::lonxml::evaluate</i> - |
<i>%Apache::lonxml::insertlist</i> - data structure for edit |
|
mode, determines what tags can go into what other tags |
</li> |
</li> |
<li> |
<li> |
<i>Apache::lonxml::insertlist</i> - |
<i>@Apache::lonxml::namespace</i> - stores the list of tag |
|
namespaces used in the insertlist.tab file that are currently |
|
active, used only in edit mode. |
</li> |
</li> |
<li> |
<li> |
<i>Apache::lonxml::namespace</i> - |
<i>$Apache::lonxml::registered</i> - set to 1 once the remote |
|
has been updated to know what resource we are looking at. |
</li> |
</li> |
<li> |
<li> |
<i>Apache::lonxml::</i> - |
<i>$Apache::lonxml::request</i> - current Apache request |
|
object, or undef |
|
</li> |
|
<li> |
|
<i>$Apache::lonxml::curdepth</i> - current depth of the |
|
overall parse depth. Will be a string like: 2_3_1 (first tag |
|
in the third second level tag in the second toplevel tag). It |
|
gets set by callsub, and can be used in Perl tag |
|
implementations. It relies upon the internal globals: |
|
<i>@Apache::lonxml::depthcounter</i>, |
|
<i>$Apache::lonxml::depth</i>, |
|
<i>$Apache::lonxml::olddepth</i> |
|
</li> |
|
<li> |
|
<i>$Apache::lonxml::prevent_entity_encode</i> - By default the |
|
xmlparser will try to rencode any 8-bit characters into HTML |
|
Entity Codes, If this is set to a true value it will be |
|
prevented. |
|
</li> |
|
<li> |
|
<i>$Apache::lonxml::errorcount</i> - keeps count of the number |
|
of errors generated in a parse |
|
</li> |
|
<li> |
|
<i>$Apache::lonxml::warningcount</i> - keeps count of the |
|
number of errors generated in a parse |
|
</li> |
|
<li> |
|
<i>$Apache::lonxml::counter</i> <br /> |
|
<i>$Apache::lonxml::counter_changed</i> - a counter used to |
|
keep track of the number of questions asked, used currently to |
|
track bubble numbers, Initialized off of $ENV{'form.counter'}, |
|
and writes this value to the environment if counter_changed is |
|
true, should use the &increment_counter() function to |
|
increment this value. |
</li> |
</li> |
</ul> |
</ul> |
|
|
|
<p> |
|
In common usage, <i>$Apache::lonxml::prevent_entity_encode</i>, |
|
<i>$Apache::lonxml::evaluate</i>, |
|
<i>$Apache::lonxml::metamode</i>, |
|
<i>$Apache::lonxml::import</i>, should never be set to a value |
|
directly, but rather incremented when you want the effect on, |
|
and decremented when you want the effect off. |
|
</p> |
|
|
<h3>Notable Perl subroutines</h3> |
<h3>Notable Perl subroutines</h3> |
<p> |
<p> |
If not specified these functions are in Apache::lonxml |
If not specified these functions are in Apache::lonxml |
</p> |
</p> |
<ul> |
<ul> |
<li> |
<li> |
<i>xmlparse</i> - see the XMLPARSE figure |
<i>xmlparse</i> - see the XMLPARSE figure - also not callable |
|
from inside a tag, if one needs to restart parsing, either |
|
create add a new LCParser to the parser stack parser using the |
|
newparser function, or call inner_xmlparser, see the xmlparse |
|
function in scripttag.pm |
</li> |
</li> |
<li> |
<li> |
<i>recurse</i> - acts just like <i>xmlparse</i>, except it |
<i>recurse</i> - acts just like <i>xmlparse</i>, except it |
Line 85
|
Line 146
|
%Apache::lonxml::insertlist structure of what tags can have |
%Apache::lonxml::insertlist structure of what tags can have |
what other tags inside. |
what other tags inside. |
</li> |
</li> |
|
<li> |
|
<i>whichuser</i> - returns a list of $symb, $courseid, |
|
$domain, $name that is correct for calls to lonnet functions |
|
for this setup. Uses form.grade_ parameters, if the user is |
|
allowed to mgr in the course |
|
</li> |
|
<li> |
|
<i>setup_globals</i> - initializes all lonxml globals when |
|
xmlparse is called. If you intend to create a new target you |
|
will likely need to tweak how the globals are setup upon start |
|
up. |
|
</li> |
|
<li> |
|
<i>init_safespace</i> - creates Holes to external functions, |
|
creates some global variables, and set the permitted operators |
|
of the global Safespace intepreter. |
|
</li> |
</ul> |
</ul> |
<h3>Functions Tag Handlers can use</h3> |
<h3>Functions Tag Handlers can use</h3> |
<p> |
<p> |
Line 117
|
Line 195
|
Apache::scripttag::start_script for an example of usage.) |
Apache::scripttag::start_script for an example of usage.) |
</li> |
</li> |
<li> |
<li> |
<i>get_param</i> - 4 arguments, firsth is a scaler sting of |
<i>get_param</i> - 4 arguments, first is a scaler sting of |
the argument needed, second is a reference to the parser |
the argument needed, second is a reference to the parser |
arguments stack, third is a reference to the Safe space, and |
arguments stack, third is a reference to the Safe space, and |
fourth is an optional "context" value. This subroutine allows |
fourth is an optional "context" value. This subroutine allows |
a tag to get a tag argument, after being interpolated inside |
a tag to get a tag argument, after being interpolated inside |
the Safe space. This should be used if the tag might use a |
the Safe space. This should be used if the tag might use a |
safe space variable reference for the tag argument. (See |
safe space variable reference for the tag argument. (See |
Apaceh::scripttag::start_script for an example.) |
Apache::scripttag::start_script for an example.) |
|
|
|
This version only handles scalar variables. |
|
</li> |
|
<li> |
|
<i>get_param_var</i> - 4 arguments, first is a scaler sting of |
|
the argument needed, second is a reference to the parser |
|
arguments stack, third is a reference to the Safe space, and |
|
fourth is an optional "context" value. This subroutine allows |
|
a tag to get a tag argument, after being interpolated inside |
|
the Safe space. This should be used if the tag might use a |
|
safe space variable reference for the tag argument. (See |
|
Apache::scripttag::start_script for an example.) |
|
|
|
This version can handle list or hash variables properly. |
|
</li> |
|
<li> |
|
<i>description</i> - 1 argument, the token object. This will |
|
return the textual decription of the current tag from the |
|
insertlist.tab file. |
|
</li> |
|
<li> |
|
<i>whichuser</i> - 0 arguments. This will take a look at the |
|
current environment setting and return the current $symb, |
|
$courseid, $udom, $uname. You should always use this function |
|
if you want to determine who the current user is. (Since a |
|
instructor might be trying to view a students version of a |
|
resource.) |
|
</li> |
|
<li> |
|
<i>inner_xmlparse</i> - 6 arguments, the target, an array |
|
pointer to the current stack of tags, and array pointer to the |
|
current stack of tag arguments, an array pointer to the |
|
current stack of LCParser's, a pointer to the current Safe |
|
space, a pointer to the hash of current style definitions |
</li> |
</li> |
<li> |
<li> |
<i>newparser</i> - 3 args, first is a reference to the parser |
<i>newparser</i> - 3 args, first is a reference to the parser |
Line 145 sub BEGIN {
|
Line 257 sub BEGIN {
|
} |
} |
</pre> |
</pre> |
Would tell xmlparse that in Apache::scripttag it can find |
Would tell xmlparse that in Apache::scripttag it can find |
handlers for <script> and <display> |
handlers for <script> and <display>, if one |
|
regsiters a tag that was already registered the previous one |
|
is remembered and will be restored on a deregister. |
|
</li> |
|
<li> |
|
<i>deregister</i> - used to remove a previously registered tag |
|
implementation. It will restore the previous registration if |
|
there was one. |
</li> |
</li> |
<li> |
<li> |
<i>startredirection</i> - used when a tag wants to save a |
<i>startredirection</i> - used when a tag wants to save a |
Line 164 sub BEGIN {
|
Line 283 sub BEGIN {
|
a reference to the Safe space, 3 a string to be evaluated |
a reference to the Safe space, 3 a string to be evaluated |
before the first arg. This subroutine will do variable |
before the first arg. This subroutine will do variable |
interpolation and simple function interpolations on the first |
interpolation and simple function interpolations on the first |
argument. (See Apache::lonxml::xmlparse for an example.) |
argument. (See Apache::lonxml::inner_xmlparse for an example.) |
</li> |
</li> |
<li> |
<li> |
<i>Apache::run::run</i> - 2 args, first a string, second a |
<i>Apache::run::run</i> - 2 args, first a string, second a |
Line 178 sub BEGIN {
|
Line 297 sub BEGIN {
|
<h3>Style File specific tags</h3> |
<h3>Style File specific tags</h3> |
<ul> |
<ul> |
<li> |
<li> |
<b><definetag></b> - |
<b><definetag></b> - 2 arguments, <i>name</i> name of |
|
new tag being defined, if proceeded with a / defining an end |
|
tag, required; <i>parms</i> parameters of the new tag, the |
|
value of these parameters can be accesed by $parametername. |
</li> |
</li> |
<li> |
<li> |
<b><render></b> - |
<b><render></b> - define what the new tag does for a non meta target |
</li> |
</li> |
<li> |
<li> |
<b><meta></b> - |
<b><meta></b> - define what the new tag does for a meta target |
</li> |
</li> |
<li> |
<li> |
<b><tex> / <web> / <latexsource></b> - |
<b><tex> / <web> / <latexsource></b> - |
|
define what a new tag does for a specific no meta target, all |
|
data inside a <render> is render to all targets except |
|
when surrounded by a specific target tags. |
</li> |
</li> |
</ul> |
</ul> |
|
|
<hr> |
<hr> |
<address><a href="mailto:albertel@marvin.lite.msu.edu">Guy Albertelli</a></address> |
<address><a href="mailto:albertel@marvin.lite.msu.edu">Guy Albertelli</a></address> |
<!-- Created: Sun May 20 15:47:08 EDT 2001 --> |
<!-- Created: Sun May 20 15:47:08 EDT 2001 --> |
<!-- hhmts start --> |
<!-- hhmts start --> |
Last modified: Sun May 20 23:34:57 EDT 2001 |
Last modified: Mon Oct 21 13:23:28 EDT 2002 |
<!-- hhmts end --> |
<!-- hhmts end --> |
</body> |
</body> |
</html> |
</html> |