`

XML知识点滴(9)

阅读更多

XML知识点滴(9)

(引用文章,版权归作者,如需删除请联系我)

记号声明

n         在现实中,有许多数据都无法用XML来表示的,例如:声音、图像、影像等,对于这些数据,XML处理器通常不支持。

n         通过DTD中的记号申明(notation declaration),为非 XML数据描述一种可能的格式,或者指定一个外部的程序。

n         记号声明有两种形式,一种是使用MIME类型,形式如下:

       <!NOTATION gif SYSTEM “image/gif”>

       另一种是使用URI路径,指出外部处理程序的位置,如下:

       <!NOTATION gif SYSTEM “iexplore.exe”>

n         对于记号的声明,也可以使用PUBLIC关键字来代替SYSTEM关键字,并添加公共的名称和URI(用法类似于使用了关键字PUBLIC的外部DTD声明)。

 

有效的XML

n         一个遵守XML语法规则,并遵守相应DTD文件约束的XML文档称为有效的XML文档。

n         注意区分格式良好的XML和有效的XML,一个只要求遵循XML规范,一个不但要遵循XML规范,还要遵循相应的DTD约束。

n         XML文档和它的DTD文件进行比较分析,看是否符合DTD规则的过程叫验证(validation),这个过程通常是通过一个支持有效性检查的XML处理器来完成的。

 

XML处理器/解释器

n         合乎规范的XML处理器可以分为两类:进行验证和不进行验证的。

n         不支持有效性检查的处理器

这一类处理器只负责检查XML文档和它内部的DTD子集是否满足“格式良好的”语法规定。这类处理器不会对XML文档所引用的外部DTD文档进行分析、进而检查XML文档的有效性,但对于出现在文档内部的DTD子集,仍旧需要处理在内部DTD子集和参数实体中读到的所有声明,直到发现第一个对它们没有读取到的参数实体引用。也就是说,这类处理器必须使用DTD声明中的信息来规范属性的值,包含内部实体的替换文本,以及提供缺省的属性值。

n         支持有效性检查的处理器

这一类处理器在检查文档是否符合“格式良好的”基本要求的基础上,进一步结合DTD检查文档是否符合DTD中对文档结构的规定,判定这个文档是否是“有效的”。处理器必须读取和处理整个DTD和文档中引用的所有外部已分析实体。并报告出文档与DTD声明相冲突的地方,以及不满足DTD有效性约束的地方。

无论是哪一类处理器,都要报告文档实体的内容中和其它读取到的已分析实体中与XML标准的“格式良好的”文档定义相冲突的地方。

支持对XML文档进行有效性检查的XML处理器有:

1)        ApacheXercess

              XercesApacheXML项目的一部分,它分别使用JaveC++Perl编写了XML的处理器,支持有效性检查。Xerces是一个开放源代码的XML处理器,有关该处理器的详细介绍请参看网页:

              http://xml.apache.org/xercess-j/index.html

2)        Oracle XML Parser

Oracle XML Parser是在Oracle XDKXML Developers Kit)中提供的。XDKOracle公司提供的基于XML的工具包,可以用于JaveC++PL/SQLOracle XDK一个商业化软件,并非开源代码产品。Oracle公司发布了只用于开发的许可证,允许    你将此软件用于开发的目的。可以从下面的网页查看XDK的信息:http://www.oracle.com/technology/tech/xml/xdkhome.html

n         XML处理器位于XML数据与使用XML数据的应用程序之间,它通过标准的API来向应用程序提供数据。

分享到:
评论

相关推荐

    css 知识点滴 希望对你们有帮助

    ### CSS基础知识概览 #### CSS简介 CSS,全称为Cascading Style Sheets(层叠样式表),是一种用于定义HTML或XML文档中元素样式的语言。它使得网页设计者能够独立地控制网页的内容与表现形式,提高了网站开发的效率...

    oracle知识點滴

    "Oracle知识点滴"显然是一份汇聚了关于Oracle数据库关键概念和技术的资料,适合Oracle用户进行学习和参考。以下是根据标题、描述以及文件名所推测的一些关键知识点: 1. **Oracle数据库架构**:Oracle数据库采用...

    Eclipse SWT开发点滴

    ### Eclipse SWT开发点滴 #### 一、第三方包的引用 在使用Eclipse进行SWT开发时,经常会遇到需要引入第三方库的情况。以下是引入第三方库的具体步骤: 1. **工程项目增加Libraries** - 右键点击项目 -&gt; `Build ...

    梦颜时光记录点滴心情经历网站html源码源码资源下载整理.zip

    而“心梓知识”可能是指该源码包含了关于心理健康或情绪管理的知识分享,为用户提供更全面的服务。 总的来说,这份源码资源涵盖了前端网页开发的多个方面,从基础的HTML结构到复杂的JavaScript交互,再到可能涉及的...

    NoteBook这个版本太旧了,用上面新的吧

    综合以上信息,我们可以得出NoteBook是一个具有笔记、日记、知识管理功能的软件,用户可以通过它来记录生活点滴、管理信息,并且可以自定义界面。它依赖于一些库文件如mfc42.dll和iconv.dll来实现其功能,并且使用...

    NoteBook笔记本,欢迎使用

    3. **日记**:暗示NoteBook可能有日记编写和管理的功能,适合记录个人生活或工作中的点滴。 4. **知识点管理**:说明NoteBook设计时考虑到了知识的分类、存储和检索,适合学习者或研究者使用。 5. **随笔**:可能有...

    Java学习心得知识积累

    默认监听端口为8080,可通过修改`conf/server.xml`配置文件来更改。 #### 结语 Java的学习之路既漫长又充满乐趣,从理解JDK的基本构成到掌握应用服务器的配置,每一步都是对编程技能的提升。希望以上分享能够帮助...

    我的日记本—可参考

    【标题】"我的日记本—可参考"是一个安卓应用程序项目,旨在提供一个个人日记管理平台,用户可以在这里记录、编辑、删除和查找他们的日常生活点滴。这个项目作为一个安卓入门练习,涵盖了移动应用开发的基础知识,是...

    QQ发表说说功能框的代码

    QQ发表说说功能框是QQ社交平台上的一个重要组成部分,它允许用户分享心情、想法或生活点滴,与好友进行互动。实现这一功能涉及到前端界面设计、后端数据处理以及用户交互等多个方面的技术。以下是对这个功能框背后的...

    安卓Android源码——便签软件.zip

    在安卓(Android)平台上,开发一个便签应用是常见的任务,它可以帮助用户快速记录生活、工作中的点滴。本文将深入探讨“安卓Android源码——便签软件.zip”中包含的知识点,带你理解如何构建一个基本的便签应用。 ...

    博客系统演示

    这种系统提供了一种便捷的方式,让人们能够分享思想、观点、专业知识或者生活点滴,无需深入学习编程技术。博客引擎是博客系统的核心组成部分,它负责处理用户的交互、内容管理、模板渲染和权限控制等功能。 在...

    最新2020程序员实习日记范文6篇.docx

    这篇文档包含了六篇程序员实习日记,记录了一位实习生在2020年期间学习和工作的点滴,主要涉及Java编程、开源框架、数据库管理和Web应用开发等主题。以下是这些日记中提炼出的重要知识点: 1. **Java编程框架**:...

    Android随手记

    9. **权限管理**:如果应用需要读写外部存储以备份或导出数据,开发者需要在AndroidManifest.xml中声明相应的权限,如`WRITE_EXTERNAL_STORAGE`。 10. **UI交互**:使用OnClickListener等接口处理用户点击事件,...

    WEB2.0论文

    例如,博客允许个人表达观点,分享生活点滴,而维基百科则让用户共同编写和编辑知识,实现了大规模协作的知识创作。 在技术层面,Web 2.0的实现离不开Ajax(Asynchronous JavaScript and XML)等技术的支持。Ajax...

    幸福就是现在作文(集合15篇).docx

    【部分内容】中的第一篇文章讲述了主人公在生活中感到忙碌和压力,但在生日那天得到了家人的惊喜,从而意识到幸福就存在于日常生活的点滴之中。第二篇文章通过与爷爷下棋的情景,展现了亲情的温暖和陪伴带来的幸福感...

    简单的个人记事本APP

    【标题】"简单的个人记事本APP"是一个基于Android Studio开发的应用程序,旨在提供一个便捷的个人记事功能,让用户可以快速记录生活中的点滴、想法或待办事项。这款应用结合了基本的文本编辑功能与照相机权限的调用...

    Jishiben.rar_android_记事本Android

    在Android平台中,开发一款记事本应用程序是一项基础且实用的任务,它能够帮助用户记录生活中的点滴、工作中的想法或是学习笔记。本教程将深入探讨如何使用Android Studio进行记事本应用的开发,以"Jishiben.rar...

    Android应用源码之便签软件-IT计算机-毕业设计.zip

    本项目名为“Android应用源码之便签软件”,它是一个典型的Android应用程序,旨在实现一个便签管理功能,帮助用户记录日常生活中的点滴。通过分析这个源码,我们可以深入学习Android开发的多个关键知识点。 首先,...

    初三春节作文三篇.docx

    1. **文档格式**:文件名为".docx",这是Microsoft Word的一种文档格式,属于Office Open XML(OOXML)标准,它允许包含文本、图像、表格等多种元素,是一种常见的技术文档存储格式。 2. **信息传播技术**:文中...

Global site tag (gtag.js) - Google Analytics