.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "WML_FAQ 7" .TH WML_FAQ 7 "2021-05-25" "EN Tools" "EN Tools" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" WML FAQ \- Frequently Asked Questions on WML .SH "DESCRIPTION" .IX Header "DESCRIPTION" This is the Frequently Asked Question (\s-1FAQ\s0) list with answers on \s-1WML.\s0 It is divided into question/answer parts, each answering one particular topic. .SS "General questions:" .IX Subsection "General questions:" .IP "\fBG01:\fR What is \s-1WML\s0?" 5 .IX Item "G01: What is WML?" .PD 0 .IP "\fBG02:\fR \s-1WML\s0 is distributed as free software, does this mean I also can use it free of charge?" 5 .IX Item "G02: WML is distributed as free software, does this mean I also can use it free of charge?" .IP "\fBG03:\fR Why is \s-1WML\s0 a toolkit of disjunct programs instead of one big integrated program?" 5 .IX Item "G03: Why is WML a toolkit of disjunct programs instead of one big integrated program?" .IP "\fBG04:\fR Which tools are included in the \s-1WML\s0 distribution?" 5 .IX Item "G04: Which tools are included in the WML distribution?" .IP "\fBG05:\fR \s-1WML\s0 is as powerful as it can, but are there even any restrictions?" 5 .IX Item "G05: WML is as powerful as it can, but are there even any restrictions?" .IP "\fBG06:\fR Where do I find documentation?" 5 .IX Item "G06: Where do I find documentation?" .IP "\fBG07:\fR Is there any official support for \s-1WML\s0?" 5 .IX Item "G07: Is there any official support for WML?" .IP "\fBG08:\fR How I can I send a bug report to the author?" 5 .IX Item "G08: How I can I send a bug report to the author?" .IP "\fBG09:\fR I really want to use \s-1WML\s0 for textprocessing because it's such powerful, isn't it?" 5 .IX Item "G09: I really want to use WML for textprocessing because it's such powerful, isn't it?" .PD .SS "Questions about passes:" .IX Subsection "Questions about passes:" .IP "\fBP01:\fR How can I avoid conflicts with a particular \s-1WML\s0 pass?" 5 .IX Item "P01: How can I avoid conflicts with a particular WML pass?" .PD 0 .IP "\fBP02:\fR How can I avoid conflicts with a particular \s-1WML\s0 pass for only some areas of the input file?" 5 .IX Item "P02: How can I avoid conflicts with a particular WML pass for only some areas of the input file?" .IP "\fBP03:\fR Is there a way to change pass order?" 5 .IX Item "P03: Is there a way to change pass order?" .IP "\fBP04:\fR Why shall I not change original pass order?" 5 .IX Item "P04: Why shall I not change original pass order?" .PD .SS "Questions about include files:" .IX Subsection "Questions about include files:" .IP "\fBI01:\fR How can I install or activate my own include files?" 5 .IX Item "I01: How can I install or activate my own include files?" .PD 0 .IP "\fBI02:\fR How can I overwrite the knowledge of the info-tag from wml::std:info?" 5 .IX Item "I02: How can I overwrite the knowledge of the info-tag from wml::std:info?" .IP "\fBI03:\fR How can I combine the gfont\- with the href-tag?" 5 .IX Item "I03: How can I combine the gfont- with the href-tag?" .IP "\fBI04:\fR How can I combine the gfont\- with the rollover-tag?" 5 .IX Item "I04: How can I combine the gfont- with the rollover-tag?" .PD .SS "Error messages:" .IX Subsection "Error messages:" .ie n .IP "\fBE01:\fR Cannot load ""/tmp/wml..."" for unprotection" 5 .el .IP "\fBE01:\fR Cannot load \f(CW/tmp/wml...\fR for unprotection" 5 .IX Item "E01: Cannot load /tmp/wml... for unprotection" .PD 0 .IP "\fBE02:\fR ePerl:Error: Perl runtime error" 5 .IX Item "E02: ePerl:Error: Perl runtime error" .PD .SS "\s-1GENERAL QUESTIONS\s0" .IX Subsection "GENERAL QUESTIONS" .IP "\fBG01: What is \s-1WML\s0?\fR" 5 .IX Item "G01: What is WML?" \&\s-1WML\s0 is a free and extensible Webdesigner's off-line \s-1HTML\s0 generation toolkit for Unix, distributed under the \s-1GNU\s0 General Public License (\s-1GPL\s0 v2). .Sp \&\s-1WML\s0 consists of a control frontend driving up to nine backends in a sequential pass-oriented filtering scheme. Each backend provides one particular core language. For maximum power \s-1WML\s0 additionally ships with a well-suited set of include files which provide higher-level features build on top of the backends core languages. While not trivial and idiot proof \s-1WML\s0 provides most of the core features real hackers always wanted for \s-1HTML\s0 generation. .IP "\fBG02: \s-1WML\s0 is distributed as free software, does this mean I also can use it free of charge?\fR" 5 .IX Item "G02: WML is distributed as free software, does this mean I also can use it free of charge?" Yes, \s-1WML\s0 can be distributed free of charge and used free of charge without any exceptions. You can even use \s-1WML\s0 to generate a commercial website, no problem. But please give credit to the author where credit is due. Either by using \&\fBwml::std::info\fR\|(3) which includes a \s-1WML\s0 identifier or by explicitly saying somewhere on the generated website that you used \s-1WML.\s0 This just would be fair. .IP "\fBG03: Why is \s-1WML\s0 a toolkit of disjunct programs instead of one big integrated program?\fR" 5 .IX Item "G03: Why is WML a toolkit of disjunct programs instead of one big integrated program?" The first reason is because \s-1WML\s0 was born out of the need to generate a huge webarea in spring 1997 (http://www.engelschall.com/sw/) and an appropriate tool had to be found in finite time. So the author decided to use maximum software leverage and just compiled a toolkit of existing programs and only programmed the missing stuff itself. .Sp After this approach showed that \s-1WML\s0 is flexible and powerful enough as the solution to generate huge webareas, the author started to compactify it and stripped the toolkit to its essential parts. But it is still a toolkit, even when you have only one frontend to control the parts. .IP "\fBG04: Which tools are included in the \s-1WML\s0 distribution?\fR" 5 .IX Item "G04: Which tools are included in the WML distribution?" Well, you certainly know \f(CW\*(C`wml\*(C'\fR, the front-end for \s-1WML.\s0 But there are other cool front-ends for the most useful tasks: .RS 5 .ie n .IP """wmk"" \- Website \s-1META\s0 Language Make" 4 .el .IP "\f(CWwmk\fR \- Website \s-1META\s0 Language Make" 4 .IX Item "wmk - Website META Language Make" Build your web pages without writing Makefiles. .ie n .IP """wmd"" \- Website \s-1META\s0 Language Documentation Browser" 4 .el .IP "\f(CWwmd\fR \- Website \s-1META\s0 Language Documentation Browser" 4 .IX Item "wmd - Website META Language Documentation Browser" This is your visa for all the documentation you want. .ie n .IP """wmb"" \- Website \s-1META\s0 Language Bug Reporting Tool" 4 .el .IP "\f(CWwmb\fR \- Website \s-1META\s0 Language Bug Reporting Tool" 4 .IX Item "wmb - Website META Language Bug Reporting Tool" The preferred way to report a bug, this tool will send a mail to the maintainer with your problem and the characteristics of your installation. .ie n .IP """wmu"" \- Website \s-1META\s0 Language Upgrade Utility" 4 .el .IP "\f(CWwmu\fR \- Website \s-1META\s0 Language Upgrade Utility" 4 .IX Item "wmu - Website META Language Upgrade Utility" Upgrade and build new versions of \s-1WML\s0 like a charm, with the same options as those of your current installation. .RE .RS 5 .RE .IP "\fBG05: \s-1WML\s0 is as powerful as it can, but are there even any restrictions?\fR" 5 .IX Item "G05: WML is as powerful as it can, but are there even any restrictions?" Sure, \s-1WML\s0 has some restrictions which cannot be eliminated easily. .RS 5 .IP "o" 2 .IX Item "o" there is no real debugging mode which makes tracing back of problems very hard, especially for the ePerl pass. Currently the best way to debug is to use the \fB\-p\fR option with args `\f(CW1\fR', then `\f(CW12\fR' then `\f(CW123\fR' etc. and comparing the result in each step. .IP "o" 2 .IX Item "o" the \s-1WML\s0 language is very complex because of the 9 independent languages which are used intermixed. Because of this \s-1WML\s0 is not easy to understand and use for the average webdesigner. .RE .RS 5 .RE .IP "\fBG06: Where do I find documentation?\fR" 5 .IX Item "G06: Where do I find documentation?" .RS 5 .PD 0 .IP "o" 2 .IX Item "o" .PD Invoke the Documentation Browser by typing \fIwmd\fR and navigate through the installed documentation. .IP "o" 2 .IX Item "o" The \s-1WML\s0 Online documentation is located at .Sp .Vb 1 \& http://www.engelschall.com/sw/wml/docs .Ve .Sp The webpages are the same as the ones viewed with \fIwmd\fR. .RE .RS 5 .RE .IP "\fBG07: Is there any official support for \s-1WML\s0?\fR" 5 .IX Item "G07: Is there any official support for WML?" Yes, there is. First there is an official support mailing list for \s-1WML\s0 users: .Sp .Vb 1 \& sw\-wml@engelschall.com .Ve .Sp Here you can reach the \s-1WML\s0 author Ralf S. Engelschall, the current maintainer Denis Barbier, and the other people who use \s-1WML\s0 and which can help you in case of problems. Use this forum to spread your WML-related ideas and suggestion, too. Feel free to ask anything WML-related you want. .Sp To subscribe to this Majordomo-controlled mailing list, just send an E\-mail to majordomo@engelschall.com with only .Sp .Vb 1 \& subscribe sw\-wml you@domain.dom .Ve .Sp in the \fIbody\fR (leave the subject empty). After sending this, Majordomo will respond with an authentication challenge which has to send back again for security reasons (to avoid that others subscribe you without your ok). Now you are successfully subscribed to this list. .Sp Second you can directly contact Ralf S. Engelschall or Denis Barbier via E\-mail in case of very important problems. .IP "\fBG08: How can I send a bug report to the author?\fR" 5 .IX Item "G08: How can I send a bug report to the author?" You have four options: .RS 5 .IP "Bug Reporting Tool WMb" 4 .IX Item "Bug Reporting Tool WMb" This is the recommended way because it automatically includes all parameters of your \s-1WML\s0 installation in the bug report which (most of the time) is essentially for the author to be able to successfully solve your problem. Just run the \fIwmb\fR program and enter your problem description. But make sure you have at least a workable E\-mail link to the Internet, because WMb wants to send the bug report via E\-mail to rse@engelschall.com. .IP "Bug Reporting Webpage" 4 .IX Item "Bug Reporting Webpage" This is the general bug report webpage on .Sp .Vb 1 \& http://www.engelschall.com/sw/bugreport/ .Ve .Sp for all programs from Ralf S. Engelschall. Please include your `wml \-V3' output, too. .IP "Mailing List" 4 .IX Item "Mailing List" This is the official support mailing list for \s-1WML\s0 which can be contacted via .Sp .Vb 1 \& sw\-wml@engelschall.com .Ve .IP "Direct Contact" 4 .IX Item "Direct Contact" This is the last chance, if all others failed. Just send your problem directly to the maintainer via barbier@engelschall.com .RE .RS 5 .RE .IP "\fBG09: I really want to use \s-1WML\s0 for textprocessing because it's such powerful, isn't it?\fR" 5 .IX Item "G09: I really want to use WML for textprocessing because it's such powerful, isn't it?" Yes, \s-1WML\s0 is, but only for \s-1HTML\s0 generation. .Sp Although \s-1WML\s0 provides a lot of hot features (like Slicing or Diversion) one often also wants for textprocessing, \s-1WML\s0 is not a general textprocessing language. \s-1WML\s0 is HTML-dependend at a lot of edges and it lacks features which a text-processor really needs (like paragraph formatting, footnote support, etc). And even if you really decide to use \s-1WML\s0 for writing other stuff than \&\s-1HTML,\s0 you should be as crazy as you have time. Because \s-1WML\s0 is slow compared with any general textprocessing tool like TeX or even SGML-Tools. For its target format \s-1HTML\s0 this was and is never a problem, because the largest Webpage is never greater then approximately 10\-100 \s-1KB.\s0 But for real textprocessing this size is peanuts. .Sp So, please don't think about using \s-1WML\s0 for text-processing, even if one of your primary target formats is \s-1HTML.\s0 Instead use a language like LaTeX2HTML, \&\s-1SDF\s0 or SGML-Tools to create the \s-1HTML\s0 format and \fIonly post-process\fR this via \&\s-1WML.\s0 In other words: Use \s-1WML\s0 only for the dirty work of including the generated \s-1HTML\s0 stuff into your webpages. But don't think any longer about using \s-1WML\s0 as a text-processor. .SS "\s-1QUESTIONS ABOUT PASSES\s0" .IX Subsection "QUESTIONS ABOUT PASSES" .IP "\fBP01: How can I avoid conflicts with a particular \s-1WML\s0 pass?\fR" 5 .IX Item "P01: How can I avoid conflicts with a particular WML pass?" When you are sure you don't need this particular pass, you can use \s-1WML\s0 option \&\fB\-p\fR and just leave out the number of the pass. .IP "\fBP02: How can I avoid conflicts with a particular \s-1WML\s0 pass for only some areas of the input file?\fR" 5 .IX Item "P02: How can I avoid conflicts with a particular WML pass for only some areas of the input file?" Use the internal \f(CW\*(C`\*(C'\fR container tag which entirely protects its body from evaluation by any pass. To protect the body from evaluation by a particular pass only, you can use \f(CW\*(C`\*(C'\fR. .IP "\fBP03: Is there a way to change pass order?\fR" 5 .IX Item "P03: Is there a way to change pass order?" Yes, since \s-1WML 1.7.3,\s0 you may change it with the \fB\-p\fR flag. But you are warned this should be used by \s-1WML\s0 gurus only and for very particular reasons. For some internal reasons, processing will always stop after pass 9, even if you specify additional passes. This is a feature and is not subject to change on future releases. .IP "\fBP04: Why shall I not change original pass order?\fR" 5 .IX Item "P04: Why shall I not change original pass order?" \&\s-1WML\s0 has been designed to use passes in numerical order. This feature has a strong influence on how \s-1WML\s0 include files are written and there is no warranty these include files will still work when changing pass order. .SS "\s-1QUESTIONS ABOUT INCLUDE FILES\s0" .IX Subsection "QUESTIONS ABOUT INCLUDE FILES" .IP "\fBI01: How can I install or activate my own include files?\fR" 5 .IX Item "I01: How can I install or activate my own include files?" There are many ways, but the most elegant and useful way is the following: First create a directory named \fI\f(CI$HOME\fI/.wml/\fR and then a directory named \fI\f(CI$HOME\fI/.wml/home/\fR via .Sp .Vb 3 \& $ cd $HOME \& $ mkdir .wml \& $ mkdir .wml/home .Ve .Sp Then create a \fI\f(CI$HOME\fI/.wmlrc\fR file with at least the following contents: .Sp .Vb 2 \& \-I .wml \& \-D HOME~. .Ve .Sp Now just install your private include file \fIfoo.tmpl\fR as \&\fI\f(CI$HOME\fI/.wml/home/foo.tmpl\fR and you are automatically be able to use it via .Sp .Vb 1 \& #use tmpl::home::foo .Ve .Sp from within any \s-1WML\s0 source. .IP "\fBI02: How can I overwrite the knowledge of the info-tag from wml::std:info?\fR" 5 .IX Item "I02: How can I overwrite the knowledge of the info-tag from wml::std:info?" Because the \f(CW\*(C`\*(C'\fR tag constructs its information out of \&\f(CW\*(C`WML_GEN_XXXX\*(C'\fR variables which theirself can be overwritten by the \fB\-D\fR option, you can just do this in your \fI\f(CI$HOME\fI/.wmlrc\fR file. For instance the authors \fI\f(CI$HOME\fI/.wmlrc\fR file contains the following three lines: .Sp .Vb 3 \& \-D WML_GEN_REALNAME="Ralf S. Engelschall" \& \-D WML_GEN_USERNAME=rse \& \-D WML_GEN_HOSTNAME=engelschall.com .Ve .Sp The most important one here is \f(CW\*(C`WML_SRC_HOSTNAME\*(C'\fR for the construction of the email address. Because \s-1WML\s0 cannot know the email domainname we really have to help it here. .IP "\fBI03: How can I combine the gfont\- with the href-tag?\fR" 5 .IX Item "I03: How can I combine the gfont- with the href-tag?" Just put the \f(CW\*(C`\*(C'\fR tag directly into the \f(CW\*(C`name\*(C'\fR attribute of \f(CW\*(C`\*(C'\fR: .Sp .Vb 2 \& .Ve .IP "\fBI04: How can I combine the gfont\- with the rollover-tag?\fR" 5 .IX Item "I04: How can I combine the gfont- with the rollover-tag?" Use \f(CW\*(C`\*(C'\fR's \f(CW\*(C`notag\*(C'\fR in combination with its \f(CW\*(C`file\*(C'\fR attribute as follows: .Sp .Vb 3 \& Text \& Text \& .Ve .SS "\s-1ERROR MESSAGES\s0" .IX Subsection "ERROR MESSAGES" .ie n .IP "\fBE01: Cannot load \f(CB""/tmp/wml...""\fB for unprotection\fR" 5 .el .IP "\fBE01: Cannot load \f(CB/tmp/wml...\fB for unprotection\fR" 5 .IX Item "E01: Cannot load /tmp/wml... for unprotection" One pass did not produce any output. This message certainly indicates a \s-1WML\s0's bug, and so should be reported. .IP "\fBE02: ePerl:Error: Perl runtime error\fR" 5 .IX Item "E02: ePerl:Error: Perl runtime error" An error occurred during pass 3 (\f(CW\*(C`eperl\*(C'\fR). The contents of the standard error channel is printed and may contain useful information for debugging. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBwml_intro\fR\|(7), \&\fBwml_tutorial\fR\|(7), \&\fBwml_tags\fR\|(7), \&\fBwml\fR\|(1), \&\fBwml::all\fR\|(3).