英语法语西班牙语

Ad


OnWorks 网站图标

html2wml - 云端在线

在 OnWorks 免费托管服务提供商中通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器运行 html2wml

这是 html2wml 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


Html2Wml -- 可以将 HTML 页面转换为 WML 页面的程序

概要


Html2Wml 可以用作 shell 命令:

$ html2wml 文件.html

或作为 CGI:

/cgi-bin/html2wml.cgi?url=/index.html

在这两种情况下,文件都可以是本地文件或 URL。

商品描述


Html2Wml 将 HTML 页面转换为 WML 格式,适合在 Wap 设备上查看。 这
程序可以从 shell 启动以静态转换一组页面,或作为 CGI 转换为
转换特定的(可能是动态的)HTML 资源。

虽然不保证结果是有效的 WML,但大多数情况应该是这样
页。 好的 HTML 页面很可能会生成有效的 WML 套牌。 检查和纠正
您的网页,您可以使用 W3C 的软件: HTML 验证器,可在网上查阅
http://validator.w3.orgHTML 整洁,由戴夫·拉格特 (Dave Raggett) 撰写。

Html2Wml 提供以下功能:

· 链接翻译

· 通过将结果分成几张卡片来限制卡片大小

· 包含文件(类似于 SSI)

· 结果的编译(使用 WML 工具,请参阅“链接”部分)

· 使用验证函数检查结果的调试模式

配置


请注意,当将 Html2Wml 作为 CGI 调用时,大多数这些选项也可用。
在这种情况下,布尔选项被赋予值“1”或“0”,而其他选项只是
获得他们期望的价值。 例如,`--ascii' 变成了`?ascii=1' 或`?a=1'。 看
文件 t/form.html 有关如何将 Html2Wml 作为 CGI 调用的示例。

转化 附加选项

-a, --ascii
启用此选项后,命名的 HTML 实体和非 ASCII 字符将转换为
US-ASCII 字符使用与 Lynx 相同的 7 位近似值。 例如,`©'
被翻译成“(c)”,“ß”被翻译成“ss”。 此选项已关闭
默认。

--[没有]崩溃
此选项告诉 Html2Wml 折叠多余的空格、制表、回车
返回、换行和空段落。 目的是减少 WML 的大小
尽可能多的文档。 折叠空段落对于两个人来说是必要的
原因。 首先,这避免了空屏幕(并且在只有 4 行
显示,一个空白的屏幕可能会很烦人)。 二、Html2wml 创建了很多空
由于语法重建器的编程方式,转换时的段落。
删除这些空段落是必要的,就像打扫厨房一样:-)

如果这真的困扰您,您可以使用 --nocollapse
选项。

--忽略图像
此选项告诉 Html2Wml 完全忽略所有图像链接。

--[否]img-alt-text
此选项告诉 Html2Wml 用相应的图像标签替换图像标签
替代文本(与文本模式 Web 浏览器一样)。 该选项默认开启。

--[no] 线性化
该选项默认开启。 这使得 Html2Wml 扁平化 HTML 表格(它们是
线性化),就像 Lynx 一样。 我认为这比尝试使用本机 WML 更好
表。 首先,与 HTML 相比,它们的功能和可能性极其有限
表。 特别是,它们不能嵌套。 事实上这很正常,因为 Wap
设备不应该有一个以数十亿赫兹运行的大 CPU,并且
渲染表格所需的计算是最复杂和占用 CPU 的部分
的 HTML。

其次,因为它们不能嵌套,并且作为典型的 HTML 页面大量使用叠瓦
表来创建它们的布局,不可能决定可以保留哪一个。 所以
最好的办法是不要保留它们。

[注意] 尽管您可以停用此行为,并且虽然有内部
支持表格,非线性化模式尚未经过嵌套的大量测试
表,它可能会产生意想不到的结果。

-n, --数字-非 ASCII
此选项告诉 Html2wml 将所有非 ASCII 字符转换为数字实体,
即,“e”变为“é”,“ss”变为“ß”。 默认情况下,此选项是
关闭。

-p,--nopre
这个选项告诉 Html2Wml 不要使用标签。 添加此选项是因为
WML Tools 0.0.4 的编译器不支持这个标签。

链接 身体重建 附加选项

--hreftmpl=模板
此选项设置将用于重建 `href' 类型链接的模板。
有关更多信息,请参阅“链接重建”部分。

--srctmpl=模板
此选项设置将用于重建 `src' 类型链接的模板。
有关更多信息,请参阅“链接重建”部分。

拆分 附加选项

-s, --最大卡大小=尺寸
此选项允许您限制生成的卡片的大小(以字节为单位)。 默认是
1,500 字节,应该足够小,可以在大多数 Wap 设备上加载。 见
有关更多信息,请参阅“甲板切片”部分。

-t, --card-split-threshold=尺寸
此选项设置拆分事件的阈值,当大小为
当前卡片介于 `max-card-size' - `card-split-threshold' 和
“最大卡片尺寸”。 默认值为 50。有关更多信息,请参阅“DECK SLICING”部分
信息。

--下一张卡片标签=STRING
此选项设置指向下一张卡片的链接的标签。 默认是
“[>>]”,将呈现为“[>>]”。

--prev-卡片标签=STRING
此选项设置指向前一张卡片的链接的标签。 默认是
“[<<]”,将呈现为“[<<]”。

HTTP 认证

-U, --http-用户=USERNAME
使用此选项为经过身份验证的请求设置用户名。

-P, --http-密码=密码
使用此选项为经过身份验证的请求设置密码。

代理 支持

-[否]Y,--[否]代理
使用此选项激活代理支持。 默认情况下,代理支持处于激活状态。 看
“代理支持”部分。

输出 附加选项

-k, --编译
设置这个选项会告诉 Html2Wml 使用来自 WML 工具的编译器来编译
WML 甲板。 如果你想创建一个真正的 Wap 站点,你应该认真地使用这个选项
为了减少 WML 甲板的大小。 请记住,Wap 设备具有非常
很少的内存。 如果这还不够,请使用拆分选项。

进去看看 wml_编译/ 有关如何使用 WML 编译器的更多信息
Html2Wml。

-o, --输出
使用此选项(在 shell 模式下)指定输出文件。 默认情况下,Html2Wml
将结果打印到标准输出。

调试 附加选项

-d,--调试[=LEVEL]
此选项激活调试模式。 这将用 line 打印输出结果
编号和 XML 检查的结果。 如果调用了 WML 编译器,则
结果也以十六进制和 ascii 形式打印。 当被称为 CGI 时,所有的
这被打印为 HTML,因此可以为此目的使用任何网络浏览器。

--xml检查
当此选项打开时,它会将 WML 输出发送到 XML::Parser 以检查其运行状况 -
成形性。

甲板 切片


甲板 切片 是Html2Wml为了匹配低内存而提供的功能
大多数 Wap 设备的功能。 许多不能处理大于 2,000 字节的卡片,
因此卡片必须足够小以供所有 Wap 设备查看。 达到
这个,你应该编译你的 WML 甲板,这将甲板的大小减少了 50%,但即使
那么你的卡可能太大了。 这是 Html2Wml 与甲板切片一起出现的地方
特征。 这允许您限制卡片的大小,目前仅 before
编译阶段。

切片 by or by 甲板

在一些 Wap 手机上,切片是不够的:WML 浏览器仍然试图
下载整个牌组,而不是一次只选择一张牌。 解决办法是切片
WML 文档按套牌。 见下图。

______________ _____________
风牌组 风牌组 #1 风
换_________ 换换 _____ 换
换换卡#1 换换换换换换换换卡
换换_________ 换换换换_________ 换换换
换_________ 换换_________
换换卡#2 换换
换换_________换换。 . .
换_________
换换... 换换 _____________
换换_________ 换换换代#n 换换
换_________ 换换 _____ 换
换换卡#n 换换换换换换换换换
换换_________ 换换换换_________ 换换换
换_____________ 换换_____________

WML 文档 WML 文档
由卡片切片 由甲板切片

这意味着 Html2Wml 会生成多个 WML 文档。 在 CGI 模式下,只有
发送适当的牌组,由参数中给出的 id 选择。 如果没有给出 id,则
发送第一副牌。

备注 on 尺寸 计算

目前,Html2Wml 通过对卡片的长度求和来估计卡片的大小
组成 WML 输出、文本和标签的字符串。 我说的是“估计”而不是
“计算”,因为计算确切大小需要比计算更多的计算
现在的做法。 有人可能会反对只有加法,这是正确的,
但知道 确切 大小是没有必要的。 事实上,如果你编译 WML,大部分
标签的字符串将被删除,但不是全部。

例如,拿一个图片标签:` '。 什么时候
编译后,字符串“img”将被替换为一个字节的值。 同样的事情
字符串 `"src"' 和 `"alt"',空格、双引号和等号将是
剥离。 只有双引号之间的文本将被保留......但并非在所有情况下。
事实上,为了更进一步,编译器还可以对部分参数进行编码
作为二进制。 例如,字符串`"http://www."' 可以编码为单个字节 (`8F'
在这种情况下)。 或者,如果属性是 `href',则字符串 `href="http://' 可以成为
字节‘4B’。

如您所见,确切知道 WML 文本形式的大小并不重要,因为
它总是远远优于编译形式的大小。 这就是为什么我不计算
可能实际写入的所有字符。

另外,那是因为我很懒;-)

为什么 编译 WML 甲板?

如果您打算创建真正的 WML 页面,您真的应该考虑始终编译它们。
如果你不相信,这里有一个插图。

使用以下 WML 代码片段:

<a href='http://www.yahoo.com/'>雅虎!

这是编码超链接的基本和经典方法。 编码这个需要 42 个字节,
因为它以人类可读的形式呈现。

WAP 论坛在其规范中定义了 WML 的紧凑二进制表示,
这被称为“编译的 WML”。 这是一种二进制格式,因此您,一个普通人,不能
读那个,但你的电脑可以。 它读取二进制格式比读取二进制格式要快得多
阅读文本格式。

前面的示例是,一旦编译(并在此处以十六进制打印):

1C 4A 8F 03 雅虎 00 85 01 03 是啊! 00 01

这仅需要 21 个字节。 人类可读形式的一半大小。 对于 Wap 设备,
这意味着下载更少,阅读更容易。 因此处理
与相同的 tectual 版本相比,该文件可以在短时间内完成
文档。

还有最后一个论点,同样重要:许多 Wap 设备只读取二进制文件
WML。

行动


动作是一种类似于(但功能要少得多!)SSI(服务器端
包括)在像 Apache 这样的好服务器上可用。 为了不干扰真实
SSI,但为了保持语法易于学习,它在几个方面有所不同。

句法

基本上,执行动作的语法是:



请注意,尖括号是语法的一部分。 除此之外,Actions 语法
与 SSI 语法非常相似。

可提供 行动

目前只有少数行动可用,但可以根据要求实施更多行动。

包括

产品描述
在当前点包含文档中的文件。 请注意
Html2Wml 不检查也不解析文件,如果找不到文件,
会默默地死去(这与 SSI 的行为相同)。

参数
`virtual=url' -- 该文件是通过 http 获取的。

`file=path' -- 从本地磁盘读取文件。

大小

产品描述
返回文档当前点的文件大小。

参数
`virtual=url' -- 该文件是通过 http 获取的。

`file=path' -- 从本地磁盘读取文件。

备注 如果使用 file 参数,建议使用绝对路径。

跳过

产品描述
跳过所有内容,直到第一个 `end_skip' 动作。

通用 参数

以下参数可用于任何操作。

对于=产量 格式
此参数限制给定输出格式的操作。 目前,唯一
可用格式为“`wml'”(当使用`html2chtml' 时,格式为“`chtml'”)。

国际私人包机价格项目范例

如果你想在几个 WML 页面之间共享一个导航栏,你可以“包含”它这个
方式:



当然,你得先写这个导航栏:-)

如果您想使用当前的 HTML 页面来创建您的 WML 页面,但它们
包含复杂的表格或不必要的导航表格等,您可以简单地“跳过”
复杂的部分,保留其余部分。



WML 页面的不必要部分

WML 页面的有用部分


重建


恕我直言,链接重建引擎是 Html2Wml 最重要的部分,因为它是
这个引擎允许您重建正在转换的 HTML 文档的链接。
它有两种模式,取决于 Html2Wml 是从 shell 启动还是作为 CGI 启动。

当用作 CGI 时,该引擎将重建 HTML 文档的链接,以便
所有的 url 都将传递给 Html2Wml 以转换指向的文件(页面或
图片)。 这是完全自动的,目前无法自定义(但我认为不是
会非常有用)。

当从 shell 使用时,这个引擎用给定的模板重建链接。
请注意,绝对 URL 将保持不变。 可以使用模板自定义
以下语法。

模板

HREF 模板
这个模板控制了`A'标签的`href'属性的重建。 它的
可以使用更改值 --hreftmpl 选项。 默认值为
`"{FILEPATH}{FILENAME}{$FILETYPE =~ s/s?html?/wml/o; $FILETYPE}"'。

图像源模板
该模板控制“IMG”标签的“src”属性的重建。 它的
可以使用更改值 --srctmpl 选项。 默认值为
`"{FILEPATH}{FILENAME}{$FILETYPE =~s/gif获取pngjpe?g/wbmp/o;$FILETYPE}"'

句法

模板是一个包含新 URL 的字符串。 更准确地说,它是一个 Text::Template
模板。 参数可以作为常量或变量进行插值。 模板是
包含在花括号之间,并且可以包含任何有效的 Perl 代码。

最简单的模板形式是“{PARAM}”,它只返回 PARAM 的值。 如果你
想做更复杂的事情,可以使用对应的变量; 例如
`{"foo $PARAM bar"}' 或 `{join "_", split " ", PARAM}'。

您可以阅读 Text::Template 联机帮助页,了解更多关于
模板。

如果原始 URL 包含查询部分或片段部分,那么它们将被附加
到模板的结果。

可提供 参数

URL 此参数包含来自“href”或“src”属性的原始 URL。

文件名
此参数包含文件的基本名称。

文件路径
此参数包含文件的前导路径。

文件类型
该参数包含文件的后缀。

这可以通过这种方式恢复:

网址= http://www.server.net/path/to/my/page.html
--------------^^^^ ----
习惯走\
习惯走\
文件路径 文件名 文件类型

注意‘FILETYPE’包含文件的所有扩展名,所以如果它的名字是
索引.html.fr 例如,`FILETYPE' 包含“`.html.fr'”。

国际私人包机价格项目范例

添加路径选项:

{网址}$wap

使用 Apache,您可以添加一个 Rewrite 指令,以便以 `$wap' 结尾的 URL 将是
重定向到 Html2Wml:

重写规则 ^(/.*)\$wap$ /cgi-bin/html2wml.cgi?url=$1

要更改图像的扩展名:

{文件路径}{文件名}.wbmp

代表委任 客户服务


Html2Wml 使用 LWP 内置代理支持。 默认激活,并加载代理
环境变量中的设置,使用与许多其他程序相同的变量。
每个协议(http、ftp 等)都可以通过设置一个变量来映射到使用代理服务器
形式为“PROTOCOL_proxy”。 示例:使用 `http_proxy' 定义 http 的代理
访问,`ftp_proxy' 用于 ftp 访问。 在 shell 中,这只是定义
变量。

对于 Bourne 外壳:

$ 出口 http_proxy="http://proxy.domain.com:8080/"

对于 C 壳:

% setenv http_proxy "http://proxy.domain.com:8080/"

在 Apache 下,您可以将此指令添加到配置文件中:

SetEnv http_proxy "http://proxy.domain.com:8080"

但它的默认设置是另一个 CGI 或另一个程序可以使用它来访问
外部资源。 更好的方法是编辑 Html2Wml 并填写选项`proxy-server'
具有适当的值。

洞穴


Html2Wml 试图制作正确的 WML 文档,但格式良好和有效性
文件没有保证。

") may produce unexpected results.倒置标签(如“粗”)可能会产生意想不到的结果。 但只有
糟糕的软件会做这样的坏事。


下载

HTML2Wml
这是 Html2Wml 项目的网站,由 SourceForge.net 托管。 一切
可以从该站点下载稳定版本。

[ http://www.html2wml.org/ ]

纽泰兰
这是作者的网站,在那里你可以找到所有的档案
Html2Wml 的发布。

[ http://www.maddingue.org/softwares/ ]

资源

WAP 论坛
这是 WAP 论坛的官方网站。 你可以找到一些技术信息,
作为与 WAP 相关的所有技术的规范。

[ http://www.wapforum.org/ ]

WAP网
这个网站有一些有用的信息和链接。 尤其是它有一个相当不错的
完成常见问题。

[ http://www.wap.com/ ]

万维网联盟
虽然与 Wap 内容没有直接关系,但您可能会发现阅读
XML 的规范(WML 是一个 XML 应用程序),以及
不同的样式表语言(CSS 和 XSL),包括对低分辨率的支持
设备。

[ http://www.w3.org/ ]

美孚
该网站专用于 Mobile UniX 系统。 它会带你到很多有用的
有关在膝上型电脑、PDA 和
其他移动计算机设备。

[ http://www.tuxmobil.org/ ]

程序员 公用事业

HTML Tidy
这是一个非常少的实用程序,可以纠正您的 HTML 文件,使它们符合
W3C 标准。

[ http://www.w3.org/People/Raggett/tidy ]

坎内尔
Kannel 是一个开源的 Wap 和 SMS 网关。 WML 编译器包含在
分布。

[ http://www.kannel.org/ ]

WML 工具
这是 WML 程序员的实用程序集合。 这包括一个编译器、一个
反编译器、查看器和 WBMP 转换器。

[ http://pwot.co.uk/wml/ ]

WML 浏览器 WAP 模拟器

Opera
Opera 最初是一个 Web 浏览器,但第 5 版对 XML 和
WML。 Opera 可免费用于多个系统。

[ http://www.opera.com/ ]

瓦普阿
wApua 是一个用 Perl/Tk 编写的开源 WML 浏览器。 易于安装和安装
用。 它对 WML 的支持不完整,但足以用于测试目的。

[ http://fsinfo.cs.uni-sb.de/~abe/wApua/ ]

豆腐
Tofoa 是一个用 Python 编写的开源 Wap 模拟器。 它的安装相当
困难,它不完整的 WML 支持使它产生奇怪的结果,即使
有效的 WML 文档。

[ http://tofoa.free-system.com/ ]

易通网
EzWAP 来自 EZOS,是一款免费的商用 WML 浏览器,可用于 Windows 9x、NT、
2000 年和 CE。 与其他 Windows WML 浏览器相比,它需要的资源非常少,
并且相当稳定。 它对 WML 规范的支持似乎相当完整。 一个非常好的
软件。

[ http://www.ezos.com/ ]

甲板它
Deck-It 是一款商用 Wap 手机模拟器,适用于 Windows 和 Linux/Intel
只要。 这是一个非常好的软件,它真正展示了 WML 页面的呈现方式
在 Wap 手机上,但其主要默认设置之一是无法读取本地文件。

[ http://www.pyweb.com/tools/ ]

克朗代克 WAP 浏览器
Klondike WAP 浏览器是一款适用于 Windows 和 PocketPC 的商业 WAP 浏览器。

[ http://www.apachesoftware.com/ ]

WinWAP
WinWAP 是一款商用 Wap 浏览器,可免费用于 Windows。

[ http://www.winwap.org/ ]

WAP人
EdgeMatrix 的 WAPman 是一款适用于 Windows 和 PalmOS 的商用 WAP 浏览器。

[ http://www.edgematrix.com/edge/control/MainContentBean?页面=下载]

无线伴侣
来自 YourWap.com 的 Wireless Companion 是可用于 Windows 的 WAP 模拟器。

[ http://www.yourwap.com/ ]

动员者
Mobilizer 是适用于 Windows 和 Unix 的 Wap 模拟器。

[ http://mobilizer.sourceforge.net/ ]

QWml浏览器
QWmlBrowser(原名 WML BRowser)是一个开源的 WML 浏览器,编写
使用 Qt 工具包。

[ http://www.wmlbrowser.org/ ]

瓦普索迪
Wapsody 由 IBM 开发,是一个免费提供的模拟环境,
实现 WAP 规范。 它还具有可以运行的 WML 浏览器
独立的。 由于 Wapsody 是用 Java/Swing 编写的,因此它应该适用于任何系统。

[ http://alphaworks.ibm.com/aw.nsf/techmain/wapsody ]

WA预览
WAPreview 是一个用 Java 编写的 Wap 模拟器。 因为它使用基于 HTML 的 UI 并且需要一个
本地网络代理,它运行得很慢。

[ http://wapreview.sourceforge.net ]

皮克瓦普
PicoWap 是一个由三位法国学生制作的小型 WML 浏览器。

[ http://membres.lycos.fr/picowap/ ]

致谢


Werner Heuser,他的众多想法、建议和他对调试的帮助

Igor Khristophorov,他的众多建议和补丁

以及所有向我发送错误报告的人:Daniele Frijia、Axel Jerabek、Ouyang

使用 onworks.net 服务在线使用 html2wml


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad