分享
 
 
 

[xml] xml ,xsl,css 之乱搞

王朝html/css/js·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

做了一小段xml.与大家交流。

三个文件。(blue.xml blue.xsl blue.css )拷到本地同一目录下。

blue.xml:

<?xml version='1.0' encoding='GB2312'?>

<?xml:stylesheet type='text/xsl' href='blue.xsl'?>

<Topic>

<Issue>

<TopicId>000001</TopicId>

<UserName>ycoe12</UserName>

<RankName>超级用户</RankName>

<TopicName>[JSP]Servlet中线程的问题</TopicName>

<DateTime>2005-12-26 01:03:44</DateTime>

<ReplyNum>2</ReplyNum>

<ReadNum>68</ReadNum>

<Content>请问一下怎样实现在Servlet里使用线程。比如用两线程,让一个线程与另一个线程通讯。

我的方法: implements Runnable 。生成后马上让它sleep。但是我不知道怎样让另一个线程在完成后通知此线程??(两个请求之间通讯)

我想在是通过检测HttpSession来判断另一个线程的进程的。但这样好像不太好。。。

谢谢</Content>

</Issue>

<Replys>

<Reply>

<TopicID>000001</TopicID>

<UserName>红色黑客</UserName>

<RankName>经典杀手</RankName>

<ReplyID>0001</ReplyID>

<Content>这个应该用线程同步吧??</Content>

<DateTime>2005-12-26 13:22:15</DateTime>

</Reply>

<Reply>

<TopicId>000001</TopicId>

<UserName>ycoe12</UserName>

<RankName>超级用户</RankName>

<ReplyID>0002</ReplyID>

<Content>不是,简单地说就是用一个线程完成后去通知另一个线程。。。不是,简单地说就是用一个线程完成后去通知另一个线程。。。不是,简单地说就是用一个线程完成后去通知另一个线程。。。</Content>

<DateTime>2005-12-26 20:41:51</DateTime>

</Reply>

</Replys>

</Topic>

blue.xsl:

<?xml version="1.0" encoding="GB2312"?>

<!--

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="html" encoding="gb2312" version="4.0"/>

-->

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">

<xsl:template match="text()" >

<xsl:value-of/>

</xsl:template>

<xsl:template match="/">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=GB2312"/>

<title><xsl:value-of select="Topic/Issue/TopicName"/></title>

<link REL='Stylesheet' HREF='blue.css' TYPE='text/css'/>

</head>

<body>

<div id="divFrame">

<div id="divTitle">

<span id="spanTitleLeft"><xsl:value-of select="Topic/Issue/TopicName"/></span>

<span id="spanTitleRight">作者:<xsl:value-of select="Topic/Issue/UserName"/> | <xsl:value-of select="Topic/Issue/RankName"/>|发表时间:<xsl:value-of select="Topic/Issue/DateTime"/></span>

</div>

<div id="divMain">

<xsl:apply-templates select="Topic/Issue/Content" />

</div>

<div id="divReply">

<xsl:apply-templates select="Topic/Replys"/>

</div>

</div>

</body>

</html>

</xsl:template>

<xsl:template match="Replys" >

<xsl:for-each select="Reply" >

<div>

<div id="replyPerson">回复人:<xsl:value-of select="UserName"/> | <xsl:value-of select="RankName"/>|</div>

<div><xsl:apply-templates select="Content" /></div>

<div>发表时间:<xsl:value-of select="DateTime"/></div>

</div>

</xsl:for-each>

</xsl:template>

<xsl:template match="Content">

<xsl:apply-templates />

</xsl:template>

</xsl:stylesheet>

blue.css:

body

{

text-align:center;

background-color:#ffffff;

}

div

{

font-family:Verdana;

text-align:left;

}

#divFrame

{

background-color:#CCCCCC;

width:95%;

padding:8px;

}

#divTitle

{

background-color:#F7F3F7;

border:1px solid black;

width:100%;

font-size:16px;

font-weight:bold;

line-height:30px;

color:#0051A5;

padding-left:10px;

}

#divMain

{

font-size:14px;

margin-top:5px;

border:1px solid black;

padding:10px;

background-color:white;

}

#divReply

{

background-color:#ffffff;

margin-top:5px;

margin-bottom:5px;

border:1px solid black;

width:100%;

font-size:9pt;

padding:10px;

letter-spacing:2px;

line-height:24px;

}

#spanTitleLeft

{

float:left;

}

#spanTitleRight

{

font-weight:normal;

font-size:12px;

float:right;

padding-right:10px;

}

#replyPerson{

border-bottom:1px solid #0066cc;

background-color:#f1f5fa;

}

(以前见别人做过一个类似的电子文档。)XML在更多的时候只是一种数据文件,利用XML我们可以使内容与样式分离,如果我们将XML文件比作结构化的原料的话。那么XSL就好像"筛子"与"模子",筛子选取自己需要的原料,这些原料再通过模子形成最终的产品。这个模子大致是这样:我们先设计好表现的页面,再将其中需要从XML中获取数据来填充内容的部分去掉,然后用XSL语句从XML中筛出相关的数据来填充。

XML在展开时是一个树形结构,将树形结构中自定义标记称为节点,节点之间存在父子、兄弟关系,要访问其中的结点从根结点就要以"/"来层层进入。

怎样从XML里提取相关的数据,就要用到XSL提供的模式化查询语言。就是通过相关的模式匹配规则表达式从XML里提取数据的特定语句,即上面所说的"筛子"。

选择模式:

<xsl:for-each>、<xsl:value-of>和 <xsl:apply-templates>

匹配模式:

<xsl:template>

<xsl:template match="Replys" >

<xsl:for-each select="Reply" >

<div>

<div id="replyPerson">回复人:<xsl:value-of select="UserName"/> | <xsl:value-of select="RankName"/>|</div>

<div><xsl:apply-templates select="Content" /></div>

<div>发表时间:<xsl:value-of select="DateTime"/></div>

</div>

</xsl:for-each>

</xsl:template>

简单说下这段:

XSL模板将XSL的设计细化成一个个模板(块),最后再将这些模板(块)组合成一个完整的XSL;好比船与集装箱,我们不是将所有的货物一件件地堆起来,而是装在各自的集装箱中,然后再在船上将这些集装箱堆放起来。这种方法可以使你先从整体上考虑整个XSL的设计,然后将一些表现形式细化成不同的模块,再具体设计这些模块,最后将它们整合在一起,这样,将宏观与微观结合起来,符合人们条理化、规范化要求。

装集装箱--书写模板(块):<xsl:template>

<xsl:template match="Replys">

match ── 确定什么样的情况下执行此模板。就是标记的名字;

其中最上层模板必须将match设为"/"。

<xsl:template>用match属性从XML选取满足条件的节点,在真对这些特定的节点形成

一个特定输出形式的模板。

<xsl:for-each select="Reply">循环选择。

select :确定在此上下文环境中应执行什么模板,即选取用< xsl:template >标记建立的模板(块)。

<xsl:value-of> 直接输出选择的。

调用模板(块):<xsl:apply-templates select="Content" />

调用xsl最后一段。

<xsl:template match="Content">

<xsl:apply-templates />

</xsl:template>

说多了。不太礼貌。 大家新年快乐。

一些基本概念和更多参考微软的"XSL开发者指南":

www.microsoft.com/china/msdn/Archives/workshop/xmlfaq.asp

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有