XML Catalog实体管理
使用XML Catalog解析外部实体和DTD引用。 · 难度:入门 · +15XP
XML Catalog概述
XML Catalog用于将外部标识符(如DTD、Schema、实体)映射到本地资源,提高解析速度和可靠性。OASIS Catalog格式是最常用的标准。
基本结构
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<public publicId="-//Example//DTD Sample 1.0//EN" uri="sample.dtd"/>
<system systemId="http://example.com/schema.xsd" uri="local/schema.xsd"/>
<uri name="http://example.com/ns" uri="local/ns.xml"/>
</catalog>映射类型
| 元素 | 说明 |
|---|---|
| public | 映射公共标识符 |
| system | 映射系统标识符 |
| uri | 映射任意URI |
| rewriteSystem | 替换系统URI前缀 |
示例:解析DTD
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "http://example.com/note.dtd">
<note>
<to>用户</to>
<from>系统</from>
</note>配合Catalog将远程DTD映射到本地文件,避免网络依赖。
练习提示
创建一个Catalog文件,将两个不同的公共ID映射到本地DTD文件。验证解析器是否正确加载本地资源。