标签: html4

将XML转换为HTML(而不是xhtml)

我想将一些xml转换为具有以下格式的HTML:

<TR> <TD> col1 <TD> col2 <TD> col3 </ TR>

注意:输出HTML完成,省略了可选的结束标记.这是问题,存在问题的原因.

我正在使用的XSL片段是:

<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output 
    doctype-system='http://www.w3.org/TR/html4/strict.dtd'
    doctype-public='-//W3C//DTD HTML 4.01//EN'
    indent='yes'
    method='html'
    />
   ...
   <xsl:for-each select="/">  
      <TR><TD><xsl:value-of select="col1"/><TD><xsl:value-of select="col2"/><TD><xsl:value-of select="col3"/></TR>
   </xsl:for-each>
Run Code Online (Sandbox Code Playgroud)

您可以看到XSL的内容与我想要的HTML匹配(为便于阅读而包装):

<TR>  <TD><xsl:value-of select="Column1"/>
      <TD><xsl:value-of select="Column2"/>
      <TD><xsl:value-of select="Column3"/> </TR>
Run Code Online (Sandbox Code Playgroud)

注意:那些知道我从XSLT得到的错误的人:希望已经知道答案.

当我提出我的XSL(其中,不要忘记,是一种形式xml)时,我得到了一个非常好的错误:

结束标记"TR"与起始标记"TD"不匹配.

这很有道理.确实:

<TD><xsl:value-of select="Column3"/> </TR>
Run Code Online (Sandbox Code Playgroud)

关闭TD之前我不会关闭元素TR.所以问题是:

如果不是,我怎么能xml变成?HTMLHTMLxml

也可以看看


更新一个

被认为是一个可以简单地包括结束标记无论如何,为了使XSL的validate(显示包裹,方便阅读): …

html xml xslt html4

5
推荐指数
1
解决办法
1181
查看次数

在HTML 4浏览器(IE)中的History.js PushState错误地更改了URL

我是usnig History.js来推送一个网址,但在IE中它附加了网页名称.

如果我的原始网址是:http: //www.mydomain.com/Home.aspx

然后我执行以下操作:

var url = window.location.protocol +'//'+ window.location.host +'/ home.aspx?id = 2&pl = 4'; History.pushState(null,null,url)

在Chrome中,我的网址变为:http://www.mydomain.com/Home.aspx?id = 2& pl = 4

在IE 8中,我的网址变为:http://www.mydomain.com/Home.aspx#Home.aspx?id = 2& pl = 4

如果我在IE中粘贴IE 8网址我的代码失败了...

首先,正确的html 4网址应该是什么样的,其次,我该如何解决?

url html4 history.js

5
推荐指数
1
解决办法
1149
查看次数

我的页面是否必须具有HTML5 doctype才能访问sessionStorage

我们的开发商店继续支持IE6等.我想使用会话存储来制作app-cache,但想知道它会有多少工作......

是否可以在兼容HTML5的浏览器中使用HTML4 doc类型并仍然访问sessionStorage,或者我是否必须浏览器嗅探并返回不同的页面(可能只是使用doctype更改)才能使其工作?

html5 caching html4

4
推荐指数
1
解决办法
900
查看次数

结束标记是否应该使用省略的结束标记关闭所有未闭合的中间开始标记?

我读HTML 4.01标准错了,还是谷歌?在HTML 4.01中,如果我写:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">
<html> <head> <body>plain <em>+em <strong>+strong </em>-em
Run Code Online (Sandbox Code Playgroud)

Google Chrome中的呈现是:

普通+ em + - em

这似乎违背了HTML 4.01标准,总结了下面的SGML规则为:"结束标记关闭,返回到匹配的开始标记,省略结束标记所有未关闭的中介开始标记".¹

也就是说,</em>结束标记不仅应该关闭<em>开始标记,还应该关闭未关闭的插入<strong>开始标记,并且渲染应该是:

普通+ em + 强 - em

一位意见提供者指出,将标签打开是不好的做法,但这只是一个学术性的例子.一个同样好的例子是:<em> +em <strong> +strong </em> -em </strong>.根据HTML 4.01标准我的理解是,由于重叠元素,此代码片段无法按预期工作:</em>结束标记应隐式关闭<strong>.它确实按预期工作的事实令人惊讶,这就是我的问题所在.

事实证明我在这个问题中提出了一个错误的二分法:谷歌和我都没有读错HTML 4.01标准.w3.org的一位私人记者向我指出了Web SGML和HTML 4.0由Martin Bryan解释,他解释说"解析程序将自动关闭任何当前打开的嵌入式元素,当前它被声明为具有可省略的结束标记.遇到更高级别元素的结束标记.(如果无法省略其结束标记的嵌入式元素仍然打开,则程序将报告编码中的错误.)" ²(强调添加.)Bryan对SGML标准的总结是正确的,并且HTML 4.01的总结是错误的.

html sgml html4

4
推荐指数
2
解决办法
1208
查看次数

用于表单验证的HTML5“必需”属性:好主意或坏主意

我使用的是最简单的HTML 5表单,并希望为复选框使用“必需”属性,以确保用户在提交表单时单击它。

如果有人使用不支持html5的浏览器,我是否应该进行服务器端验证?

更多信息:

我的表格如下所示:

[] 我接受条款和条件

提交

码:

<input type="checkbox" required> I accept the terms and conditions<br />
<input type="submit" value="submit"/>
Run Code Online (Sandbox Code Playgroud)

forms html5 html4

4
推荐指数
1
解决办法
1399
查看次数

HTML 5与HTML 4有何不同?

我已经看到HTML 5即将推出.它与HTML 4有何不同?HTML 4在Web开发中已经存在了多年?

谢谢

html html5 html4

3
推荐指数
4
解决办法
2053
查看次数

为什么不在HTML 4.01中验证<iframe>元素?

我只是检查是否有效将<iframe>元素放在<noscript>元素中作为显示动态内容的后退.它使用HTML 5 doctype验证正常,但对于HTML 4.01,我收到以下错误:

第9行,第35列:元素"IFRAME"未定义
<iframe name ="test"src ="test.htm"> </ iframe>

您已在文档中使用上面提到的元素,但您使用的文档类型未定义该名称的元素.此错误通常由以下原因引起:

  • 不正确地使用带有使用框架的文档的"严格"文档类型(例如,您必须使用"框架集"文档类型来获取""元素),
  • 通过使用供应商专有扩展,例如""或""(这通常通过使用CSS来实现期望的效果来修复).
  • 通过在XHTML中使用大写标签(在XHTML属性和元素中必须全部为小写).

这就是我将HTML缩小为:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" 
          "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
   <title>I AM YOUR DOCUMENT TITLE REPLACE ME</title>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
   <div>
     <iframe name="test" src="test.htm"></iframe>
   </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

<iframe>元素在HTML 4.01规范中的以下URL中定义:http://www.w3.org/TR/html401/present/frames.html#h-16.5.

它传递了一个过渡的doctype,所以我想我的问题是"为什么它在严格的doctype中被禁止,即使它在规范中定义了?".

html iframe html4 w3c-validation

3
推荐指数
1
解决办法
7506
查看次数

网络的大多数便携式视频编解码器?

我正在寻找一种方法,可以在不使用Flash或Silverlight等插件的情况下在网页中嵌入视频.理想情况下,我能够<embed src="movie.ext">并期望在大多数浏览器中都能使用它.

我的目标是将视频编码为适用于IE7及更高版本,Chrome和Firefox的格式.但我需要知道哪种编解码器最便携.

不幸的是,需要支持IE7排除HTML5视频支持.

video html4 codec

3
推荐指数
1
解决办法
606
查看次数

SVG不会在IE 10中使用Doctype HTML 4进行渲染

<%@ Page Language="C#" .. %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
   <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
</svg> 
 </body>
</html>
Run Code Online (Sandbox Code Playgroud)

/*上述代码无效.没有任何输出.如果将Doctype的第二行替换为如下所示,则可行.

<!DOCTYPE html PUBLIC" - // W3C // DTD XHTML 1.0 Transitional // EN"" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">

任何人都可以帮助我理解关键的区别吗?*/

xhtml doctype svg html4 internet-explorer-10

3
推荐指数
1
解决办法
9470
查看次数

QML:上标/下标文本

问题是,QML完全无视<sub><sup>html标签,即在官方实际上提到的支持HTML子集.
因此,以下代码将显示"x y "的常规"xy ":

Text {
text: "x<sup>y</sup>"
}
Run Code Online (Sandbox Code Playgroud)

有没有其他可能的方法来显示下标/上标文本?

UPD:这是自Qt 5.0以来最新Qt Quick版本的已知错误.您可以通过在此处此处投票来帮助修复错误

user-interface qt html4 qml

3
推荐指数
1
解决办法
1641
查看次数