External Resources

XML, Schema, and XSLT standards support the following constructs that require external resources. The default behavior of the JDK XML processors is to make a connection and fetch the external resources as specified.

  • External DTD: references an external Document Type Definition (DTD), example: <!DOCTYPE root_element SYSTEM "url">
  • External Entity Reference: refer to external data, syntax: <!ENTITY name SYSTEM "url">
    General entity reference such as the following:
     
    <?xml version="1.0" standalone="no" ?>
    <!DOCTYPE doc [<!ENTITY otherFile SYSTEM "otherFile.xml">]>
    <doc>
        <foo>
        <bar>&otherFile;</bar>
        </foo>
    </doc>
    
  • External Parameter Entities, syntax <!ENTITY % name SYSTEM uri>. For example:
    <?xml version="1.0" standalone="no"?>
        <!DOCTYPE doc [
          <!ENTITY % foo SYSTEM "http://www.example.com/student.dtd"<
          %foo;
        ]>
    
  • XInclude: include an external infoset in an XML document
  • Reference to XML Schema components using schemaLocation attribute, and import and include elements. Example: schemaLocation="http://www.example.com/schema/bar.xsd"
  • Combining style sheets using import or include elements: syntax: <xsl:include href="include.xsl"/>
  • xml-stylesheet processing instruction: used to include a stylesheet in an xml document, syntax: <?xml-stylesheet href="foo.xsl" type="text/xsl"?>
  • XSLT document() function: used to access nodes in an external XML document. For example, <xsl:variable name="dummy" select="document('DocumentFunc2.xml')"/>.