matlab划分平面网格,[转载]matlab有限元网格划分distmesh使用例子http://perss

DistMesh - A Simple Mesh Generator in MATLAB

News (Mar 11, 2012)

I have not been maintaining/updating the distmesh code since I

wrote it, but by popular request I have now posted a new version.

The main differences and new features are:

New 3-D surface mesh generator distmeshsurface.m, type "help

distmeshsurface" to see some examples.

Support for general implicit functions in distmesh2d and

distmeshsurface. This means e.g. that an ellipse can be represented

by the simple expression phi(x,y)=(x/a)^2+(y/b)^2-1, even if this

is not a signed distance function.

Robustness improvements in distmesh2d, including removal of

duplicated fix points, density control, and a final mesh

cleanup.

Recompiled C-functions for 32/64-bit Windows, 64-bit Mac OS X,

and 64-bit linux.

More examples and more consistent size functions in the

examples, including a NACA0012 airfoil mesh. Type "help

distmesh2d", run the demo "meshdemo2d", or just look at the

examples further down on this page.

Description

DistMesh is a simple MATLAB code for generation of unstructured

triangular and tetrahedral meshes. It was developed

by Per-Olof

Persson (now at UC Berkeley) andGilbert

Strang in the Department of

Mathematics at MIT. A detailed description of the

program is provided in our SIAM Review paper, see documentation

below.

One reason that the code is short and simple is that the

geometries are specified by Signed Distance

Functions. These give the shortest distance from any point in

space to the boundary of the domain. The sign is negative inside

the region and positive outside. A simple example is the unit

circle in 2-D, which has the distance

function d=r-1,

where r is the distance

from the origin. For more complicated geometries the distance

function can be computed by interpolation between values on a grid,

a common representation for level set methods.

For the actual mesh generation, DistMesh uses the Delaunay

triangulation routine in MATLAB and tries to optimize the node

locations by a force-based smoothing procedure. The topology is

regularly updated by Delaunay. The boundary points are only allowed

to move tangentially to the boundary by projections using the

distance function. This iterative procedure typically results in

very well-shaped meshes.

Our aim with this code is simplicity, so that everyone can

understand the code and modify it according to their needs. The

code is not entirely robust (that is, it might not terminate and

return a well-shaped mesh), and it is relatively slow. However, our

current research shows that these issues can be resolved in an

optimized C++ code, and we believe our simple MATLAB code is

important for demonstration of the underlying principles.

To use the code, simply download it from below and run it from

MATLAB. For a quick demonstration, type "meshdemo2d" or

"meshdemond". For more details see the documentation.

Download

Download the archive below and unpack. Add this directory to

your MATLAB path, or make it the current directory. The code

contains some C++ files, and binaries for 32/64-bit Windows, 64-bit

Mac OS X, and 64-bit linux are provided, as well as the source

code.

distmesh.zip Current

version 1.1 - complete package (ZIP archive)

distmesh_v10.zip Original

version 1.0 - complete package (ZIP archive)

DistMesh is distributed under the GNU GPL; see

the License and

Copyright notice for more information.

Documentation

P.-O. Persson, G. Strang, A Simple Mesh

Generator in MATLAB.

SIAM Review, Volume 46 (2), pp. 329-345, June 2004

(PDF)

P.-O. Persson, Mesh Generation for Implicit

Geometries.

Ph.D. thesis, Department of Mathematics, MIT, Dec 2004

(PDF)

Gallery

Examples

% Example: (Uniform Mesh on Unit Circle)

fd=@(p) sqrt(sum(p.^2,2))-1;

[p,t]=distmesh2d(fd,@huniform,0.2,[-1,-1;1,1],[]);

a4c26d1e5885305701be709a3d33442f.png

% Example: (Rectangle with circular hole, refined at circle boundary)

fd=@(p) ddiff(drectangle(p,-1,1,-1,1),dcircle(p,0,0,0.5));

fh=@(p) 0.05+0.3*dcircle(p,0,0,0.5);

[p,t]=distmesh2d(fd,fh,0.05,[-1,-1;1,1],[-1,-1;-1,1;1,-1;1,1]);

a4c26d1e5885305701be709a3d33442f.png

% Example: (Polygon)

pv=[-0.4 -0.5;0.4 -0.2;0.4 -0.7;1.5 -0.4;0.9 0.1;

1.6 0.8;0.5 0.5;0.2 1;0.1 0.4;-0.7 0.7;-0.4 -0.5];

[p,t]=distmesh2d(@dpoly,@huniform,0.1,[-1,-1; 2,1],pv,pv);

a4c26d1e5885305701be709a3d33442f.png

% Example: (Ellipse)

fd=@(p) p(:,1).^2/2^2+p(:,2).^2/1^2-1;

[p,t]=distmesh2d(fd,@huniform,0.2,[-2,-1;2,1],[]);

a4c26d1e5885305701be709a3d33442f.png

% Example: (Square, with size function point and line sources)

fd=@(p) drectangle(p,0,1,0,1);

fh=@(p) min(min(0.01+0.3*abs(dcircle(p,0,0,0)), ...

0.025+0.3*abs(dpoly(p,[0.3,0.7; 0.7,0.5]))),0.15);

[p,t]=distmesh2d(fd,fh,0.01,[0,0;1,1],[0,0;1,0;0,1;1,1]);

a4c26d1e5885305701be709a3d33442f.png

% Example: (NACA0012 airfoil)

hlead=0.01; htrail=0.04; hmax=2; circx=2; circr=4;

a=.12/.2*[0.2969,-0.1260,-0.3516,0.2843,-0.1036];

fd=@(p) ddiff(dcircle(p,circx,0,circr),(abs(p(:,2))-polyval([a(5:-1:2),0],p(:,1))).^2-a(1)^2*p(:,1));

fh=@(p) min(min(hlead+0.3*dcircle(p,0,0,0),htrail+0.3*dcircle(p,1,0,0)),hmax);

fixx=1-htrail*cumsum(1.3.^(0:4)');

fixy=a(1)*sqrt(fixx)+polyval([a(5:-1:2),0],fixx);

fix=[[circx+[-1,1,0,0]*circr; 0,0,circr*[-1,1]]'; 0,0; 1,0; fixx,fixy; fixx,-fixy];

box=[circx-circr,-circr; circx+circr,circr];

h0=min([hlead,htrail,hmax]);

[p,t]=distmesh2d(fd,fh,h0,box,fix);

a4c26d1e5885305701be709a3d33442f.png a4c26d1e5885305701be709a3d33442f.png

% Example: (Uniform Mesh on Unit Sphere)

fd=@(p) dsphere(p,0,0,0,1);

[p,t]=distmeshsurface(fd,@huniform,0.2,1.1*[-1,-1,-1;1,1,1]);

a4c26d1e5885305701be709a3d33442f.png

% Example: (Graded Mesh on Unit Sphere)

fd=@(p) dsphere(p,0,0,0,1);

fh=@(p) 0.05+0.5*dsphere(p,0,0,1,0);

[p,t]=distmeshsurface(fd,fh,0.15,1.1*[-1,-1,-1;1,1,1]);

a4c26d1e5885305701be709a3d33442f.png

% Example: (Uniform Mesh on Torus)

fd=@(p) (sum(p.^2,2)+.8^2-.2^2).^2-4*.8^2*(p(:,1).^2+p(:,2).^2);

[p,t]=distmeshsurface(fd,@huniform,0.1,[-1.1,-1.1,-.25;1.1,1.1,.25]);

a4c26d1e5885305701be709a3d33442f.png

% Example: (Uniform Mesh on Ellipsoid)

fd=@(p) p(:,1).^2/4+p(:,2).^2/1+p(:,3).^2/1.5^2-1;

[p,t]=distmeshsurface(fd,@huniform,0.2,[-2.1,-1.1,-1.6; 2.1,1.1,1.6]);

a4c26d1e5885305701be709a3d33442f.png

Per-Olof Persson Department of Mathematics, UC Berkeley persson@berkeley.edu

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前 言扩展标记语言(Extensible Markup Language,XML),是目前最有前途的在World Wide Web上保存和传递信息的语言。尽管超文本标记语言(Hypertext Markup Language,HTML)目前是创建Web页的最常用语言,但是它在保存信息方面的能力很有限。与之相反,XML却有着极其灵活的语法,允许真实地描述各种类型的信息,从简单的菜谱到复杂的数据库(所以才会使用术语“扩展”)。XML文档(与样式表或传统的HTML页一起)可以很容易地在浏览器中显示。因为XML文档能如此有效地构造和标识它所包含的信息,以致于浏览器可以以非常灵活的方式发现、抽取、排序、过滤、整理以及管理信息。总之,XML提供了一种理想的方法,使用它可以处理Web上数量和复杂性快速增长的信息。为什么不阅读另一本XML书籍 XML可能会让人感到混乱。XML应用程序以令人吃惊的速度不断出现,而且XML与用来格式化、显示、处理和增强XML文档的大量相关标准和技术紧密联系在一起。许多这样的相关标准和技术还处在“幼儿”阶段,正在快速地变化和发展。大部分我读过的XML书籍都试图全面地介绍这些技术,但是却让人有一种在迷宫中迷失的感觉。我认为,这种典型的XML书籍过于肤浅地讨论了过多的XML技术,没有把实用与非实用、现在和将来相区别。本书回答了大部分基本的XML问题—什么是XML,为什么需要它,以及怎样使用它—并且介绍了到目前为止最重要、最实用的XML技术。本书的主题均是经过精心筛选的,对每一种主题的介绍都很有深度,并且避免了不完整的解决方案。(例如,因为我在第二部分介绍了怎样定义XML属性,所以在第三部分接着介绍了在显示文档时怎样访问这些属性。)直到我亲自动手编写并显示XML文档时,才真正理解了XML。因此,我在本书中也采用了这种方法,包括了许多循序渐进的指导、实用的例子和教程式的练习;避免对XML这种难于理解的主题进行理论和抽象的讨论。本书及附带的光盘还提供了一个完整的XML学习软件包。这个软件包提供了学习创建和显示XML文档所需基础知识的所有信息、指导和软件。本书还包括了指向Web上大量XML信息的详尽链接集,如果你想要了解基础知识以外的信息,则可以利用这些链接。在本书中将学到什么本书的第一部分(第1章和第2章)提供了对XML的简要介绍,并为学习后续的详细信息做准备。第1章回答了我前面提到的基本问题—什么是XML,为什么需要它,以及怎样使用它来解决现实世界的问题。第2章提供了一个手把手的练习,使你对创建XML文档并在Web浏览器中显示的全过程有一个大致印象。第二部分(第3章到第6章)重点介绍创建XML文档的规则和技术。第3章和第4章介绍怎样创建格式正确的XML文档—符合最基本的XML需求的文档。第5章和第6章介绍怎样创建有效的XML文档—符合可选和更严格的规则集的文档。第二部分中的章节基于W3C(World Wide Web协会)的正式XML规范。第三部分(第7章到第10章)介绍目前最重要的在Web浏览器中显示XML文档的技术。第7章和第10章解释怎样通过附加一个为浏览器提供格式指令的样式表来显示XML文档。第7章讨论级联样式表(cascading style sheet)—最简单,但是最受限的样式表类型—而第10章介绍使用XSL(扩展样式表语言,Extensible Stylesheet Language),一种用XML编写的更高级、更灵活的样式表类型。第8章和第9章介绍怎样通过把文档链接到包括访问、处理和表示XML数据的HTML Web页来显示XML文档。第8章介绍怎样使用数据绑定(data binding,一种只适用于某种XML文档的简单技术)来做到这一点。第9章介绍怎样通过可用于任意XML文档类型且高度灵活的编程对象,即众所周知的XML文档对象模型(XML Document Object Model),编写脚本来在HTML页中显示XML文档。注意 在本书中,使用术语“页面(page)”来表示HTML源文件,使用术语“文档(document)”来表示XML源文件,以便清楚地区别这两种经常一起使用的标记语言。第三部分重点讨论使用Microsoft Internet Explorer 5 Web浏览器显示XML文档。最后,附录提供了一些Web站点的地址,这些站点包含了大量有关本书中所讨论主题的更深入信息。我还在各章节中包括了这些地址,每一个地址都适用于各章节讨论的内容。在本书附带光盘的“Resource Links”文件夹中名为Appendix.htm的文件中,会找到附录的拷贝。(要了解在计算机上安装Appendix.htm的信息,参见光盘上的Readme文件。)你可以通过在Web浏览器中打开Appendix.htm文件并单击链接来访问任意一个Web站点,而不必在浏览器中输入地址。提示 你可能想要在Web上访问下列XML信息站点以便补充从本书中学到的内容。W3C在www.w3.org/中为Web创作人员提供了各种信息、标准和服务。Microsoft Developer Network(微软开发商网络,MSDN)在http://msdn.microsoft.com/xml/ default.asp中提供了Microsoft产品所支持的、有关XML的大量信息。http://www.oasis-open.org/cover/中的在线参考书《The XML Cover Page》包括了有关XML和其他标记语言的综合信息。循序渐进学习XML和Internet Explorer 尽管本书中提供的大部分技术都基于公开的标准,并且能够与大量浏览器一起协同工作,但是本书是专门为Microsoft Internet Explorer 5.0~5.5编写的。本书附带的光盘包括Internet Explorer 5.01。因此,你可以使用这张光盘上提供的浏览器软件显示本书中使用这些技术创建的任意XML文档。提示 可以从http://www.microsoft.com/windows/ie下载最新的Internet Explorer 5.5。在整本书中,Internet Explorer 5指的是Microsoft Internet Explorer 5.0~5.5。当某些信息只适用于某个Internet Explorer版本时,会及时指出,例如Internet Explorer 5.01或Internet Explorer 5.5。本书中介绍的所有特性和技术都可以用于Internet Explorer 5.5。少数几种特性是第一次出现在版本5.5中,因此无法用于以前的版本。我将清楚地标出只适用于Internet Explorer 5.5的那些特性。环境需求下面是使用本书及其附带光盘的基本硬件和软件需求: ?要访问本书附带的光盘,并安装包括在光盘中的Internet Explorer软件,需要一台运行Microsoft Windows并安装有一台CD-ROM驱动器的计算机。可以使用Windows 95、Windows 98、Windows NT 4.0(带有Service Pack3或更高版本)、Windows 2000,或者任意更高版本的Windows。 ?选择“Install Example Code And Resource Links”安装选项大约需要1MB硬盘空间。 ?要查看本书中引用的Web站点,需要连接到Internet。不过,成功地使用本书不需要查看这些站点,因此Internet连接是可选的。本书的目的是介绍XML,因此不需要事先对XML本身有所了解。不过,本书中介绍的几种有关显示XML文档的技术需要使用下列一种或多种Web创作语言:HTML、动态HTML(DHTML)和Microsoft JScript(普通JavaScript脚本语言的Microsoft版本)。尽管本书在例子中介绍了这些语言的特性,但是了解这些语言的一些基本知识仍然有用。提示 要了解在Internet Explorer 5中使用HTML和DHML的信息,请访问MSDN提供的Web站点:http://msdn.microsoft.com/workshop/author/default.asp。要阅读正式的HTML规范,参见W3C提供的Web站点:http://www.w3.org/TR/REC-html40/。在也是由MSDN提供的站点http://msdn.microsoft.com/workshop/c-frame.htm#/workshop/languages/jscript/ handling.asp和http://msdn.microsoft.com /scripting/default.htm?/scripting/jscript/default.htm中,包括完整的JScript信息,也包括初学者的教程。使用附带的光盘附带的光盘提供了下列有价值的资源,以便对本书的信息进行补充: ?本书中带有编号的程序清单的源文件拷贝。这些程序清单(例如,第2章中的程序清单2-1)提供了XML文档、样式表,和用来显示XML文档的HTML页的例子。在引入带有编号的程序清单时,也会同时给出它在光盘中对应文件的名称。(例如,程序清单2-1在文件Inventory.xml中。)所有这些文件都在附带光盘的“Example Code”文件夹中。 ?所有在XML文档示例中显示的图形文件。这些文件包含在与程序清单文件相同的光盘文件夹(Example Code)中。 ?Web页文件Appendix.htm中附录的拷贝。该文件在光盘上的“Resource Link”文件夹中。 ?Internet Explorer 5.01版。当把CD-ROM插入驱动器时,附带的光盘会自动启动安装。如果计算机不支持自动启动,就使用Windows资源管理器显示光盘的内容,并双击根文件夹中的StartCD.exe。这两种方法都可以打开欢迎屏幕。欢迎屏幕上显示了阅读Readme文件、安装示例代码和资源链接,安装Microsoft Internet Explorer 5.0,浏览光盘内容,或链接到Microsoft Press支持的Web站点等选项。一旦选择了一个选项,只要按照屏幕上显示的指示操作即可。怎样与作者联系你可以访问我的Web站点:http://ourworld.compuserve.com/homepages/mjy。那里有对本书的更正、读者的问题以及答案,获取有关XML进一步帮助的资源及相关技术,我的一些其他书籍的介绍和附加的信息。你可以给我发e-mail,地址是[email protected]。欢迎你的意见和反馈信息。尽管我很少有时间回答那些需要深入研究的问题,但是如果你的问题我能够回答,那么我将会尽力回复。 Microsoft Press支持信息我尽了最大的努力保证本书和附带光盘中内容的准确性。Microsoft Perss通过万维网上的http://mspress.microsoft.com/support/提供了对书籍的更正。如果你对本书或者它所附带的光盘有意见、问题或想法,请通过e-mail把它们发送到Microsoft 出版社: [email protected] 或者把信邮寄到: Microsoft Press Attn: XML Step by Step Editor One Microsoft Way Redmond, WA 98052-6399 请注意,产品支持不是通过上述地址提供的。英文原书书号:ISNB0-7356-1020-7 英文原书名,XML Step by Step .
前 言扩展标记语言(Extensible Markup Language,XML),是目前最有前途的在World Wide Web上保存和传递信息的语言。尽管超文本标记语言(Hypertext Markup Language,HTML)目前是创建Web页的最常用语言,但是它在保存信息方面的能力很有限。与之相反,XML却有着极其灵活的语法,允许真实地描述各种类型的信息,从简单的菜谱到复杂的数据库(所以才会使用术语“扩展”)。XML文档(与样式表或传统的HTML页一起)可以很容易地在浏览器中显示。因为XML文档能如此有效地构造和标识它所包含的信息,以致于浏览器可以以非常灵活的方式发现、抽取、排序、过滤、整理以及管理信息。总之,XML提供了一种理想的方法,使用它可以处理Web上数量和复杂性快速增长的信息。为什么不阅读另一本XML书籍 XML可能会让人感到混乱。XML应用程序以令人吃惊的速度不断出现,而且XML与用来格式化、显示、处理和增强XML文档的大量相关标准和技术紧密联系在一起。许多这样的相关标准和技术还处在“幼儿”阶段,正在快速地变化和发展。大部分我读过的XML书籍都试图全面地介绍这些技术,但是却让人有一种在迷宫中迷失的感觉。我认为,这种典型的XML书籍过于肤浅地讨论了过多的XML技术,没有把实用与非实用、现在和将来相区别。本书回答了大部分基本的XML问题—什么是XML,为什么需要它,以及怎样使用它—并且介绍了到目前为止最重要、最实用的XML技术。本书的主题均是经过精心筛选的,对每一种主题的介绍都很有深度,并且避免了不完整的解决方案。(例如,因为我在第二部分介绍了怎样定义XML属性,所以在第三部分接着介绍了在显示文档时怎样访问这些属性。)直到我亲自动手编写并显示XML文档时,才真正理解了XML。因此,我在本书中也采用了这种方法,包括了许多循序渐进的指导、实用的例子和教程式的练习;避免对XML这种难于理解的主题进行理论和抽象的讨论。本书及附带的光盘还提供了一个完整的XML学习软件包。这个软件包提供了学习创建和显示XML文档所需基础知识的所有信息、指导和软件。本书还包括了指向Web上大量XML信息的详尽链接集,如果你想要了解基础知识以外的信息,则可以利用这些链接。在本书中将学到什么本书的第一部分(第1章和第2章)提供了对XML的简要介绍,并为学习后续的详细信息做准备。第1章回答了我前面提到的基本问题—什么是XML,为什么需要它,以及怎样使用它来解决现实世界的问题。第2章提供了一个手把手的练习,使你对创建XML文档并在Web浏览器中显示的全过程有一个大致印象。第二部分(第3章到第6章)重点介绍创建XML文档的规则和技术。第3章和第4章介绍怎样创建格式正确的XML文档—符合最基本的XML需求的文档。第5章和第6章介绍怎样创建有效的XML文档—符合可选和更严格的规则集的文档。第二部分中的章节基于W3C(World Wide Web协会)的正式XML规范。第三部分(第7章到第10章)介绍目前最重要的在Web浏览器中显示XML文档的技术。第7章和第10章解释怎样通过附加一个为浏览器提供格式指令的样式表来显示XML文档。第7章讨论级联样式表(cascading style sheet)—最简单,但是最受限的样式表类型—而第10章介绍使用XSL(扩展样式表语言,Extensible Stylesheet Language),一种用XML编写的更高级、更灵活的样式表类型。第8章和第9章介绍怎样通过把文档链接到包括访问、处理和表示XML数据的HTML Web页来显示XML文档。第8章介绍怎样使用数据绑定(data binding,一种只适用于某种XML文档的简单技术)来做到这一点。第9章介绍怎样通过可用于任意XML文档类型且高度灵活的编程对象,即众所周知的XML文档对象模型(XML Document Object Model),编写脚本来在HTML页中显示XML文档。注意 在本书中,使用术语“页面(page)”来表示HTML源文件,使用术语“文档(document)”来表示XML源文件,以便清楚地区别这两种经常一起使用的标记语言。第三部分重点讨论使用Microsoft Internet Explorer 5 Web浏览器显示XML文档。最后,附录提供了一些Web站点的地址,这些站点包含了大量有关本书中所讨论主题的更深入信息。我还在各章节中包括了这些地址,每一个地址都适用于各章节讨论的内容。在本书附带光盘的“Resource Links”文件夹中名为Appendix.htm的文件中,会找到附录的拷贝。(要了解在计算机上安装Appendix.htm的信息,参见光盘上的Readme文件。)你可以通过在Web浏览器中打开Appendix.htm文件并单击链接来访问任意一个Web站点,而不必在浏览器中输入地址。提示 你可能想要在Web上访问下列XML信息站点以便补充从本书中学到的内容。W3C在www.w3.org/中为Web创作人员提供了各种信息、标准和服务。Microsoft Developer Network(微软开发商网络,MSDN)在http://msdn.microsoft.com/xml/ default.asp中提供了Microsoft产品所支持的、有关XML的大量信息。http://www.oasis-open.org/cover/中的在线参考书《The XML Cover Page》包括了有关XML和其他标记语言的综合信息。循序渐进学习XML和Internet Explorer 尽管本书中提供的大部分技术都基于公开的标准,并且能够与大量浏览器一起协同工作,但是本书是专门为Microsoft Internet Explorer 5.0~5.5编写的。本书附带的光盘包括Internet Explorer 5.01。因此,你可以使用这张光盘上提供的浏览器软件显示本书中使用这些技术创建的任意XML文档。提示 可以从http://www.microsoft.com/windows/ie下载最新的Internet Explorer 5.5。在整本书中,Internet Explorer 5指的是Microsoft Internet Explorer 5.0~5.5。当某些信息只适用于某个Internet Explorer版本时,会及时指出,例如Internet Explorer 5.01或Internet Explorer 5.5。本书中介绍的所有特性和技术都可以用于Internet Explorer 5.5。少数几种特性是第一次出现在版本5.5中,因此无法用于以前的版本。我将清楚地标出只适用于Internet Explorer 5.5的那些特性。环境需求下面是使用本书及其附带光盘的基本硬件和软件需求: ?要访问本书附带的光盘,并安装包括在光盘中的Internet Explorer软件,需要一台运行Microsoft Windows并安装有一台CD-ROM驱动器的计算机。可以使用Windows 95、Windows 98、Windows NT 4.0(带有Service Pack3或更高版本)、Windows 2000,或者任意更高版本的Windows。 ?选择“Install Example Code And Resource Links”安装选项大约需要1MB硬盘空间。 ?要查看本书中引用的Web站点,需要连接到Internet。不过,成功地使用本书不需要查看这些站点,因此Internet连接是可选的。本书的目的是介绍XML,因此不需要事先对XML本身有所了解。不过,本书中介绍的几种有关显示XML文档的技术需要使用下列一种或多种Web创作语言:HTML、动态HTML(DHTML)和Microsoft JScript(普通JavaScript脚本语言的Microsoft版本)。尽管本书在例子中介绍了这些语言的特性,但是了解这些语言的一些基本知识仍然有用。提示 要了解在Internet Explorer 5中使用HTML和DHML的信息,请访问MSDN提供的Web站点:http://msdn.microsoft.com/workshop/author/default.asp。要阅读正式的HTML规范,参见W3C提供的Web站点:http://www.w3.org/TR/REC-html40/。在也是由MSDN提供的站点http://msdn.microsoft.com/workshop/c-frame.htm#/workshop/languages/jscript/ handling.asp和http://msdn.microsoft.com /scripting/default.htm?/scripting/jscript/default.htm中,包括完整的JScript信息,也包括初学者的教程。使用附带的光盘附带的光盘提供了下列有价值的资源,以便对本书的信息进行补充: ?本书中带有编号的程序清单的源文件拷贝。这些程序清单(例如,第2章中的程序清单2-1)提供了XML文档、样式表,和用来显示XML文档的HTML页的例子。在引入带有编号的程序清单时,也会同时给出它在光盘中对应文件的名称。(例如,程序清单2-1在文件Inventory.xml中。)所有这些文件都在附带光盘的“Example Code”文件夹中。 ?所有在XML文档示例中显示的图形文件。这些文件包含在与程序清单文件相同的光盘文件夹(Example Code)中。 ?Web页文件Appendix.htm中附录的拷贝。该文件在光盘上的“Resource Link”文件夹中。 ?Internet Explorer 5.01版。当把CD-ROM插入驱动器时,附带的光盘会自动启动安装。如果计算机不支持自动启动,就使用Windows资源管理器显示光盘的内容,并双击根文件夹中的StartCD.exe。这两种方法都可以打开欢迎屏幕。欢迎屏幕上显示了阅读Readme文件、安装示例代码和资源链接,安装Microsoft Internet Explorer 5.0,浏览光盘内容,或链接到Microsoft Press支持的Web站点等选项。一旦选择了一个选项,只要按照屏幕上显示的指示操作即可。怎样与作者联系你可以访问我的Web站点:http://ourworld.compuserve.com/homepages/mjy。那里有对本书的更正、读者的问题以及答案,获取有关XML进一步帮助的资源及相关技术,我的一些其他书籍的介绍和附加的信息。你可以给我发e-mail,地址是[email protected]。欢迎你的意见和反馈信息。尽管我很少有时间回答那些需要深入研究的问题,但是如果你的问题我能够回答,那么我将会尽力回复。 Microsoft Press支持信息我尽了最大的努力保证本书和附带光盘中内容的准确性。Microsoft Perss通过万维网上的http://mspress.microsoft.com/support/提供了对书籍的更正。如果你对本书或者它所附带的光盘有意见、问题或想法,请通过e-mail把它们发送到Microsoft 出版社: [email protected] 或者把信邮寄到: Microsoft Press Attn: XML Step by Step Editor One Microsoft Way Redmond, WA 98052-6399 请注意,产品支持不是通过上述地址提供的。英文原书书号:ISNB0-7356-1020-7 英文原书名,XML Step by Step .
XML学习指南经典中文版 扩展标记语言(Extensible Markup Language,XML),是目前最有前途的在World Wide Web上保存和传递信息的语言。尽管超文本标记语言(Hypertext Markup Language,HTML)目前是创建Web页的最常用语言,但是它在保存信息方面的能力很有限。与之相反,XML却有着极其灵活的语法,允许真实地描述各种类型的信息,从简单的菜谱到复杂的数据库(所以才会使用术语“扩展”)。XML文档(与样式表或传统的HTML页一起)可以很容易地在浏览器中显示。因为XML文档能如此有效地构造和标识它所包含的信息,以致于浏览器可以以非常灵活的方式发现、抽取、排序、过滤、整理以及管理信息。总之,XML提供了一种理想的方法,使用它可以处理Web上数量和复杂性快速增长的信息。为什么不阅读另一本XML书籍 XML可能会让人感到混乱。XML应用程序以令人吃惊的速度不断出现,而且XML与用来格式化、显示、处理和增强XML文档的大量相关标准和技术紧密联系在一起。许多这样的相关标准和技术还处在“幼儿”阶段,正在快速地变化和发展。大部分我读过的XML书籍都试图全面地介绍这些技术,但是却让人有一种在迷宫中迷失的感觉。我认为,这种典型的XML书籍过于肤浅地讨论了过多的XML技术,没有把实用与非实用、现在和将来相区别。本书回答了大部分基本的XML问题—什么是XML,为什么需要它,以及怎样使用它—并且介绍了到目前为止最重要、最实用的XML技术。本书的主题均是经过精心筛选的,对每一种主题的介绍都很有深度,并且避免了不完整的解决方案。(例如,因为我在第二部分介绍了怎样定义XML属性,所以在第三部分接着介绍了在显示文档时怎样访问这些属性。)直到我亲自动手编写并显示XML文档时,才真正理解了XML。因此,我在本书中也采用了这种方法,包括了许多循序渐进的指导、实用的例子和教程式的练习;避免对XML这种难于理解的主题进行理论和抽象的讨论。本书及附带的光盘还提供了一个完整的XML学习软件包。这个软件包提供了学习创建和显示XML文档所需基础知识的所有信息、指导和软件。本书还包括了指向Web上大量XML信息的详尽链接集,如果你想要了解基础知识以外的信息,则可以利用这些链接。在本书中将学到什么本书的第一部分(第1章和第2章)提供了对XML的简要介绍,并为学习后续的详细信息做准备。第1章回答了我前面提到的基本问题—什么是XML,为什么需要它,以及怎样使用它来解决现实世界的问题。第2章提供了一个手把手的练习,使你对创建XML文档并在Web浏览器中显示的全过程有一个大致印象。第二部分(第3章到第6章)重点介绍创建XML文档的规则和技术。第3章和第4章介绍怎样创建格式正确的XML文档—符合最基本的XML需求的文档。第5章和第6章介绍怎样创建有效的XML文档—符合可选和更严格的规则集的文档。第二部分中的章节基于W3C(World Wide Web协会)的正式XML规范。第三部分(第7章到第10章)介绍目前最重要的在Web浏览器中显示XML文档的技术。第7章和第10章解释怎样通过附加一个为浏览器提供格式指令的样式表来显示XML文档。第7章讨论级联样式表(cascading style sheet)—最简单,但是最受限的样式表类型—而第10章介绍使用XSL(扩展样式表语言,Extensible Stylesheet Language),一种用XML编写的更高级、更灵活的样式表类型。第8章和第9章介绍怎样通过把文档链接到包括访问、处理和表示XML数据的HTML Web页来显示XML文档。第8章介绍怎样使用数据绑定(data binding,一种只适用于某种XML文档的简单技术)来做到这一点。第9章介绍怎样通过可用于任意XML文档类型且高度灵活的编程对象,即众所周知的XML文档对象模型(XML Document Object Model),编写脚本来在HTML页中显示XML文档。注意 在本书中,使用术语“页面(page)”来表示HTML源文件,使用术语“文档(document)”来表示XML源文件,以便清楚地区别这两种经常一起使用的标记语言。第三部分重点讨论使用Microsoft Internet Explorer 5 Web浏览器显示XML文档。最后,附录提供了一些Web站点的地址,这些站点包含了大量有关本书中所讨论主题的更深入信息。我还在各章节中包括了这些地址,每一个地址都适用于各章节讨论的内容。在本书附带光盘的“Resource Links”文件夹中名为Appendix.htm的文件中,会找到附录的拷贝。(要了解在计算机上安装Appendix.htm的信息,参见光盘上的Readme文件。)你可以通过在Web浏览器中打开Appendix.htm文件并单击链接来访问任意一个Web站点,而不必在浏览器中输入地址。提示 你可能想要在Web上访问下列XML信息站点以便补充从本书中学到的内容。W3C在www.w3.org/中为Web创作人员提供了各种信息、标准和服务。Microsoft Developer Network(微软开发商网络,MSDN)在http://msdn.microsoft.com/xml/ default.asp中提供了Microsoft产品所支持的、有关XML的大量信息。http://www.oasis-open.org/cover/中的在线参考书《The XML Cover Page》包括了有关XML和其他标记语言的综合信息。循序渐进学习XML和Internet Explorer 尽管本书中提供的大部分技术都基于公开的标准,并且能够与大量浏览器一起协同工作,但是本书是专门为Microsoft Internet Explorer 5.0~5.5编写的。本书附带的光盘包括Internet Explorer 5.01。因此,你可以使用这张光盘上提供的浏览器软件显示本书中使用这些技术创建的任意XML文档。提示 可以从http://www.microsoft.com/windows/ie下载最新的Internet Explorer 5.5。在整本书中,Internet Explorer 5指的是Microsoft Internet Explorer 5.0~5.5。当某些信息只适用于某个Internet Explorer版本时,会及时指出,例如Internet Explorer 5.01或Internet Explorer 5.5。本书中介绍的所有特性和技术都可以用于Internet Explorer 5.5。少数几种特性是第一次出现在版本5.5中,因此无法用于以前的版本。我将清楚地标出只适用于Internet Explorer 5.5的那些特性。环境需求下面是使用本书及其附带光盘的基本硬件和软件需求: ?要访问本书附带的光盘,并安装包括在光盘中的Internet Explorer软件,需要一台运行Microsoft Windows并安装有一台CD-ROM驱动器的计算机。可以使用Windows 95、Windows 98、Windows NT 4.0(带有Service Pack3或更高版本)、Windows 2000,或者任意更高版本的Windows。 ?选择“Install Example Code And Resource Links”安装选项大约需要1MB硬盘空间。 ?要查看本书中引用的Web站点,需要连接到Internet。不过,成功地使用本书不需要查看这些站点,因此Internet连接是可选的。本书的目的是介绍XML,因此不需要事先对XML本身有所了解。不过,本书中介绍的几种有关显示XML文档的技术需要使用下列一种或多种Web创作语言:HTML、动态HTML(DHTML)和Microsoft JScript(普通JavaScript脚本语言的Microsoft版本)。尽管本书在例子中介绍了这些语言的特性,但是了解这些语言的一些基本知识仍然有用。提示 要了解在Internet Explorer 5中使用HTML和DHML的信息,请访问MSDN提供的Web站点:http://msdn.microsoft.com/workshop/author/default.asp。要阅读正式的HTML规范,参见W3C提供的Web站点:http://www.w3.org/TR/REC-html40/。在也是由MSDN提供的站点http://msdn.microsoft.com/workshop/c-frame.htm#/workshop/languages/jscript/ handling.asp和http://msdn.microsoft.com /scripting/default.htm?/scripting/jscript/default.htm中,包括完整的JScript信息,也包括初学者的教程。使用附带的光盘附带的光盘提供了下列有价值的资源,以便对本书的信息进行补充: ?本书中带有编号的程序清单的源文件拷贝。这些程序清单(例如,第2章中的程序清单2-1)提供了XML文档、样式表,和用来显示XML文档的HTML页的例子。在引入带有编号的程序清单时,也会同时给出它在光盘中对应文件的名称。(例如,程序清单2-1在文件Inventory.xml中。)所有这些文件都在附带光盘的“Example Code”文件夹中。 ?所有在XML文档示例中显示的图形文件。这些文件包含在与程序清单文件相同的光盘文件夹(Example Code)中。 ?Web页文件Appendix.htm中附录的拷贝。该文件在光盘上的“Resource Link”文件夹中。 ?Internet Explorer 5.01版。当把CD-ROM插入驱动器时,附带的光盘会自动启动安装。如果计算机不支持自动启动,就使用Windows资源管理器显示光盘的内容,并双击根文件夹中的StartCD.exe。这两种方法都可以打开欢迎屏幕。欢迎屏幕上显示了阅读Readme文件、安装示例代码和资源链接,安装Microsoft Internet Explorer 5.0,浏览光盘内容,或链接到Microsoft Press支持的Web站点等选项。一旦选择了一个选项,只要按照屏幕上显示的指示操作即可。怎样与作者联系你可以访问我的Web站点:http://ourworld.compuserve.com/homepages/mjy。那里有对本书的更正、读者的问题以及答案,获取有关XML进一步帮助的资源及相关技术,我的一些其他书籍的介绍和附加的信息。你可以给我发e-mail,地址是[email protected]。欢迎你的意见和反馈信息。尽管我很少有时间回答那些需要深入研究的问题,但是如果你的问题我能够回答,那么我将会尽力回复。 Microsoft Press支持信息我尽了最大的努力保证本书和附带光盘中内容的准确性。Microsoft Perss通过万维网上的http://mspress.microsoft.com/support/提供了对书籍的更正。如果你对本书或者它所附带的光盘有意见、问题或想法,请通过e-mail把它们发送到Microsoft 出版社: [email protected] 或者把信邮寄到: Microsoft Press Attn: XML Step by Step Editor One Microsoft Way Redmond, WA 98052-6399 请注意,产品支持不是通过上述地址提供的。英文原书书号:ISNB0-7356-1020-7 英文原书名,XML Step by Step .

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值