XML高级编程_第9章转换XML
需积分: 0 96 浏览量
更新于2007-08-05
收藏 2.95MB PDF 举报
### XML高级编程_第9章转换XML
#### 9.1 为什么转换XML
XML(Extensible Markup Language,可扩展标记语言)作为一种跨平台、结构化的数据格式,为信息的标准化存储与交换提供了强有力的支持。然而,随着XML应用场景的多样化发展,如何高效地将XML文档从一种形式转换为另一种形式成为了开发人员关注的重点。本章将围绕XML转换展开讨论,重点涵盖转换的必要性及其背后的逻辑。
##### 9.1.1 在不同词汇表之间转换
在实际应用中,同一个数据集可能需要符合多个不同的XML词汇表(Schema)。例如,一个出版商可能会创建一个包含书籍信息的XML文档,用于内部管理和在线展示。同时,为了与不同的合作伙伴(如在线书店)共享这些信息,需要将该文档转换成符合各自特定词汇表的形式。
**示例**:假设Wrrox公司拥有一个内部使用的书籍目录XML文档,其结构如下:
```xml
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications with XML.</description>
</book>
...
</catalog>
```
如果一家书店(比如Amazon)要求书籍信息使用不同的XML结构来呈现,例如:
```xml
<books>
<book>
<id>bk101</id>
<title>XML Developer's Guide</title>
<author>Gambardella, Matthew</author>
<genre>Computer</genre>
<price>44.95</price>
<published>2000-10-01</published>
<description>An in-depth look at creating applications with XML.</description>
</book>
...
</books>
```
为了满足书店的要求,就需要将原始的Wrrox格式转换为Amazon格式。这种转换可以通过多种工具和技术实现,其中最常用的是XSLT(Extensible Stylesheet Language Transformations)。
#### 9.2 使用XSLT转换XML
XSLT是一种强大的XML到XML转换语言,它允许开发者使用XPath表达式来指定源XML文档中的数据元素,并定义目标文档的结构。通过这种方式,可以轻松地将一种XML格式转换为另一种。
**示例**:以下是一个简单的XSLT样式表,用于将Wrrox格式的书籍信息转换为Amazon格式:
```xml
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<books>
<xsl:apply-templates select="catalog/book"/>
</books>
</xsl:template>
<xsl:template match="book">
<book>
<id><xsl:value-of select="@id"/></id>
<title><xsl:value-of select="title"/></title>
<author><xsl:value-of select="author"/></author>
<genre><xsl:value-of select="genre"/></genre>
<price><xsl:value-of select="price"/></price>
<published><xsl:value-of select="publish_date"/></published>
<description><xsl:value-of select="description"/></description>
</book>
</xsl:template>
</xsl:stylesheet>
```
通过以上XSLT样式表,Wrrox格式的书籍信息可以被准确无误地转换为Amazon所需的格式。
#### 9.3 创建动态文档
除了从一种词汇表转换到另一种外,XML转换还可以用于创建动态文档。这类转换允许用户根据个人需求对文档进行重组、过滤和排序。例如,允许用户点击表格列头来对内容进行排序。
**示例**:假设有一个书籍目录表格,用户可以根据价格或出版日期进行排序。这种动态文档的创建通常需要结合XSLT和DOM(Document Object Model)技术来实现。
#### 9.4 转换成另一种解释语言
XML转换还用于将数据准备成适合不同设备显示的形式,例如HTML、WAP、SVG等。例如,将XML格式的书籍信息转换为HTML格式以便在网页上展示,或者转换为SVG格式以便在支持矢量图形的设备上查看。
XML转换是一项关键的技术,它不仅有助于解决跨平台和跨应用之间的数据交换问题,还能实现数据的动态展示和个性化定制。通过对XSLT等工具的学习和掌握,开发人员可以更加灵活高效地管理XML数据。
ptwuzhsh
- 粉丝: 4
- 资源: 23
最新资源
- 质量安全排查报告.docx
- 职业中专技工学校专业评估表.docx
- 质量控制资料核查表:建筑保温工程.docx
- 质量目标统计数据表.docx
- 质量内审方案.docx
- 中国古今地名对照表.docx
- 智力残疾评定标准一览表.docx
- 中央造林补助实施方案小班一览表.docx
- 肘关节功能丧失程度评定表.docx
- 重要神经及血管损伤评定.docx
- 自建房安全整治和农村住房建设考评内容和评分标准.docx
- 走访服务企业登记表.doc
- 智能车开发技术的多领域深度解析及应用
- 西红柿叶片图像目标检测数据【已标注,约700张数据,YOLO 标注格式】
- 蓝桥杯开发技术的全面解析与备赛建议
- 相当于去中心化的QQ版本了