XML注释文档
- 格式:pdf
- 大小:572.79 KB
- 文档页数:9
C#文档注释规范C# 提供一种机制,使程序员可以使用含有XML 文本的特殊注释语法为他们的代码编写文档。
在源代码文件中,具有某种格式的注释可用于指导某个工具根据这些注释和它们后面的源代码元素生成XML。
使用这类语法的注释称为文档注释(documentation comment)。
这些注释后面必须紧跟用户定义类型(如类、委托或接口)或者成员(如字段、事件、属性或方法)。
XML 生成工具称作文档生成器(documentation generator)。
(此生成器可以但不一定必须是C# 编译器本身。
)由文档生成器产生的输出称为文档文件(documentation file)。
文档文件可作为文档查看器(documentation viewer) 的输入;文档查看器是用于生成类型信息及其关联文档的某种可视化显示的工具。
此规范推荐了一组在文档注释中使用的标记,但是这些标记不是必须使用的,如果需要也可以使用其他标记,只要遵循“符合格式标准的 XML”规则即可。
A.1.介绍具有特殊格式的注释可用于指导某个工具根据这些注释和它们后面的源代码元素生成 XML。
这类注释是以三个斜杠 (///) 开始的单行注释,或者是以一个斜杠和两个星号 (/**) 开始的分隔注释。
这些注释后面必须紧跟它们所注释的用户定义类型(如类、委托或接口)或者成员(如字段、事件、属性或方法)。
属性节(第错误!未找到引用源。
节)被视为声明的一部分,因此,文档注释必须位于应用到类型或成员的属性之前。
语法:single-line-doc-comment:///input-characters optdelimited-doc-comment:/**delimited-comment-characters opt*/在single-line-doc-comment 中,如果当前single-line-doc-comment 旁边的每个single-line-doc-comment 上的///字符后跟有whitespace 字符,则此whitespace 字符不包括在XML 输出中。
xml数据格式理解XML是一种标记语言,它用于描述数据。
XML解析器解析XML,使得XML文档具有确定的结构和元素以及相关的属性和值。
XML是Web服务、Web表单和J2EE技术的核心组成部分。
本文将探讨XML数据格式的内容和使用。
XML的组成XML文档由XML元素和XML注释组成。
XML元素是文档的主要组成部分,每个元素有一个名称(以字母、下划线或冒号开头)和一个结束标记(即与“尖括号/”结尾)。
在一个XML元素中,您可以定义另一个XML元素或文本。
XML注释是可读性的文本。
它们被添加到XML文件的中文文本,通常用于解释XML的含义或作用。
XML的用途XML的主要用途之一是在不同的计算机系统之间交换数据。
例如,它被广泛用于电子商务应用,例如在线订购或存储大量的文本、音频和视频内容。
XML还用于描述SGML(标准通用标记语言)和XHTML(可扩展超文本标记语言)格式。
XML的样式表XML样式表(XSL)用于在网站上显示XML数据。
XSL 将XML文档按需排列为HTML,PDF或其他格式,这些格式适合于网站上的显示。
您可以使用XSL输入XML文件以获得格式化输出,并将其显示在浏览器中。
XML样式表分为两个部分:首先是定义样式表的模板,然后模板应用于XML 文档。
XML的验证XML验证是确保XML文件语法正确的过程。
XML验证器检查文件是否符合XML规范,是否包含正确的元素,是否正确嵌套以及是否添加了必需的属性。
如果文件未通过验证,那么验证器将报告错误并指出出错的位置。
XML验证是一种检查XML文件是否符合标准的机制,它确保文档的正确性,以及避免信息损失和可能引起的其他问题。
XML的优势XML格式的数据允许它们按照自己的方式进行归类和排序。
XML数据可以在不同平台和系统之间充当桥梁,从而大大简化了数据交换。
用于XML文档的标记可以针对其特定的内容进行定义,并且在复杂数据结构中增加容错性。
此外,XML格式的数据允许站点维护可读性,可修改性和可扩展性。
pom.xml配置⽂件注释说明pom.xml 配置⽂件<project><parent>...</parent><modelVersion>4.0.0</modelVersion><!-- The Basics --><groupId>...</groupId><artifactId>...</artifactId><version>...</version><packaging>...</packaging><scm>...</scm><dependencies>...</dependencies><dependencyManagement>...</dependencyManagement><modules>...</modules><properties>...</properties><!-- Build Settings --><build>...</build><reporting>...</reporting><!-- More Project Information --><name>...</name><description>...</description><url>...</url><inceptionYear>...</inceptionYear><licenses></licenses><organization></organization><developers></developers><contributors></contributors><!-- Environment Settings --><issueManagement></issueManagement><ciManagement></ciManagement><mailingLists></mailingLists><prerequisites></prerequisites><repositories></repositories><pluginRepositories></pluginRepositories><distributionManagement></distributionManagement><profiles></profiles></project>详细说明<project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0/maven-v4_0_0.xsd"><!--⽗项⽬的坐标。
C# : 操作Word文件的API - (将C# source中的xml注释转换成word文档)这篇博客将要讨论的是关于:如何从C#的source以及注释, 生成一份Word格式的关于各个类,函数以及成员变量的说明文档.他的大背景如下......最近的一个项目使用C#, 分N个模块,在项目的里程碑的时候, 日本的总公司要检查我们的成果物.成果物包括源代码, 概要设计式样书(SD,System Design), 详细设计式样书(PD, Program Design), 自动化测试等等.源代码必须要符合编码规范(每个函数都要有注释, 方法变量的命名规则等...)这些检查都很正常, 唯独一个比较辣手,那就是PD(一份Word文档).PD中主要分两部分, 第一部分是UML图,要求在UML图中,必须记载每一个变量名,函数名等等, 且必须与source完全一致.这一点好办到, 只需要使用UML工具的逆向工程从source生成UML图即可.PD中还需要的另一部分便是: 要为每一个类, 每一个变量, 每一个方法提供一个详细的说明(包括公有的和私有的一切)以方法为例, 要求大概形如下面这样(类, 变量, 属性等类似):这些关于方法,变量详细的记载, 同样要求与源代码一致(包括函数名, 参数, 函数注释等等)在第一次做成这些文档和代码的时候还好些, 我们从一个地方拷贝到另一个地方, 他们初始是一致的,然而接下来repeat的噩梦就开始了,两边同时维护, 总有漏下的,而且需要花费很大的时间(尤其是检查),有些时候, 日本方面的认真程度是我们中国人无法想象的,比如从一份上百页的文档中, 他们能挑出某一个函数参数的大小写与source不一致这样的问题.一个check不周,就有可能指摘.关于问题, 已经介绍了差不多,总之, 本着DRY原则,同时也为了保证我们的这份word文档能够忠实于我们的source,我想做的是: 从Source自动生成这份Word文档为此要解决两个问题1. 从Source中拿到相应的数据2. 将相应的数据写到Word中.对于第一个问题 ,visual studio中, [右键一个项目-> property -> Build -> Output]处有一个叫做[XML documentation file]的选项,勾上他之后, 在build的时候, 就会同时生成一个xml文件, 这个文件中包含各个类的方法,成员变量, 以及他们的xml注释.关于这个问题, 还可以参考下面两个项目, 他们帮助我们生成MSDN Style的帮助文档. Sandcastle - Documentation Compiler for Managed Class Libraries Sandcastle Help File Builder(我多么希望我们不需要维护这么一份word文件, 就使用上面的工具帮助我们生成MSDN Style的帮助文档就好....)(然而总会有一些我们搞不定的人, 拥有一些和我们不同的喜好, 还好, 我们可以满足大家, 用程序生成这份文档吧....^-^)对于第二个问题 ,也就是如何用程序生成这份word文档,在网上搜了一下, 使用word画表格的例子比较少(表格多的操作都用excel去了)于是结合网上搜索的结果, 我写了下面的demo程序,能够生成前面贴图效果的word文档(实际上, 前面的那个图, 就是对下面程序的输出做的一个截屏)下面的代码只有一个函数,在入口处设置一个断点, 边执行边看word文件的效果, 想了解word automation的,应该可以了解一个大概.在调查的过程中, 我发现下面的三个连接提供的示例代码比较有用, 贴到下面供大家参考(第一篇讲解的尤为详细).Word automation using C# @C#CornerWord automation using C# @HOW TO:利用Visual C# .NET 使Word 自动新建文档@MSDNHow to automate Microsoft Word to perform Mail Merge from VisualC# @MSDNAutomating Word Tables for Data Insertion and Extraction @MSDN如果你使用的是其他语言, 但也需要维护一份这样的word文档的话,大都可以使用类似的方法解决,比如如果是java, javadoc同样可以帮助我们生成xml文档(而不仅仅局限于大家熟知的html), 然后我们从这个xml文档转换成我们需要的格式.过程中要用到JELDoclet , 详细做法参考这个链接Tip: Javadoc as XML @IBM DeveloperWorks1.class WordAuto2.{3. Word.Application wApp;4. Word._Document wDoc;5. Object oMissing = System.Reflection.Missing.Value;6. Object oFalse = false;7.8.9.public void CreateFile()10. {11. Word.Selection wSelection;12. Word.MailMerge wMailMerge;13. Word.MailMergeFields wMergeFields;14. Word.Table wTable;15.int rowsNum = 12;16.string StrToAdd;17.18.// Create an instance of Word and make it visible.19. wApp = new Word.Application();20. wApp.Visible = true;21.22.// Add a new document.23. wDoc = wApp.Documents.Add(ref oMissing, ref oMissing, ref oMissing,ref oMissing);24. wDoc.Select();25.26. wSelection = wApp.Selection;27. wSelection.ClearFormatting();28.29.30. wSelection.Paragraphs.OutlineLevel = Word.WdOutlineLevel.wdOutlineLevel2;31. wSelection.Font.Size = 20;32. wSelection.Font.ColorIndex = Word.WdColorIndex.wdBlack;33. wSelection.Font.Bold = 1;34. wSelection.TypeText("my first method");35. wApp.Selection.TypeParagraph();36. wSelection.Paragraphs.OutlineLevel = Word.WdOutlineLevel.wdOutlineLevelBodyText;37. wSelection.ClearFormatting();38. wSelection.Font.ColorIndex = Word.WdColorIndex.wdBlack;39. wSelection.TypeText("content of first......");40.41.42. wTable = wDoc.Tables.Add(wSelection.Range, rowsNum, 4, ref oMissing, ref oMissing);43. wTable.Rows[1].Cells.Shading.BackgroundPatternColorIndex = Word.WdColorIndex.wdGray25;44.//wTable.Columns[1].SetWidth(51, Word.WdRulerStyle.wdAdjustNone);45. wTable.Columns[1].SetWidth(70, Word.WdRulerStyle.wdAdjustProportional);46. wTable.Columns[3].SetWidth(70, Word.WdRulerStyle.wdAdjustProportional);47. wTable.Borders.Enable = 1;48.49.50. wTable.Rows[1].Cells[1].Merge(wTable.Rows[1].Cells[4]);51. wTable.Rows[1].Cells[1].Range.InsertAfter("MyNameSpace.MyClass#MyMethod() : MyRetureType");52.for (int i = 6; i <= rowsNum; i++)53. {54. wTable.Rows[i].Cells[2].Merge(wTable.Rows[i].Cells[4]);55. }56. wTable.Rows[6].Cells[1].Range.InsertAfter("详细定义");57. wTable.Rows[7].Cells[1].Range.InsertAfter("事前条件");58. wTable.Rows[8].Cells[1].Range.InsertAfter("事后条件");59. wTable.Rows[9].Cells[1].Range.InsertAfter("不变制约");60. wTable.Rows[10].Cells[1].Range.InsertAfter("非机能制约");61. wTable.Rows[11].Cells[1].Range.InsertAfter("备考");62. wTable.Rows[12].Cells[1].Range.InsertAfter("异常");63.64. wTable.Rows[2].Cells[1].Range.InsertAfter("函数输入");65. wTable.Rows[2].Cells[2].Range.InsertAfter("key::string");66. wTable.Rows[2].Cells[3].Range.InsertAfter("概要");67. wTable.Rows[2].Cells[4].Range.InsertAfter("my key to....");68. wTable.Rows[3].Cells[3].Range.InsertAfter("制约");69. wTable.Rows[3].Cells[4].Range.InsertAfter("key != null");70.71. wTable.Rows[4].Cells[1].Range.InsertAfter("函数输出");72. wTable.Rows[4].Cells[2].Range.InsertAfter("-");73. wTable.Rows[4].Cells[3].Range.InsertAfter("概要");74. wTable.Rows[5].Cells[3].Range.InsertAfter("制约");75.76. Cell startCell1 = wTable.Rows[2].Cells[1];77. Cell endCell1 = wTable.Rows[3].Cells[1];78. Cell startCell2 = wTable.Rows[2].Cells[2];79. Cell endCell2 = wTable.Rows[3].Cells[2];80.81. Cell startCell3 = wTable.Rows[4].Cells[1];82. Cell endCell3 = wTable.Rows[5].Cells[1];83. Cell startCell4 = wTable.Rows[4].Cells[2];84. Cell endCell4 = wTable.Rows[5].Cells[2];85.86.87. startCell1.Merge(endCell1);88. startCell2.Merge(endCell2);89. startCell3.Merge(endCell3);90. startCell4.Merge(endCell4);91.92.93.// Go to the end of the document.94. Object oConst1 = Word.WdGoToItem.wdGoToLine;95. Object oConst2 = Word.WdGoToDirection.wdGoToLast;96. wApp.Selection.GoTo(ref oConst1, ref oConst2, ref oMissing, ref oMissing);97.98. wSelection.InsertBreak();99. wSelection.Paragraphs.OutlineLevel = Word.WdOutlineLevel.wdOutlineLevel2;100. wSelection.Font.ColorIndex = Word.WdColorIndex.wdBlack;101. wSelection.Font.Size = 20;102. wSelection.Font.Bold = 1;103. wSelection.TypeText("my second method");104. wApp.Selection.TypeParagraph();105. wSelection.Paragraphs.OutlineLevel = Word.WdOutlineLevel.wdOutl ineLevelBodyText;106. wSelection.ClearFormatting();107. wSelection.Font.ColorIndex = Word.WdColorIndex.wdBlack;108. wSelection.TypeText("content of second......");109.110.//another table111. wTable = wDoc.Tables.Add(wSelection.Range, rowsNum, 4, ref oMis sing, ref oMissing);112. wTable.Borders.Enable = 1;113.114.////............115.116. wDoc.SaveAs("c:\\word_auto.doc");117. wDoc.Close(false);118. wApp.Quit();119. wApp = null;120. }121.}---end---。
XML语法概述XML文档使用的是自描述的和简单的语法,一个XML文档最基本的构成包括:声明,处理指令(可选)和元素。
以下是一个简单的XML文档:1<?xml version ="1.0" encoding ="GB2312" standalone="yes" ?>2<?XML-stylesheet type="text/xsl" href="yxfqust.xsl" ?>3<!--以下是一个学生名单-->4<学生名单>5<学生>6<学号>2003081205</学号>7<姓名>田淋</姓名>8<班级>计03.2班</班级>9</学生>10<学生>11<学号>2003081232</学号>12<姓名>杨雪锋</姓名>13<班级>计03.2班</班级>14</学生>15</学生名单>第1行是XML声明,第2行是处理指令,第3行是注释,4到15就是文档的各个元素。
(注:XML标记都是大小写敏感的).一。
文档的声明:<?XML version="1.0" encoding="GB2312" standalone="yes"?>XML标记说明它是一个xml文档,后面两个属性值表明了它的版本号和编码标准,standalone取yes表明该文件未引明其他外部XML文件。
二。
处理指令格式:<?处理指令名处理指令信息?><?XML三。
注释:格式:<!--注释内容--><!--以下是一个学生名单-->注释应注意的问题:1.注释不能出现在XML声明之前;2.注释不能出现在标记中;3.注释中不能出现连续两个连字符,即"--" 如:<!--this is a bad document.--do you know!-->;4.注释中可包含元素,但元素中不能包含"--"包含的元素解析时被忽略;5.注释不能嵌套;四。
xml文件注释的几种方式
在XML文件中,可以使用以下几种方式添加注释:
1. <!-- 注释内容 -->,这种方式是最常用的注释方式,注释内容包裹在一对“<!--”和“-->”之间,可以跨越多行,但不能嵌套使用。
2. 使用CDATA标签注释,将注释内容包裹在一对“<![CDATA[”和“]]>”之间。
在CDATA标签中,任何字符都被视为普通的文本,无需进行转义,可以包含任何符号和特殊字符。
3. 使用processing instruction(PI)标签注释,将注释内容包裹在“<?”和“?>”之间。
PI标签一般用于指示对XML文件进行特定的处理,而不是添加注释,但也可以用于注释。
以上是常用的三种XML文件注释方式,可以根据实际需求选择合适的方法。
XML注释与Description标签及Java:注解(Annotation)的关系⼀.摘要.Net允许开发⼈员在源代码中插⼊XML注释,这在多⼈协作开发的时候显得特别有⽤。
C#解析器可以把代码⽂件中的这些XML标记提取出来,并作进⼀步的处理为外部⽂档。
这篇⽂章将展⽰如何使⽤这些XML注释。
在项⽬开发中,很多⼈并不乐意写繁杂的⽂档。
但是,开发组长希望代码注释尽可能详细;项⽬规划⼈员希望代码设计⽂档尽可能详尽;测试、检查⼈员希望功能说明书尽可能详细等等。
如果这些⽂档都被要求写的话,保持它们同步⽐进⾏⼀个战役还痛苦。
为何不把这些信息保存在⼀个地⽅呢??最明显想到的地⽅就是代码的注释中;但是你很难通览程序,并且有些需要这些⽂档的⼈并不懂编码。
最好的办法是通过使⽤XML注释来解决这些问题。
代码注释、⽤户⼿册、开发⼈员⼿册、测试计划等很多⽂档可以很⽅便的从XML注释中获得。
本⽂讲解.Net中经常使⽤的XML注释.主要使⽤C#语⾔j,.Net平台⽀持的其他语⾔使⽤的XML注释格式基本相同.并且在本系列⽂章的下⼀讲中讲解如何使⽤⼯具将XML注释内容转化为帮助⽂档.⼆.XML注释概述所有的XML注释都在三个向前的斜线之后(///)。
两条斜线表⽰是⼀个注释,编译器将忽略后⾯的内容。
三条斜线告诉编译器,后⾯是XML注释,需要适当地处理。
当开发⼈员输⼊三个向前的斜线后,Microsoft Visual Studio .NET IDE ⾃动检查它是否在类或者类成员的定义的前⾯。
如果是的话,Visual Studio .NET IDE 将⾃动插⼊注释标记,开发⼈员只需要增加些额外的标记和值。
下⾯就是在成员函数前增加三个斜线,⾃动增加的注释⽐如:/// <summary>/// 得到指定酒店的酒店信息/// </summary>/// <param name="hotelId">酒店Id</param>/// <param name="languageCode">语⾔码.中⽂为zh-cn</param>/// <returns>酒店信息对象</returns>[OperationContract]OutHotelInfo GetHotelInfoByHotelId(string loginName, string loginPassword, string hotelId, string languageCode);这⾥嵌⼊的summary,param,returns标记仅仅是Visual Studio能够识别的⼀部分标记,然⽽在智能感知IntelliSense中,并没有把c#规范中所有的标记列出来,遗失的部分只能⽤⼿⼯插⼊。
本文由zhoupeng35贡献doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
使用.NET 中的 XML 注释一) -- XML 注释标签讲解注释(一使用一.摘要.Net 允许开发人员在源代码中插入 XML 注释,这在多人协作开发的时候显得特别有用。
C#解析器可以把代码文件中的这些 XML 标记提取出来,并作进一步的处理为外部文档。
这篇文章将展示如何使用这些 XML 注释。
在项目开发中,很多人并不乐意写繁杂的文档。
但是,开发组长希望代码注释尽可能详细;项目规划人员希望代码设计文档尽可能详尽;测试、检查人员希望功能说明书尽可能详细等等。
如果这些文档都被要求写的话,保持它们同步比进行一个战役还痛苦。
为何不把这些信息保存在一个地方呢??最明显想到的地方就是代码的注释中;但是你很难通览程序,并且有些需要这些文档的人并不懂编码。
最好的办法是通过使用 XML 注释来解决这些问题。
代码注释、用户手册、开发人员手册、测试计划等很多文档可以很方便的从 XML 注释中获得。
本文讲解.Net 中经常使用的 XML 注释.主要使用 C#语言 j,.Net 平台支持的其他语言使用的 XML 注释格式基本相同.并且在本系列文章的下一讲中讲解如何使用工具将 XML 注释内容转化为帮助文档.二.XML 注释概述所有的 XML 注释都在三个向前的斜线之后(///)。
两条斜线表示是一个注释,编译器将忽略后面的内容。
三条斜线告诉编译器,后面是 XML 注释,需要适当地处理。
当开发人员输入三个向前的斜线后, Microsoft Visual Studio .NET IDE 自动检查它是否在类或者类成员的定义的前面。
如果是的话,Visual Studio .NET IDE 将自动插入注释标记,开发人员只需要增加些额外的标记和值。
下面就是在成员函数前增加三个斜线,自动增加的注释比如:////// 得到指定酒店的酒店信息//////酒店 Id///语言码.中文为 zh-cn/// <returns>酒店信息对象</returns>[OperationContract]OutHotelInfo GetHotelInfoByHotelId(string loginName, string loginPassword, string hotelId, string languageCode);这里嵌入的 summary,param,returns 标记仅仅是 Visual Studio 能够识别的一部分标记,然而在智能感知 IntelliSense 中,并没有把 c#规范中所有的标记列出来,遗失的部分只能用手工插入。
XML(eXtensible Markup Language)是一种用于描述数据的标记语言,它被设计用于传输和存储数据。
XML 通过使用标签(tag)来标识数据的结构和含义,具有自我描述性和可扩展性。
以下是 XML 的概念和基本格式:XML的基本概念:1.标记(Tag):在 XML 中,标记用于标识数据的元素和结构。
标记通常是成对出现的,包括开始标记和结束标记,它们用尖括号括起来。
例如,<element>和</element>。
2.元素(Element):在 XML 中,元素是由标记表示的基本数据单元。
一个元素包括开始标记、内容和结束标记。
例如:3.属性(Attribute):元素可以包含属性,属性提供有关元素的额外信息。
属性出现在开始标记中,并由空格分隔。
例如:4.文档(Document):整个 XML 数据被称为文档,一个 XML 文档通常包括一个根元素,根元素包含其他元素。
5.嵌套(Nesting):元素可以嵌套在其他元素中,形成层次结构。
例如:6.注释(Comment):注释在 XML 中用<!-- 注释内容 -->的形式表示。
XML的基本格式:一个简单的 XML 文档通常包含一个根元素,根元素包含其他元素。
以下是一个基本的 XML 文档示例:在这个例子中:▪<?xml version="1.0" encoding="UTF-8"?>声明了 XML 文档的版本和字符编码。
▪<bookstore>是根元素,包含两个<book>元素。
▪<book>元素包含<title>、<author>和<price>元素。
▪属性用于提供有关书籍类别和语言的额外信息。
XML 提供了一种通用的、可扩展的数据表示方法,常被用于配置文件、数据交换、Web服务等领域。
北京xx有限公司XML标准文件说明1. 绪论 (2)1.1 开发者和开发目标 (2)1.2 术语 (3)2. 文档 (4)2.1 格式良好的(Well-Formed)XML文档 (4)2.2 字符 (5)2.3 通用句法成分 (5)2.4 字符数据和标记 (6)2.5 注释 (7)2.6 处理指令 (7)2.7 CDATA段 (8)2.8 序言(prolog)和文档类型声明 (8)2.9 独立文档声明 (10)2.10 空白域处理 (11)2.11 行尾处理 (11)2.12 语言标识 (12)2.13字符集错误 (13)2.14标签分类 (13)2.15标签要求 (13)2.16 xml嵌套子元素 (13)2.17 xml嵌套子元素 (14)2.18 整体结构 (15)3. 逻辑结构 (15)3.1 起始标记,结束标记和空元素标记 (16)3.2 元素类型声明 (17)3.2.1 元素内容 (18)3.2.2 混合型内容(Mixed Content) (19)3.3 属性表声明 (19)3.3.1 属性类型 (20)3.3.2 属性缺省值 (21)3.3.3 属性-值对的规范化(Attribute-Value Normalization) (22)3.4 条件段(Conditional Sections) (22)5. 一致性(Conformance) (23)5.1 进行验证和不进行验证的处理器(Validating and Non-Validating Processors) (23)5.2 使用XML处理器 (24)6. 符号(Notation) (24)7 完整的XML DEMO (25)1. 绪论可扩展标记语言,缩写为XML,描述了一类称为XML文档的数据对象,同时也部分地描述了处理这些数据对象的计算机程序的行为。
XML是SGML(标准通用标记语言[ISO 8879])针对应用的一个子集,或者说是SGML的一种受限形式。