xsl写的样式 怎么方便生成xml
有一个xml文件 我用 xsl 写成一个样式 写成了input框的样式,怎么样可以方便生成xml文件 其中节点的数据为 输入框的数据
用数据岛的话很方便,自动生成了,不需要一个个元素指定
可是 xsl 不行 或者
数据岛 怎么样指定 复杂元素(问xml数据岛支持更多的子节点吗,支持复选和单选吗?)
怎么进子节点 (不用table 好像只有table才能进子节点)怎么取子节点的属性值 还有孙节点,一直进不去
听说xfrom可以实现
看例子 xml数据岛方便的生成了xml文件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN ">
<HTML> <HEAD> <TITLE> 外部的XML文件 </TITLE>
<META http-equiv=Content-Type content= "text/html; charset=gb2312 ">
<META content= "MSHTML 6.00.2900.3020 " name=GENERATOR> </HEAD>
<BODY> <xml id=locationDSO>
<?xml version= "1.0 "?>
<root>
<city> Easton </city>
<state> Pennsylvania </state>
<c1> Easton </c1>
</root>
</xml>
<FORM> <INPUT dataFld=city dataSrc=#locationDSO type=input name=input1>
<BR> <INPUT dataFld=state dataSrc=#locationDSO type=input name=input1>
<INPUT dataFld=c1 dataSrc=#locationDSO type=input name=input1> <INPUT id=Button1 onclick= " btnclickme(); " type=button value=clickme> </FORM>
<SCRIPT language=javascript>
var strOldXML,strNewXML;
strOldXML = locationDSO.xml;
/*
display newXml;
*/
function btnclickme(){
strNewXML = locationDSO.xml;
alert(strNewXML);
if ( comparexml(strOldXML,strNewXML) ) {
alert( "modify ");
} else {
alert( "no modify ");
}
}
/*
valid xml and compare oldxml and newXml
return boolean
*/
function comparexml(strOldXML,strNewXML){
if ( strOldXML == strNewXML )
return false;
else
return true;
}
</SCRIPT>
</BODY> </HTML>
[解决办法]
关注
[解决办法]
html文本中的html中的对象 <input type= "TYPE " name= "NAME " value= "VALUE ">
在xsl中要表达成这样
<xsl:element name= "input ">
<xsl:attribute name= "type "> TYPE </xsl:attribute name>
<xsl:attribute name= "name "> NAME </xsl:attribute name>
<xsl:attribute name= "value "> VALUE </xsl:attribute name>
</xsl:element>
[解决办法]
变通:
<?xml version= "1.0 "?>
<xsl:stylesheet xmlns:xsl= "http://www.w3.org/1999/XSL/Transform " version= "1.0 ">
<xsl:template match= "/ ">
<html>
<head>
<SCRIPT language= "javascript ">
<xsl:comment>
function test(){
alert(document.XSLDocument.xml);
alert(document.XMLDocument.xml);
var o = document.getElementsByTagName( "input ");
alert(o[0].getAttribute( "value "));
}
</xsl:comment>
</SCRIPT>
</head>
<body>
<xsl:apply-templates select= "root " />
</body>
</html>
</xsl:template>
<xsl:template match= "root ">
<input value= "{city} "/> <input value= "{state} "/> <input value= "{c1} "/>
<INPUT id= "Button1 " onclick= "test(); " type= "button " value= "clickme "/>
</xsl:template>
</xsl:stylesheet>