# 外部资源

> 原文： [https://docs.oracle.com/javase/tutorial/jaxp/properties/resources.html](https://docs.oracle.com/javase/tutorial/jaxp/properties/resources.html)

XML，Schema 和 XSLT 标准支持以下需要外部资源的构造。 JDK XML 处理器的默认行为是建立连接并按指定的方式获取外部资源。

*   外部 DTD：引用外部文档类型定义（DTD），例如：`&lt;！DOCTYPE root_element SYSTEM“url”&gt;`
*   外部实体参考：参考外部数据，语法：`&lt;！ENTITY name SYSTEM“url”&gt;`
    一般实体参考如下：

    ```

    &lt;?xml version="1.0" standalone="no" ?&gt;
    &lt;!DOCTYPE doc [&lt;!ENTITY otherFile SYSTEM "otherFile.xml"&gt;]&gt;
    &lt;doc&gt;
        &lt;foo&gt;
        &lt;bar&gt;&otherFile;&lt;/bar&gt;
        &lt;/foo&gt;
    &lt;/doc&gt;

    ```

*   外部参数实体，语法`&lt;！ENTITY％name SYSTEM uri&gt;` 。例如：

    ```
    &lt;?xml version="1.0" standalone="no"?&gt;
        &lt;!DOCTYPE doc [
          &lt;!ENTITY % foo SYSTEM "http://www.example.com/student.dtd"&lt;
          %foo;
        ]&gt;

    ```

*   XInclude：在 XML 文档中包含外部信息集
*   使用 `schemaLocation` 属性和 `import` 和`包含`元素引用 XML Schema 组件。示例： `schemaLocation =“http://www.example.com/schema/bar.xsd”`
*   使用 `import` 或`组合样式表包括`元素：语法：`&lt; xsl：include href =“include.xsl”/&gt;`
*   xml-stylesheet 处理指令：用于在 xml 文档中包含样式表，语法：`&lt;？xml-stylesheet href =“foo.xsl”type =“text / xsl”？&gt;`
*   XSLT `document（）`函数：用于访问外部 XML 文档中的节点。例如，`&lt; xsl：variable name =“dummy”select =“document（'DocumentFunc2.xml'）”/&gt;` 。