我正在编写一个只有XML的页面。没有XSL。 XML和CSS一切顺利。 但是如何使用XML和CSS创建输入字段? 这真的有可能吗?
答案 0 :(得分:0)
Xml用于数据转换,移植,传输等 - 与数据相关的事情。
CSS用于造型。
你需要一些东西,例如html(或XForms?)来提供/渲染控件。
或者,如果您计划自己渲染控件,那么您可以添加一个元素,并通过自己解析来呈现控件。
<MyControl type="Text">This is a test value</MyControl>
当您看到MyControl具有文本类型时,请添加文本控件。
<强> - 编辑 - 强>
这是对你的评论的回应。
我明白你在说什么;要清楚,我相信CSS本质上/实际上是用于样式 - 因此CSS应用于“控件”,CSS不是控件;所以我们想出了某些类,id,选择器并将它们应用到控件上。
这可能是一个肥胖的例子,但它就像告诉“油漆”建立一个“众议院”。
可能你已经知道了这一点,但这只是添加:以下是如何将CSS应用于html按钮控件。 取自here的示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CSS Button</title>
<style type="text/css">
body {
font: 140%/1.6 "Gill Sans", Futura, "Lucida Grande", Geneva, sans-serif;
color: #666;
background: #fff;
}
a:link, a:visited {
display: block;
width: 6em;
padding: 0.2em;
line-height: 1.4;
background-color: #94B8E9;
border: 1px solid black;
color: #000;
text-decoration: none;
text-align: center;
}
a:hover {
background-color: #369;
color: #fff;
}
</style>
</head>
<body>
<p><a href="#">Button</a></p>
</body>
</html>
上面的代码将呈现一个带有css的按钮,如下所示: alt text http://img689.imageshack.us/img689/4615/72060104.jpg
所以要直接回答你的问题,我相信用CSS渲染控件是不可能的。
现在根据您的要求,我理解: 1.您想自己渲染控件。 2.您想将CSS应用于该控件。
解决方案1: 1.如前所述,添加,解析和呈现自定义控件xml标记。 2.在xml中添加CSS样式,see example
解决方案2:
1.如前所述,添加,解析和呈现自定义控件xml标记。
2.在xml CDATA
中添加css;当xml解析时,从CDATA中获取CSS,并应用于控件。
答案 1 :(得分:0)
我不相信你只能用CSS来创建控件。
然而..
如果您不介意扩展使用其他内容,我建议您使用 XForms 。它与XML一起工作非常好,它使用CSS进行样式化。
以下是一些指南,教程和文章的链接,以帮助您入门:
http://en.wikibooks.org/wiki/XForms
http://w3schools.com/xforms/default.asp
http://www.ibm.com/developerworks/xml/library/x-xformsfirefox/
http://www.ibm.com/developerworks/library/x-xformswhy.html
希望这有帮助!
答案 2 :(得分:0)
CSS可以设置XML样式,但浏览器在语义方面不一致。
例如:
<Link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="..." />
将在Firefox中创建一个工作链接,但在Safari中不起作用。
(我认为它也适用于IE,但我很久以前就试过了,所以我错了。我也试过使用<xhtml:a ...>
,我认为它也适用于某些浏览器而不是其他浏览器。也许有办法在javascript中执行此操作。)
所以:在CSS样式的XML中,甚至没有一种可移植的方式来获取链接行为。 我认为输入字段根本不可能。 在浏览器中执行xslt转换为html更加便携。 您也可以查看XForms - 尽管没有浏览器支持本机。