模拟城市中文网

 找回密码
 入住
搜索
查看: 5756|回复: 27

SC4PATHS讨论

[复制链接]
发表于 2005-2-16 22:15 | 显示全部楼层 |阅读模式
[attachmentid=4947]
<br />=============
<br />SC4PATHS
<br />#.# (1.0-1.2): 表示版本号,有〔1.0 只有通行段, 1.1 带停留段 , 1.2 用于桥类〕
<br />## :记录下面通行段数量
<br />## :记录下面停留段数量
<br /># (0-1):区分2D路径或3D路径〔0=2D 平面, 1=3D 带Z轴〕
<br />
<br />----
<br /><b>{</b>
<br />-- Type〔交具名称:car,sims,train,subway等〕_class〔可有可无的级别标记,常用a,b,c,其余见表1〕_EnS〔入端〕_ExS〔出端〕
<br /># : 运输类型 〔1=车辆,2=行人,3=火车,4=地铁,5=未知,6=高架火车,7=单轨捷运〕
<br /># : 路径级别号码 〔对应class,当无class时常值为0,大多数情况a=1,b=2,c=0 or 1未证实〕
<br /># : 入端 〔0-3代表四个方向,次序未证实〕
<br /># : 出端 〔同上〕
<br /><font color="red"># : U1</font>〔1.2版独有值,未证实〕
<br />## : 记录下面坐标块数量
<br />#.#,#.#,#.# : 反复输入 x,y,z坐标,连成路径
<br />……
<br /><b>}</b>
<br />
<br />----
<br /><b>{</b>
<br />-- Stop(or StopUK)〔英式〕_Type_class_EnS_ExS
<br /># : 停留类型 〔1=正常,2=英式(左车道)〕
<br /># : 运输类型 〔1=车辆,2=行人,3=火车〕
<br /># : 路径级别号码
<br /># : 入端〔0-3 代表四个方向〕
<br /># : 出端〔255 停留终端〕
<br />#.#,#.#,#.# : 停留坐标,只须一组
<br /><b>}</b>
<br />=============
<br />
<br />#表1〔未证实〕
<br />-car_i,o                   - 高速公路交汇处转弯小路连接
<br />-car_d,e,f                - 上落斜波连接
<br />-sim_*                     - 街道拐角处
<br />-train_d,e                - 两铁路交汇处
<br />-Car(stopped)_*      - 各式车辆必停处
<br />
<br />
<br />处于研究阶段,有未证实地方。 :rolleyes:
<br />
<br />stex论坛帖名:File Formats, The Positioning formats (RUL, and Sc4path)<!--editpost--><br /><br /><br /><div><font class='editinfo'>此帖由 yogafish 在 2006-06-14 22:02 进行编辑...</font></div><!--editpost1-->
发表于 2005-2-16 22:39 | 显示全部楼层

SC4PATHS讨论

<br />我实在懒得研究了,明天要走了,有一阵子来不了了~~~
发表于 2005-2-16 22:40 | 显示全部楼层

SC4PATHS讨论

那么就是说有如果用3D模式的话<br />还是有可能创造出类似上海的高架(就是下面也通车的)<br /><br />或者像南浦大桥引桥的那种螺旋式引桥<br /><br />激动……<br /><br />不过,开学前,还有单片机编程任务要完成,开学后,再来研究!!
发表于 2005-2-20 11:55 | 显示全部楼层

SC4PATHS讨论

一个星期没来了,winyeah. 你把论坛里的精华找出来,奉献给大家,辛苦你了。另外想问问你,有没有xpatn工具。有的话传一个上来,谢谢。
 楼主| 发表于 2005-2-21 17:00 | 显示全部楼层

SC4PATHS讨论

以前听过xpath,可不知道是什么,去stex翻了翻,没找到……<br />挖着挖着,发现所讲到的xpath应该是xml脚本工具,用于编写路径节点等类型。<br /><br />里面知识含量很高,斑竹对此会比较熟悉。<br /><br />到microsoft的msdn看看:<br /><a href="http://www.w3.org/TR/xpath20/" target="_blank">http://www.w3.org/TR/xpath20/</a><br /><a href="http://www.microsoft.com/china/MSDN/library/data/xml/XPathintr.mspx" target="_blank">http://www.microsoft.com/china/MSDN/librar.../XPathintr.mspx</a>
发表于 2005-2-21 18:47 | 显示全部楼层

SC4PATHS讨论

XML语言我可不懂啊……-__-&#33;&#33;<br /><br />不过,可以学吗……呵呵
发表于 2005-2-22 07:15 | 显示全部楼层

SC4PATHS讨论

<!--QuoteBegin-winyeah+Feb 21 2005, 09:00 AM--><div class='quotetop'>QUOTE(winyeah &#064; Feb 21 2005, 09:00 AM)</div><div class='quotemain'><!--QuoteEBegin-->以前听过xpath,可不知道是什么,去stex翻了翻,没找到……<br />挖着挖着,发现所讲到的xpath应该是xml脚本工具,用于编写路径节点等类型。<br /><br />里面知识含量很高,斑竹对此会比较熟悉。<br /><br />到microsoft的msdn看看:<br /><a href="http://www.w3.org/TR/xpath20/" target="_blank">http://www.w3.org/TR/xpath20/</a><br /><a href="http://www.microsoft.com/china/MSDN/library/data/xml/XPathintr.mspx" target="_blank">http://www.microsoft.com/china/MSDN/librar.../XPathintr.mspx</a><br /><p align="right">[snapback]65669[/snapback]</p><br />[/QUOTE]<br />这两个网站我知道,谢谢!但没有提供实质软件。我到知道有一套XML SUITEEnt 2005,专门xml脚本工具,下载地址<font color="blue">http://www.altova.com/download/2005/default.asp?product=b&amp;edition=e&amp;os=any&amp;server=us</font>,直接copy打开 flashget就可以下载。破解文件附件里
发表于 2005-2-22 07:24 | 显示全部楼层

SC4PATHS讨论

SCCITY4引伸出来的东西太多,学都学不过来,真是活到老学到老。 :lol:
 楼主| 发表于 2005-2-22 18:15 | 显示全部楼层

SC4PATHS讨论

<!--QuoteBegin-meltonqiao+Feb 22 2005, 07:24 AM--><div class='quotetop'>QUOTE(meltonqiao &#064; Feb 22 2005, 07:24 AM)</div><div class='quotemain'><!--QuoteEBegin-->SCCITY4引伸出来的东西太多,学都学不过来,真是活到老学到老。 :lol:<br /><p align="right">[snapback]65740[/snapback]</p><br />[/QUOTE]<br /><br />同感啊,在摸索发现很多知识、数据等等,一个人能力小,游戏开发的是整个团队 :o<br /><br />软件下了,研究中……
发表于 2005-2-22 18:19 | 显示全部楼层

SC4PATHS讨论

同同感~~!今天做了个LOT就累得我半死半活,要搞更高级得,估计要Half-life了:)
 楼主| 发表于 2005-2-23 21:06 | 显示全部楼层

SC4PATHS讨论

Altova Enterprise XML Suite 2005这个东东复杂多了,企业版呢~<br />其实XML脚本可以在VS.NET和Delphi05都弄得来,这个就更专业咯~<br />说了半天,自己什么都没明白,一头雾水 :blink:  :huh: <br /><br />那个Mapface的破解不行,主页更新SP2,到AstalAvista也没找到。<br />mel能百忙中抽点时间介绍下Altova ;)
发表于 2005-2-23 21:38 | 显示全部楼层

SC4PATHS讨论

<!--QuoteBegin-yogafish+Feb 16 2005, 10:40 PM--><div class='quotetop'>QUOTE(yogafish &#064; Feb 16 2005, 10:40 PM)</div><div class='quotemain'><!--QuoteEBegin-->那么就是说有如果用3D模式的话<br />还是有可能创造出类似上海的高架(就是下面也通车的)<br /><br />或者像南浦大桥引桥的那种螺旋式引桥<br /><br />激动……<br /><br />不过,开学前,还有单片机编程任务要完成,开学后,再来研究!!<br /><p align="right">[snapback]65230[/snapback]</p><br />[/QUOTE]<br /><br />哈哈,你也要开发单片机啊?是不是intel8086系列的?我学的电子信息,每个学期都作一个这个实验
发表于 2005-2-24 12:14 | 显示全部楼层

SC4PATHS讨论

<!--QuoteBegin-eleinster+Feb 23 2005, 09:38 PM--><div class='quotetop'>QUOTE(eleinster &#064; Feb 23 2005, 09:38 PM)</div><div class='quotemain'><!--QuoteEBegin-->哈哈,你也要开发单片机啊?是不是intel8086系列的?我学的电子信息,每个学期都作一个这个实验<br /><p align="right">[snapback]65870[/snapback]</p><br />[/QUOTE]<br /><br />哦~我现在搞的是PIC16系列的~不过,我单片机方面还是只菜鸟啊~呵呵,可以互相交流一下哦:)
发表于 2005-2-24 13:21 | 显示全部楼层

SC4PATHS讨论

XML简明教程<br />一、XML的背景和应用前景 <br />   (一)起源<br />    XML(eXtended Markup Language)是从SGML(Standard Generalized Markup Language)进化来的,最初SGML是为了解决文<br />档及其格式问题的一种标记语言,所以非常的复杂和难以使用,那时计算机的应用水平还处在很低的阶段,并且那时人们只需要传递<br />和显示一些简单的数据。因此,89年Tim Berners-lee依据SGML开发出一种超文本格式,就叫HTML(HyperText Markup Language),<br />非常的简单。当计算机的应用水平也大幅度的提高的时候,人们已经对太简单的HTML开始不满意,因此又开始对其进行修改、升级,<br />就这样HTML从1.0一直升到4.0的版本,扩展了许多的命令,实际上也是为了让HTML解决更多的问题,但是因为HTML本身的缺陷,为了<br />解决更多的问题,是不是会把简单的HTML变成一个非常复杂的,难以理解的语言,就连现在看一个HTML的源文件,都会头大好几圈,<br />再加上HTML是把数据和显示格式一起存放的,如果我们只想使用数据而不需要格式,可以想象,分离这些数据和格式是多么的困难。<br />而随着Internet的发展, 98年1月W3C公布了XML1.0版本,立即成为计算机史上一个重要的里程碑。<br />    XML包括XML元数据文件、Schema文件、XSLT显示文件、XLL链接、Xpath等一系列相关部分,但是对于不是计算机方面的专业<br />人士来讲,最好只看它的元数据文件,而把别的问题交给开发和制作人员,这样就可以让非专业人士脱离看懂那些头疼的术语的痛苦<br />。在此就先说说XML的特点:<br />   1. 电子数据交换(EDI)<br />   2. 灵活的开发<br />    因为XML是数据和格式分离设计的,所以XML元数据文件就是纯数据的文件,这样就可以使用同一个数据源,显示多种样式了<br />。而使用HTML的话,每显示一种式样,就必须重新把数据和格式混到一起,这是一件很痛苦的事情。<br />    XML采用的TAG是自己定义的,这样我们的数据文件的可读性就能大大提高,也不再局限于HTML文件那些标准的TAG了。而且因<br />为XML支持Unicode,所以我们就可以使用中文标记(TAG),是不是感觉很自由呢?看看这样一个存放职员数据的XML数据文件:<br />    &lt;职员&gt;<br />     &lt;姓名&gt;于青&lt;/姓名&gt;<br />     &lt;性别&gt;女&lt;/性别&gt;<br />     &lt;年龄&gt;23&lt;/年龄&gt;<br />     &lt;学历&gt;&lt;/学历&gt;<br />    &lt;教育经历&gt;<br />     &lt;毕业学校&gt;北京大学&lt;/毕业学校&gt;<br />     &lt;入学时间&gt;1996-09-01&lt;/入学时间&gt;<br />     &lt;毕业时间&gt;2001-07-01&lt;/毕业时间&gt;<br />     &lt;专业&gt;中文&lt;/专业&gt;<br />    &lt;/教育经历&gt;<br />    &lt;/职员&gt;<br />   看到这个文件感觉是不是很棒?这样的文件不需要使用很复杂和专业的工具就可以增加、修改和编辑(使用微软的记事本就可以<br />做到这些),而且大部分人都可以使用,可以让一个非计算机的专业人士,在10分钟内学会,这就是一个XML元数据文件的样子。当然<br />XML文件也不象HTML那样可以写的不完整,XML必须写的中规中矩(well formed),否则XML的解析器就会报错。<br />   3. 面向对象的特性<br />    XML的文件是以树状方式存储,同时也有属性,这非常符合面向对象方面的编程,而且也体现了以对象方式存储,ORACLE数据<br />库就使用了这种面向对象的特性,但是ORACLE数据库的根本是关系型的数据库,因此速度和稳定性都有一定的问题,而且特别的复杂<br />,所以大家基本上是很少使用它的这一特性,深怕跳到坑里去!<br />   4. 缺陷<br />    世界上永远也不会出现完美的语言的,XML也是一样,它也有很多的缺陷,虽然它是树状存储的,搜索的效率极高,但是问题<br />不是在搜索,而是在于目前它的插入和修改,!<br />#1 二、XML基础<br />   (一)XML术语<br />    在学习XML之前,我想先给大家介绍一些XML使用的术语。平常我们学习新的语言时,总会遇到许多难以理解的术语,在这里<br />就先介绍一些主要的给大家。<br />   元素(Elements):代表XML文档中的每一个组件,包含字符、元素或者两者皆有,允许有空元素(empty element)。<br />   属性(Attributes):放在元素后面的数据,代表这个元素的另一种特性和特征。<br />   统一编码(Unicode):一种字符集,包括了全世界各种语言中有用的字符。<br />   实体:“文本片”,实体也像一个缩写,一个实体可以是一个字符也可以是一个文档的数据,是XML文本的基本单位。<br />   标记(Markup):像标记(TAG)、实体引用(Entity reference)和声明这样的构件。<br />   样式表(XSL):描述XML的元数据文件格式的语言(因为CSS对于XML来讲不够用)。<br />   序言(Prolog):关于文档实例表现形式的信息。<br />   文档实例(Document instance):以元素的层次结构组织的实际文档数据。<br />   (二)XML语法简介<br />    1.看一个简单的例子<br />    这是一个关于库存物品清单的简单例子,大家可以从中发现XML的许多特性,并且可以体会到XML的元数据文件是非常清晰易<br />读的:<br />  &lt;&#33;-XML文件示例--&#62;<br />  &lt;?xml version=&quot;1.0&quot; encoding=&quot;GB2312&quot; ?&gt;<br />  &lt;库存清单&gt;<br />   &#60;&#33;--这里就是注释--&#62;<br />   &lt;库存物品&gt;<br />   &lt;名称&gt;毛巾&lt;/名称&gt;<br />   &lt;规格 单位=&quot;cm&quot;&gt;25*50&lt;/规格&gt;<br />   &lt;生产厂家&gt;中国棉纺厂&lt;/生产厂家&gt;<br />   &lt;生产日期&gt;20010-09-01&lt;/生产日期&gt;<br />   &lt;数量 单位=&quot;条&quot;&gt;400&lt;/数量&gt;<br />   &lt;进货价 单位=&quot;元&quot;&gt;2.5&lt;/进货价&gt;<br />   &lt;零售价 单位=&quot;元&quot;&gt;6.5&lt;/零售价&gt;<br />   &lt;/库存物品&gt;<br />   &lt;库存物品&gt;<br />   &lt;名称&gt;碗&lt;/名称&gt;<br />   &lt;规格 单位=&quot;cm&quot;&gt;5*15&lt;/规格&gt;<br />   &lt;生产厂家&gt;中国搪瓷厂&lt;/生产厂家&gt;<br />   &lt;生产日期&gt;20010-09-11&lt;/生产日期&gt;<br />   &lt;数量 单位=&quot;个&quot;&gt;200&lt;/数量&gt;<br />   &lt;进货价 单位=&quot;元&quot;&gt;1.5&lt;/进货价&gt;<br />   &lt;零售价 单位=&quot;元&quot;&gt;4.5&lt;/零售价&gt;<br />   &lt;/库存物品&gt;<br />   &lt;库存物品&gt;<br />   &lt;名称&gt;筷子&lt;/名称&gt;<br />   &lt;规格 单位=&quot;个&quot;&gt;1*10&lt;/规格&gt;<br />   &lt;生产厂家&gt;中国搪瓷厂&lt;/生产厂家&gt;<br />   &lt;生产日期&gt;20010-09-11&lt;/生产日期&gt;<br />   &lt;数量 单位=&quot;把&quot;&gt;200&lt;/数量&gt;<br />   &lt;进货价 单位=&quot;元&quot;&gt;1.5&lt;/进货价&gt;<br />   &lt;零售价 单位=&quot;元&quot;&gt;3.5&lt;/零售价&gt;<br />   &lt;/库存物品&gt;<br />  &lt;/库存清单&gt;<br />  <br />    看过了XML语言的基本格式,下面将详细讲解XML元数据文件的各个组成部分,实际就上面这些而言是非常简单的,当然,我<br />们要想更清楚的了解和学习XML,就必须清楚地知道这些定义的意义。<br />    2.声明(Declaration)<br />    XML数据文件的定义不象HTML那样自由,它是非常严格的,缺少一个就会出错!因为每个XML的解析器第一步要做的事情就是<br />检查XML文件是否合格,就是“well-formed”,所以大家看到第一句是这样些的:<br />  &lt;?xml version=&quot;1.0&quot; encoding=&quot;GB2312&quot; ?&gt;<br />   注意的是:不能漏掉此句,否则解析器不予解析的!当然里面的encoding可以不用写,缺省是Unicode,在此对XML使用的字符编<br />码作一下说明,大家都应该知道中文和英文的区别吧,呵呵,有人说了,这也太简单了,实际上平时有区别就罢了,结果闹到计算机<br />上真是比较麻烦,大家用过古董DOS的就知道使用汉字在计算机上是一件多么困难的事情,别人26个字母就可以搞定,汉字却要好几万<br />个。现在的计算机的发展虽然神速,可国际化的问题却一直存在,况且不属英语语系的国家也都有此类问题,因此美国的各大电脑厂<br />商组成了一个Unicode促进会,结合ISO的字库标准,推出了Unicode,这个编码可以满足绝大多数语系的需要!<br />    3.元素(Elements)和属性(Attributes)<br />    &lt;元素名 属性名=”属性值”&gt;<br />   &lt;子元素&gt;元素的数据&lt;/子元素&gt;<br />    &lt;/元素名&gt;<br />    大家看上面的这个例子,就能很形象的理解什么是元素什么是属性,但是需要注意的是元素的大小写是不一样的,也就是说&lt;<br />t&gt;&lt;/t&gt;和&lt;T&gt;&lt;/T&gt;不是同一个元素。还有就是元素里的数据,只要是合法的就会完全忠实的成为数据,就如:<br />    &lt;元素名&gt;这是一个&lt;/元素名&gt;<br />    &lt;&#33;-这是另一个--&#62;<br />    &lt;元素名&gt;这是一个 &lt;/元素名&gt;<br />    &lt;&#33;-这又是另一个--&#62;<br />    &lt;元素名&gt;这是一个<br />    &lt;/元素名&gt;<br />    大家注意到没有,第一、二只差一个空格,第三个则是多了一个回车符,但是这三个数据却是不同的数据,因此大伙在写这<br />些数据的时候可一定要小心!<br />    如果大家对于面向对象熟悉的话,一定清楚类也是有属性的,而XML自然也是包括属性的,XML的元素是拥有属性的,而且可<br />以有许多属性,并且属性值必须使用单引号或双引号包含起来。<br />    4.注释(Comments)<br />    如果大家编写过程序,就一定知道,看别人的程序是一件非常痛苦的事情。如果别人的程序是没有注释的话,那简直就成了<br />一种惨无人道的折磨,呵呵,所以,在文档中嵌入关于文档和标记的信息就是很有帮助的。这样不但可以帮助别人也可以帮助自己。<br />   在XML的注释里是这样的:<br />  &lt;&#33;-啊,这就是帮助--&#62;<br />   在这个注释中间,可以放入除了“--”符号以外的所有字符,这稍稍有些不习惯,我们往往会使用这个符号来分离不同组成部分<br />的文档,在XML的文件里则需要改一改了。<br />   5.预定义实体<br />    当我们创建XML时候,有些符号例如“&lt;”等和XML相重的标记,譬如下面的:<br />    &lt;文章&gt;<br />   &lt;段落&gt;<br />   &lt;html&gt;<br />   &lt;head&gt;<br />   &lt;title&gt;&lt;/title&gt;<br />    &lt;/head&gt;<br />   &lt;body&gt;<br />   &lt;h1&gt;我们那嘎都是活雷锋&lt;/h1&gt;<br />   &lt;b&gt;老张开车去东北……撞了&lt;/b&gt;<br />   &lt;/body&gt;<br />   &lt;/html&gt;<br />   &lt;/段落&gt;<br />    &lt;/文章&gt;<br />   这样是肯定行不通的,HTML和XML的定义相重,因为XML有5种预定义的实体,如下:<br />  &amp;amp;-------------------&amp;<br />  &amp;lt;----------------------&lt;<br />  &amp;gt;--------------------- &gt;<br />  &amp;apos;------------------‘<br />  &amp;quot;------------------“<br />   这样再写这些文件就会象下面这样:<br />  &lt;文章&gt;<br />   &lt;段落&gt;<br />   &amp;lt;html&amp;gt;<br />   &amp;lt;head&amp;gt;<br />   &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;<br />    &amp;lt;/head&amp;gt;<br />   &amp;lt;body&amp;gt;<br />   &amp;lt;h1&amp;gt;我们那嘎都是活雷锋&amp;lt;/h1&amp;gt;<br />   &amp;lt;b&amp;gt;老张开车去东北……撞了&amp;lt;/b&amp;gt;<br />   &amp;lt;/body&amp;gt;<br />   &amp;lt;/html&amp;gt;<br />   &lt;/段落&gt;<br />  &lt;/文章&gt;<br />   解析器会自动把这些符号转换成我们所要的文件,但是这样实在是不好看懂,所以就又有了这个CDATA。<br />   6.CDATA<br />    从上面那一节的例子可以看出,使用预定义实体实在是难以看懂,但是有了这个CDATA之后,我们就可以让分析器把那些特殊<br />数据当作普通的数据来处理了!<br />   CDATA的定义如下:<br />  &lt;&#33;[CDATA[ 内容 ]]&gt;<br />   将上节的例子拿来使用:<br />  &lt;文章&gt;<br />   &lt;段落&gt;&lt;&#33;[CDATA[<br />   &lt;html&gt;<br />   &lt;head&gt;<br />   &lt;title&gt;&lt;/title&gt;<br />    &lt;/head&gt;<br />   &lt;body&gt;<br />   &lt;h1&gt;我们那嘎都是活雷锋&lt;/h1&gt;<br />   &lt;b&gt;老张开车去东北……撞了&lt;/b&gt;<br />   &lt;/body&gt;<br />   &lt;/html&gt;<br />   ]]&gt;<br />   &lt;/段落&gt;<br />  &lt;/文章&gt;<br />   这样,解析器就可以解释在这个符号中间的特殊字符了!<br />#1 三、 CHEMA简介<br />   (一) Schema的引入<br />    通过上几章介绍,相信大家对XML的基本语法已经有了一个基本了解。 XML本身的语法很严谨,也就是要求格式必须严整,包<br />括区分大小写、整个文档有且只有一个根、需要序言等等。在符合格式化良好的要求以后,就可以写出规则整齐、可以通过内置XML解<br />析器的浏览器解析XML文档了。但XML本身也相当的灵活,在符合基本语法的前提下,可以任意的编写各种符合XML语法要求的文档,这<br />也正是XML可扩展的灵活性所在,但同时也产生了问题,比如要写一个说明个人信息的XML文档,可以这样写:<br />  &lt;?xml version = “1.0” encoding=”GB2312” ?&gt;<br />  &lt;resume&gt;<br />   &lt;name&gt;张立东&lt;/name&gt;<br />   &lt;sex&gt;男&lt;/sex&gt;<br />   &lt;age&gt;28&lt;/age&gt;<br />   &lt;birthday&gt;1974-8-10&lt;/birthday&gt;<br />   &lt;address&gt;北京市 海淀区&lt;/address&gt;<br />  &lt;/resume&gt;<br />   也可以这么写:<br />  &lt;?xml version = “1.0” encoding=”GB2312”?&gt;<br />   &lt;resume&gt;<br />   &lt;name&gt;张立东&lt;/name&gt;<br />   &lt;sex&gt;男&lt;/sex&gt;<br />   &lt;age&gt;28&lt;/age&gt;<br />   &lt;birthday&gt;<br />   &lt;year&gt;1974&lt;/year&gt;<br />   &lt;month&gt;8&lt;/month&gt;<br />   &lt;day&gt;10&lt;/day&gt;<br />   &lt;/birthday&gt;<br />   &lt;address&gt;北京市 海淀区&lt;/address&gt;<br />  &lt;/resume&gt;<br />   上面的两个文档对于人来说是很容易看懂的,但对于机器来说,它们就无法判断<br />  &lt;birthday&gt;1974-8-10&lt;/birthday&gt;和<br />   &lt;birthday&gt;<br />   &lt;year&gt;1974&lt;/year&gt;<br />   &lt;month&gt;8&lt;/month&gt;<br />   &lt;day&gt;10&lt;/day&gt;<br />   &lt;/birthday&gt;<br />  中的内容是否相同了。这就需要一个相应的“约束”,来规定一个固定的格式,这样机器才可以正确的识别、比较和处理。正如<br />没有规矩难以成方圆一样, XML这么强大的语言自然也有这方面的考虑,这也就是DTD和Schema所要完成的功能。<br />   (二)DTD和Schema<br />    提到Schema就必须提到DTD。最早建立对SGML约束的是DTD,而XML又是SGML的超集,所以DTD由于历史的原因也可以对XML本身<br />进行约束,比如:每个节点可以含有的元素、元素的个数等等。但它也有很多的局限性,如不能定义元素值的范围、学习起来有一定<br />的难度(要学习一种新的语法)等等。而最新的XML约束标准就可以轻松的满足要求,这就是Schema。Schema与DTD不同,DTD本身有自<br />己的语法和要求,而Schema是完全符合XML语法的,只要对XML有初步的了解,就很容易对Schema上手。说了这么多,还是首先让我们<br />通过一个例子来看看Schema是如何定义XML结构的吧:<br />  [1]&lt;?xml version=&quot;1.0&quot; encoding=&quot;GB2312&quot; ?&gt;<br />  [2]&lt;Schema xmlns=&quot;urn:schemas-microsoft-com:xml-data&quot;<br />  [3] xmlns:dt=&quot;urn:schemas-microsoft-com:datatypes&quot;&gt;<br />  [4] &lt;ElementType name= &quot;name&quot;/&gt;<br />  [5] &lt;ElementType name= &quot;sex&quot;/&gt;<br />  [6] &lt;ElementType name= &quot;age&quot;/&gt;<br />  [7]<br />  [8] &lt;ElementType name= &quot;address&quot; /&gt;<br />  [9] &lt;ElementType name= &quot;month&quot;/&gt;<br />  [10] &lt;ElementType name= &quot;year&quot;/&gt;<br />  [11] &lt;ElementType name= &quot;day&quot;/&gt;<br />  [12] &lt;ElementType name= &quot;birthday&quot; content=&quot;eltOnly&quot;&gt;<br />  [13] &lt;element type= &quot;year&quot; /&gt;<br />  [14] &lt;element type= &quot;month&quot; /&gt;<br />  [15] &lt;element type= &quot;day&quot; /&gt;<br />  [16] &lt;/ElementType&gt;<br />  [17] &lt;ElementType name= &quot;resume&quot; content=&quot;eltOnly&quot;&gt;<br />  [18] &lt;element type= &quot;name&quot; /&gt;<br />  [19] &lt;element type=&quot;sex&quot;/&gt;<br />  [20] &lt;element type=&quot;age&quot;/&gt;<br />  [21] &lt;element type=&quot;birthday&quot;/&gt;<br />  [22] &lt;element type=&quot;address&quot;/&gt;<br />  [23] &lt;/ElementType&gt;<br />  [24]&lt;/Schema&gt;<br />   下面对上面的例子做一个简单的讲解:<br />   [1]行是一个XML序言,从这行也可以看出Schema是符合XML基本语法要求的。<br />   [2]-[3]是对Schema名域的一个定义。(由于我们这里是一个XML的入门文章,有关XML的名域问题可以参考相应的XML文档。)<br />   [4]定义一个名字为name的元素。<br />   [5]-[11]分别是对sex、age、address、month、year、day元素的定义。<br />   [12]-[16]是对birthday元素的一个定义,但birthday这个元素比较特殊,它其中又包含了year、month和day三个元素。 <br />其中content这个属性是对元素中的数据进行说明的。根据content中的数据eltOnly可以知道这个birthday元素的数据只能够由元素构<br />成。<br />   [17]-[23]是对resume这个元素的定义,resume这个元素是由name、sex、age、birthday、address这几个元素构成的。<br />   从上面的例子可以知道如何对一个简单的元素进行定义,也可以知道一个由其他元素组成的元素如何定义。通过由元素组成的元<br />素的这种定义,就可以定义一个嵌套结构的XML树的基本结构。<br />    到这里读者对Schema已经就有了一个基本的了解,也该是我们给Schame下一个简单定义的时候了:<br />    XML Schema是用来描述XML元素和属性的。它包括属性和元素类型说明,是可以为XML元素和属性提供数据的类型校验模块。<br />#1 四、xslt简介<br />    了解XML的基本语法、Schema的语法还远远不够,XML是对数据和数据结构的存储,而Schema是对XML数据类型的定义。直到这<br />里还没有对XML数据的显示进行处理。虽然可以通过内置有XML解析器的浏览器直接对XML数据进行查看,但毕竟看到的只是以树状结构<br />显示的XML数据。<br />    如果要把XML数据以漂亮的形式显示出来就需要XSLT帮忙了。XSLT可以把XML处理成HTML形式输出、WAP形式输出,甚至也可以<br />是Word文档的格式。其中最常用到的还是HTML的格式,下面讲解中用到的所有例子都以HTML的转换格式为例子。那就不说废话了,还<br />是先看一个XSLT的例子吧!<br />   这个XSLT用到的一个XML文档,文档如下:<br />  &lt;?xml version = &quot;1.0&quot; encoding=&quot;GB2312&quot;?&gt;<br />  &lt;?xml:stylesheet type=&quot;text/xsl&quot; href=&quot;s_xlt.xslt&quot;?&gt;<br />   &lt;resumes&gt;<br />   &lt;resume&gt;<br />   &lt;name&gt;张立东&lt;/name&gt;<br />   &lt;sex&gt;男&lt;/sex&gt;<br />   &lt;age&gt;28&lt;/age&gt;<br />   &lt;birthday&gt;<br />   &lt;year&gt;1974&lt;/year&gt;<br />   &lt;month&gt;8&lt;/month&gt;<br />   &lt;day&gt;10&lt;/day&gt;<br />   &lt;/birthday&gt;<br />   &lt;address&gt;北京市 海淀区&lt;/address&gt;<br />    &lt;/resume&gt;<br />   &lt;resume&gt;<br />   &lt;name&gt;张三&lt;/name&gt;<br />   &lt;sex&gt;男&lt;/sex&gt;<br />   &lt;age&gt;50&lt;/age&gt;<br />   &lt;birthday&gt;<br />   &lt;year&gt;1951&lt;/year&gt;<br />   &lt;month&gt;6&lt;/month&gt;<br />    &lt;day&gt;9&lt;/day&gt;<br />   &lt;/birthday&gt;<br />   &lt;address&gt;山西省&lt;/address&gt;<br />   &lt;/resume&gt;<br />   &lt;resume&gt;<br />   &lt;name&gt;李四&lt;/name&gt;<br />   &lt;sex&gt;男&lt;/sex&gt;<br />    &lt;age&gt;29&lt;/age&gt;<br />   &lt;birthday&gt;<br />   &lt;year&gt;1973&lt;/year&gt;<br />    &lt;month&gt;7&lt;/month&gt;<br />    &lt;day&gt;12&lt;/day&gt;<br />   &lt;/birthday&gt;<br />    &lt;address&gt;山东省&lt;/address&gt;<br />   &lt;/resume&gt;<br />  &lt;/resumes&gt;<br />   注:在上面的XML文档中多了下面的一句:<br />  &lt;?xml:stylesheet type=&quot;text/xsl&quot; href=&quot;s_xlt.xslt&quot;?&gt;<br />    这一句就是对XSLT的引用,其中href中的内容是对具体XSLT文档位置的指定,有关s_xlt.xslt中的内容就是下面要介绍的XSL<br />T例子的内容。有关如何对XML,XLST、Schema的使用和测试,可以参考“一个应用了xml、schema和xlst的例子”部分。<br />   对这个XML文档进行转换处理的XSLT文档如下:<br />  [1]&lt;?xml version=&quot;1.0&quot; encoding=&quot;GB2312&quot;?&gt;<br />  [2]&lt;xsl:stylesheet version=&quot;1.0&quot; xmlns:xsl=&quot;http://www.w3.org/TR/WD-xsl&quot;&gt;<br />  [3] &lt;xsl:template match=&quot;/&quot;&gt;<br />  [4] &lt;HTML&gt;<br />  [5] &lt;HEAD&gt;<br />  [6] &lt;TITLE&gt;个人简历&lt;/TITLE&gt;<br />  [7] &lt;/HEAD&gt;<br />  [8] &lt;BODY&gt;<br />  [9] &lt;xsl:for-each select=&quot;/resumes/resume&quot;&gt;<br />  [10] &lt;P&gt;<br />  [11] &lt;TABLE border=&quot;1&quot; &gt;<br />  [12] &lt;CAPTION style=&quot;font-size: 150%; font-weight: bold&quot;&gt;<br />  [13] 个人简历<br />  [14] &lt;/CAPTION&gt;<br />  [15] &lt;TR&gt;<br />  [16] &lt;TH&gt;姓名&lt;/TH&gt;&lt;TD&gt;&lt;xsl:value-of select=&quot;name&quot;/&gt;&lt;/TD&gt;<br />  [17] &lt;TH&gt;性别&lt;/TH&gt;&lt;TD&gt;&lt;xsl:value-of select=&quot;sex&quot;/&gt;&lt;/TD&gt;<br />  [18] &lt;TH&gt;生日&lt;/TH&gt;&lt;TD&gt;&lt;xsl:value-of select=&quot;birthday/year&quot;/&gt;年<br />  &lt;xsl:value-of select=&quot;birthday/month&quot;/&gt;月&lt;xsl:value-of select=&quot;birthday/day&quot;/&gt;日&lt;/TD&gt;<br />  [19] &lt;/TR&gt;<br />  [20] &lt;TR&gt;<br />  [21] &lt;TH&gt;地址&lt;/TH&gt;&lt;TD colspan=&quot;5&quot;&gt;&lt;xsl:value-of select=&quot;address&quot;/&gt;&lt;/TD&gt;<br />  [22] &lt;/TR&gt;<br />  [23] &lt;/TABLE&gt;<br />  [24] &lt;/xsl:for-each&gt;<br />  [25] &lt;/BODY&gt;<br />  [26] &lt;/HTML&gt;<br />  [27] &lt;/xsl:template&gt;<br />  [28]&lt;/xsl:stylesheet&gt;<br />   [1]XML的序言,从第一条语句可以看出XSLT也是符合XML语法的。<br />   [2]XSLT的名域。Xsl:stylesheet是XSLT的根元素,xsl是XSLT的名域标识。所以都要在XSLT的语句前面加上xsl:来表明是XSLT<br />的语句。<br />   [3] &lt;xsl:template match=&quot;/&quot;&gt; 是XSLT语言的匹配模式,主要是和引用它的XML文档的根进行匹配。其中/是代表XML文档根的含<br />义。 例如:个人简介中的name可以用/resumes/resume/name <br />的方式进行引用。(由于这里只是对XSLT入门的一个初步介绍,对有关XML路径想详细了解的读者可以参考XML文档的XPATH部分。)<br />   [4]-[8]可以直接输出,这部分是符合HTML语法的信息结构,HTML文档的开始部分和head的定义。<br />   [9] &lt;xsl:for-each select=&quot;/resumes/resume&quot;&gt;是XSLT语言的选择模式,是循环的对所有的/resumes/resume元素和这个元素所<br />包含的子元素进行处理。<br />   [10]-[15] 可以直接输出,符合HTML的语法结构。<br />   [16] &lt;TH&gt;姓名&lt;/TH&gt;&lt;TD&gt;&lt;xsl:value-of select=&quot;name&quot;/&gt;&lt;/TD&gt; <br />在这一行中有HTML的语句和也有XSLT的语句。其中&lt;xsl:value-of select=&quot;name&quot;/&gt;也是属于选择模式的语句,可以直接把select选中<br />的元素内容提取处理,处理以后的结果应该是:&lt;TH&gt;姓名&lt;/TH&gt;&lt;TD&gt;张立东&lt;/TD&gt;。<br />   [18]-[23]分别是对其他部分信息的显示处理,其中也包含了部分的HTML语句。<br />   [24] &lt;xsl:for-each&gt; 语句的结束部分。<br />   [25]-[26]HTML语句。<br />   [27] &lt;xsl:template&gt; 语句的结束部分。也就是对整个XML文档处理的结束。因为每个XML文档只有一个根而这条语句是对根的部<br />分处理,所以是对整个XML文档处理的结束。<br />   [28] XSLT文档的结束。<br />    经上面对这个简单例子的介绍,大家对XSLT对XML文档的处理可能已经有了一个基本的了解,可以简单的通过XSLT对XML进行<br />处理啦。在结束这个部分之前对XSLT的语法做一个简单的小结:<br />    可以大致的把模式语言分为三种:<br />    选择模式<br />    &lt;xsl:for-each&gt;、&lt;xsl:value-of&gt;,和 &lt;xsl:apply-templates&gt; <br />    测试模式<br />    &lt;xsl:if&gt; 和&lt;xsl:when&gt;<br />    匹配模式<br />    &lt;xsl:template&gt;<br />    选择模式语句将数据从XML中提取出来,这是一种简单获得数据的方法。这几个标记都有一个select属性,选取XML中特定结<br />点名的数据。<br />    测试模式是对数据的一个判断,然后根据判断和匹配的结果进行处理。有些和程序语言中的判断语句和多判断语句形似。<br />    匹配模式是一个可以单独列出来的XSLT语句片断,可以完成对一个特定部分的XSLT处理。有些和程序设计中的子程序相似。<br />#1 五、一个应用了xml、schema和xlst的例子<br />    通过上面的介绍,大家可能都已经跃跃欲试,想自己做一个XML方面的小应用了。那么在这里就满足大家的要求,举一个比较<br />全面的有实际意义的例子。<br />   假如有一个订单要处理,订单的基本内容包括客户的信息和产品信息两个部分。<br />   客户信息主要由客户姓名、电话、传真、地址组成。<br />    产品信息由编号、名称、规格、价格、购买数量组成。<br />    为了写一个标准的XML文档,首先要写一个Schema来对XML文档进行约束:<br /><br /> 点击浏览该文件<br />以下内容为程序代码:<br /><br />&lt;?xml version=&quot;1.0&quot; encoding=&quot;GB2312&quot;?&gt;<br />&lt;Schema xmlns=&quot;urn:schemas-microsoft-com:xml-data&quot;<br /> xmlns:dt=&quot;urn:schemas-microsoft-com:datatypes&quot;&gt;<br />&lt;ElementType name= &quot;姓名&quot;/&gt;<br />&lt;ElementType name= &quot;电话&quot;/&gt;<br />&lt;ElementType name= &quot;传真&quot;/&gt;<br />&lt;ElementType name= &quot;地址&quot;/&gt;<br />&lt;ElementType name= &quot;编号&quot;/&gt;<br />&lt;ElementType name= &quot;名称&quot;/&gt;<br />&lt;ElementType name= &quot;规格&quot;/&gt;<br />&lt;ElementType name= &quot;价格&quot;/&gt;<br />&lt;ElementType name= &quot;购买数量&quot;/&gt;<br />&lt;ElementType name= &quot;客户&quot; content=&quot;eltOnly&quot;&gt;<br /> &lt;element type= &quot;姓名&quot;/&gt;<br /> &lt;element type= &quot;电话&quot;/&gt;<br /> &lt;element type= &quot;传真&quot;/&gt;<br /> &lt;element type= &quot;地址&quot;/&gt;<br />&lt;/ElementType&gt;<br />&lt;ElementType name= &quot;产品&quot; content=&quot;eltOnly&quot;&gt;<br /> &lt;element type= &quot;名称&quot; /&gt;<br /> &lt;element type=&quot;规格&quot;/&gt;<br /> &lt;element type=&quot;价格&quot;/&gt;<br /> &lt;element type=&quot;购买数量&quot;/&gt;<br />&lt;/ElementType&gt;<br />&lt;ElementType name= &quot;订单&quot; content=&quot;eltOnly&quot;&gt;<br /> &lt;element type= &quot;客户&quot; /&gt;<br /> &lt;element type=&quot;产品&quot;/&gt;<br />&lt;/ElementType&gt;<br />&lt;ElementType name= &quot;全部订单&quot; content=&quot;eltOnly&quot;&gt;<br /> &lt;element type= &quot;订单&quot; /&gt;<br />&lt;/ElementType&gt;<br />&lt;/Schema&gt;<br />   可以把上面的Schema文档存储为:Sch.xml,在下面的xml文档中会用到这个Schema。<br />   下面是根据上面的约束写的一段XML文档:<br /><br /> 点击浏览该文件<br />以下内容为程序代码:<br /><br />&lt;?xml version=&quot;1.0&quot; encoding=&quot;GB2312&quot;?&gt;<br />&lt;?xml:stylesheet type=&quot;text/xsl&quot; href=&quot;S2_xls.xslt&quot;?&gt;<br />&lt;全部订单 xmlns=&quot;x-schema:Sch.xml&quot;&gt;<br />&lt;订单&gt;<br />&lt;客户&gt;<br /> &lt;名称&gt;张立东&lt;/名称&gt;<br /> &lt;电话&gt;010-12345678&lt;/电话&gt;<br /> &lt;传真&gt;010-87654321&lt;/传真&gt;<br /> &lt;地址&gt;北京市 海淀区&lt;/地址&gt;<br />&lt;/客户&gt;<br />&lt;产品&gt;<br /> &lt;名称&gt;扳手&lt;/名称&gt;<br /> &lt;价格&gt;10&lt;/价格&gt;<br /> &lt;规格&gt;中&lt;/规格&gt;<br /> &lt;购买数量&gt;2&lt;/购买数量&gt;<br />&lt;/产品&gt;<br />&lt;/订单&gt;<br />&lt;/全部订单&gt;<br />   下面是对XML进行处理的S2_xls.xslt的内容:<br /><br /> 点击浏览该文件<br />以下内容为程序代码:<br /><br />&lt;?xml version=&quot;1.0&quot; encoding=&quot;GB2312&quot;?&gt;<br />&lt;xsl:stylesheet version=&quot;1.0&quot; xmlns:xsl=&quot;http://www.w3.org/TR/WD-xsl&quot;&gt;<br />&lt;xsl:template match=&quot;/&quot;&gt;<br />&lt;HTML&gt;<br />&lt;HEAD&gt;<br /> &lt;TITLE&gt;全部订单&lt;/TITLE&gt;<br />&lt;/HEAD&gt;<br />&lt;BODY&gt;<br /> &lt;h1&gt;订单内容&lt;/h1&gt;<br /> &lt;xsl:for-each select=&quot;全部订单/订单&quot;&gt;<br /> &lt;TABLE border=&quot;1&quot; &gt;<br />  &lt;TR&gt;<br />   &lt;TH&gt;客户名称:&lt;/TH&gt;&lt;TD&gt;&lt;xsl:value-of select=&quot;客户/名称&quot;/&gt;&lt;/TD&gt;<br />   &lt;TH&gt;电话&lt;/TH&gt;&lt;TD&gt;&lt;xsl:value-of select=&quot;客户/电话&quot;/&gt;&lt;/TD&gt;<br />   &lt;TH&gt;传真&lt;/TH&gt;&lt;TD&gt;&lt;xsl:value-of select=&quot;客户/传真&quot;/&gt; &lt;/TD&gt;<br />  &lt;/TR&gt;<br />  &lt;TR&gt;<br />   &lt;TH&gt;地址&lt;/TH&gt;&lt;TD colspan=&quot;5&quot;&gt;&lt;xsl:value-of select=&quot;客户/地址&quot;/&gt;&lt;/TD&gt;<br />  &lt;/TR&gt;<br /> &lt;/TABLE&gt;<br /> &lt;TABLE border=&quot;1&quot; &gt;<br />  &lt;TR&gt;<br />   &lt;TH&gt;产品名称:&lt;/TH&gt;&lt;TD&gt;&lt;xsl:value-of select=&quot;产品/名称&quot;/&gt;&lt;/TD&gt;<br />   &lt;TH&gt;价格&lt;/TH&gt;&lt;TD&gt;&lt;xsl:value-of select=&quot;产品/价格&quot;/&gt;&lt;/TD&gt;<br />   &lt;TH&gt;规格&lt;/TH&gt;&lt;TD&gt;&lt;xsl:value-of select=&quot;产品/规格&quot;/&gt; &lt;/TD&gt;<br />  &lt;/TR&gt;<br />  &lt;TR&gt;<br />   &lt;TH&gt;购买数量&lt;/TH&gt;&lt;TD colspan=&quot;5&quot;&gt;&lt;xsl:value-of select=&quot;产品/购买数量&quot;/&gt;&lt;/TD&gt;<br />  &lt;/TR&gt;<br /> &lt;/TABLE&gt;<br /> &lt;/xsl:for-each&gt;<br />&lt;/BODY&gt;<br />&lt;/HTML&gt;<br />&lt;/xsl:template&gt;<br />&lt;/xsl:stylesheet&gt;<br /><br />    把上面的Schema和XSLT按照例子中的名字存储到磁盘,然后把XML的内容存储成为文件,放到相同的子目录下,然后用IE 5.0 <br />进行解析处理,就会看到符合Schema要求、经过XSLT处理的文档了.<br />#1 六、后记 <br />    以上只是简单介绍了XML的前端应用部分,如果各位对XML的后台开发还感兴趣的话,就需要了解XML更加复杂的部分,也需要<br />知道XML的解析器是如何解析XML的。限于篇幅,只能给大家一个简单的介绍。<br />    XML文件的解析器目前分为两种:<br />    一个是DOM(Document Object Model),一个是SAX。这两个解析器都是可以解析XML的,但是在解析XML的方式上有很大的不<br />同,DOM是一次性的把XML文件读入到内存里解析,处理速度很快,而SAX则是一部分一部分的解析,所以资源占用较少,大伙了解了这<br />两种特性后,就可以有选择的使用解析器了。目前Microsoft和Java都支持这两种解析器,因此大家可以放心的使用。<br /><br />
发表于 2005-2-24 13:25 | 显示全部楼层

SC4PATHS讨论

<!--QuoteBegin-winyeah+Feb 23 2005, 01:06 PM--><div class='quotetop'>QUOTE(winyeah &#064; Feb 23 2005, 01:06 PM)</div><div class='quotemain'><!--QuoteEBegin-->Altova Enterprise XML Suite 2005这个东东复杂多了,企业版呢~<br />其实XML脚本可以在VS.NET和Delphi05都弄得来,这个就更专业咯~<br />说了半天,自己什么都没明白,一头雾水 :blink:&nbsp; :huh: <br /><br />那个Mapface的破解不行,主页更新SP2,到AstalAvista也没找到。<br />mel能百忙中抽点时间介绍下Altova ;)<br /><p align="right">[snapback]65868[/snapback]</p><br />[/QUOTE]<br />你要的Altova Enterprise XML Suite 2005 SP1软件我抽空传上来很大48M.
发表于 2005-2-24 19:30 | 显示全部楼层

SC4PATHS讨论

<!--QuoteBegin-meltonqiao+Feb 24 2005, 01:25 PM--><div class='quotetop'>QUOTE(meltonqiao &#064; Feb 24 2005, 01:25 PM)</div><div class='quotemain'><!--QuoteEBegin-->你要的Altova Enterprise XML Suite 2005 SP1软件我抽空传上来很大48M.<br /><p align="right">[snapback]65925[/snapback]</p><br />[/QUOTE]<br /><br />顺便也上传到我的FTP上吧:)
 楼主| 发表于 2005-3-7 10:28 | 显示全部楼层

SC4PATHS讨论

一个多星期无上来,工作太忙,以后再作深入研究。<br /><br />To yoga:<br />建议将jrd1209的研究文章收集起来,其原创性很强,极具长参考价值 B)
发表于 2005-3-8 14:02 | 显示全部楼层

SC4PATHS讨论

<!--QuoteBegin-winyeah+Mar 7 2005, 10:28 AM--><div class='quotetop'>QUOTE(winyeah &#064; Mar 7 2005, 10:28 AM)</div><div class='quotemain'><!--QuoteEBegin-->To yoga:<br />建议将jrd1209的研究文章收集起来,其原创性很强,极具长参考价值 B)<br /><p align="right">[snapback]66415[/snapback]</p><br />[/QUOTE]<br /><br />他文章主要都发在城建板块的,我无法管理城建。不过,可以叫jrd1209自己整理下写的文章。
发表于 2006-6-15 14:44 | 显示全部楼层

SC4PATHS讨论

啃meltonqiao的简明教程,看到一半的时候大脑内存区溢出了,过两天升级脑细胞后再来啃……
发表于 2006-6-15 15:00 | 显示全部楼层

SC4PATHS讨论

再次感觉到了当时学C语言时第一次体会到的“模块化设计”思想,似乎SC4使用的UI文件中,所有设定属性似乎也有类似的感觉。
<br />开始逐步理解了UI文档结构规则和继承属性,下一步是学习UI实现参数传递。
发表于 2006-6-16 07:59 | 显示全部楼层

SC4PATHS讨论

UI的参数传递是有限的吧……
<br />
<br />而且测试挺麻烦,如果错误的话经常就直接跳机了……
发表于 2006-6-16 08:00 | 显示全部楼层

SC4PATHS讨论

模块化?
<br />应该属于OO吧?
<br /><!--quote-yzzw+2006-06-15 15:00--><div class='quotetop'>引用:(yzzw &#064; 2006-06-15 15:00)</div><div class='quotemain'><!--quote1-->再次感觉到了当时学C语言时第一次体会到的“模块化设计”思想,似乎SC4使用的UI文件中,所有设定属性似乎也有类似的感觉。
<br />开始逐步理解了UI文档结构规则和继承属性,下一步是学习UI实现参数传递。<!--quote2--></div><!--quote3-->
<br />
发表于 2006-6-16 09:12 | 显示全部楼层

SC4PATHS讨论

昨天无聊中用DatGen打开SC4自带的语言包,发现所有的提示窗口用语——例如有关“流浪猫”说的话,居然全部都是一个HTML文件,所谓的按钮都是一个个超链接……
发表于 2006-6-16 13:27 | 显示全部楼层

SC4PATHS讨论

链接是跟HTML一样 &lt;A href=&quot;&gt; &lt;/A&gt;
<br />其实什么自解压RAR脚本什么的也一样
<br />但这也不算HTML文件吧……
<br />
<br />&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;/body&gt;呢?
发表于 2006-6-16 13:48 | 显示全部楼层

SC4PATHS讨论

我明显的看到了&quot;&lt;HTML&gt;&quot;
<br />摘录部分如下:
<br /><font color="#1e90ff">&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY background=&quot;sc4://image/46a006b0/14416264_html_TextBG_General.png&quot;&gt;
<br />&lt;font color=&quot;##3F4967&quot; face=&quot;Arta&quot; size=&quot;4&quot;&gt; 很好。您注意到日期現在往前更新了。
<br />&lt;p&gt;
<br />&lt;i&gt;您可以將模擬器調成三種速度:龜速、常速、或高速。
<br />&lt;p&gt; 讓我們回到暫停 &lt;img src=&quot;sc4://image/46a006b0/14416296_tutorial_icon_puck_pause.png&quot;&gt;.
<br />&lt;/i&gt;
<br />&lt;p&gt; 按下暫停按鈕。
<br />&lt;/FONT&gt;
<br />&lt;/BODY&gt;
<br />&lt;!-- legacy id=0xca8d8595 winflag_visible=no winflag_enabled=no href=&quot;sc4://action/next_tutorial&quot; --&gt;
<br />&lt;/HTML&gt;</font>
<br />以及
<br /><font color="#87cefa">#city#市已經不斷地成長、成長、再成長!眾多的市民自然小孩也跟著增多,所以有許多人需要接受教育。因此我和教師同僚們一同合作進行一項全新大型中學學校的計畫。有了這個玩意,我們就可以同時指導許多的學生。下次您正想要建造一所新中學時,不妨考慮這項大型教育計畫。
<br />
<br />初期設立成本︰ #building_initial_cost#
<br />
<br />每月維護費用︰ #building_monthly_cost#&lt;p&gt;
<br />
<br />&lt;a href=&quot;#link_id#game.tool_plop_building(building_tool_types.LARGE_HIGH_SCHOOL);game.expire_advice()&quot;&gt;同意&lt;/a&gt;            &lt;a href=&quot;#link_id#game.retire_advice()&quot;&gt;不同意&lt;/a&gt;</font>
<br />明显支持HTML语法……其实,我自己写的网页就经常没有&lt;head&gt;,而&lt;html&gt;其实也往往可以省略的,我发现就算忘了写,服务器通常都能自动识别而解析。
<br />发现它居然不是复杂的算法而仅仅如此简单 <img src='images/smiles/em013.GIF' smilietext=':em013:' border='0' style='vertical-align:middle' alt=':em013:' title=':em013:' />  ,等我从焦头烂额的现状中摆脱出来后,我可以考虑来个恶搞版本的SC4中文字库包,如果只是HTML而不用复杂的专用编程语言的话,不少很有趣的想法可以利用HTML实现 <img src='images/smiles/em021.gif' smilietext=':em021:' border='0' style='vertical-align:middle' alt=':em021:' title=':em021:' />  ……<!--editpost--><br /><br /><br /><div><font class='editinfo'>此帖由 yzzw 在 2006-06-16 13:54 进行编辑...</font></div><!--editpost1-->
发表于 2006-6-16 14:04 | 显示全部楼层

SC4PATHS讨论

。。。。。。。。
<br />这个还是别乱来吧,错误的说明比没有更糟糕……
发表于 2006-6-16 14:17 | 显示全部楼层

SC4PATHS讨论

我比较喜欢胡搞……不过对于大家来说比较幸运的是,YZZW近来比较忙乱,所以暂时来说,SC4世界和平的现状还不至于被某个狂人给破坏掉。
<br />
<br />虽然YZZW比较疯狂,但是一般都是轻度扰乱社会治安而绝对不会违法乱纪的程度,有关的功能说明应该不会让人过分到产生误会的。会有什么后果,我一定会预先节制,并事先进行实际测试的。
<br />(备注:虽然走题,觉得有必要强调一下,YZZW的玩笑准则——绝对不能开可能令人误会的笑话,例如“你的亲友撞车进医院了”,这种玩笑很可能造成想不到的后果,过分了。我只开正常IQ者可以明显识别的玩笑,例如“在发布这个帖子之前5秒钟,我已经死翘翘了,我的灵魂却仍坚持着按下了发送”。如果你的IQ超过正常值而误会,我只能深感遗憾。当然不一定是说不达下限阀的低超,或许您更可能是上溢超出……)
发表于 2006-6-16 14:33 | 显示全部楼层

SC4PATHS讨论

嘎嘎
<br />胡搞也是一门艺术的……
您需要登录后才可以回帖 登录 | 入住

本版积分规则

小黑屋|手机版|模拟城市中文网

GMT+8, 2024-9-24 00:23 , Processed in 0.035805 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表