Changes

Jump to navigation Jump to search
108 bytes removed ,  18:33, 1 December 2023
m
Text replacement - "</syntaxhighlight>" to "</pre>"
<syntaxhighlight lang="xml">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
</syntaxhighlightpre>
Fetching <code>xhtml1-strict.dtd</code> from the W3C’s server obviously involves network traffic. When dealing with single files, this may seem tolerable, but importing large collections benefits from caching these resources. Depending on the remote server, you will experience significant speed improvements when caching DTDs locally.
<rewriteSystem systemIdStartString="http://www.w3.org/TR/xhtml1/DTD/" rewritePrefix="file:///path/to/dtds/" />
</catalog>
</syntaxhighlightpre>
This rewrites all systemIds starting with: <code><nowiki>http://www.w3.org/TR/xhtml1/DTD/</nowiki></code> to <code>file:///path/to/dtds/</code>. For example, if the following XML file is parsed:
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"/>
</syntaxhighlightpre>
The XHTML DTD <code>xhtml1-transitional.dtd</code> and all its linked resources will now be loaded from the specified path.
<syntaxhighlight lang="xml">
<xsl:import href="http://acme.com/xsltlib/acme2html/1.0/acme2html.xsl"/>
</syntaxhighlightpre>
The XSLT stylesheet might not even be available from this location. The URI serves as a canonical location identifier for this XSLT stylesheet. A local copy of the <code>acme2html/1.0/</code> directory is expected to reside somewhere, and the location of this directory relative to the local XML catalog file is specified in an entry in this catalog, like this:
<syntaxhighlight lang="xml">
<rewriteURI uriStartString="http://acme.com/xsltlib/acme2html/1.0/" rewritePrefix="../acmehtml10/"/>
</syntaxhighlightpre>
This way, XSLT import URIs don’t have to be adjusted for the relative or absolute locations of the XSLT library’s local copy.
<syntaxhighlight lang="perl">
java -Djavax.xml.catalog.resolve=continue ... org.basex.BaseX
</syntaxhighlightpre>
…or via XQuery:
Q{java:System}setProperty('javax.xml.catalog.resolve', 'continue'),
...
</syntaxhighlightpre>
See [https://docs.oracle.com/en/java/javase/11/core/xml-catalog-api1.html Java 11: XML Catalog API] for more information.
xslt:transform(db:get('acme_content')[1], '../acmecustom/acmehtml.xsl')
}
</syntaxhighlightpre>
It is assumed that this stylesheet <code>../acmecustom/acmehtml.xsl</code> (location relative to the current XQuery script or module) imports <code>acme2html/1.0/acme2html.xsl</code> by its canonical URI that will be resolved to a local URI by the catalog resolver.
<syntaxhighlight lang="bat">
set BASEX_JVM="-Dorg.basex.catalog=file:///c:/Users/Jane/path/to/catalog.xml"
</syntaxhighlightpre>
=Changelog=
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu