diff --git a/WHATSNEW b/WHATSNEW index e410948a1..50f6f502b 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -98,8 +98,8 @@ Other changes: in the XML file. * will now support external catalogs according to the - OASIS "Open Catalog" standard - if resolver.jar from Apache's - xml-commons is in your CLASSPATH. + OASIS "Open Catalog" standard - if resolver.jar (newer than version + 1.0) from Apache's xml-commons is in your CLASSPATH. * Starteam tasks now have support for revision labels and build labels. Checkouts now have the option of using repository timestamps, instead diff --git a/docs/manual/CoreTypes/xmlcatalog.html b/docs/manual/CoreTypes/xmlcatalog.html index 75292d91a..e57ee21bf 100644 --- a/docs/manual/CoreTypes/xmlcatalog.html +++ b/docs/manual/CoreTypes/xmlcatalog.html @@ -66,29 +66,32 @@ previously in a build file, or as a list of dtd or entity locations. In addition, external catalog files may be specified in catalogfiles filesets, but they will be ignored unless the resolver library from xml-commons is available -in the system classpath. A separate classpath for entity resolution -may be specified inline via nested classpath elements; -otherwise the system classpath is used for this as well.

-

XMLCatalogs can also be nested inside other XMLCatalogs. For -example, a "superset" XMLCatalog could be made by including several -nested XMLCatalogs that referred to other, previously defined -XMLCatalogs.

-

Resource locations can be specified either in-line or in -external catalog file(s), or both. In order to use an external -catalog file, the xml-commons resolver library ("resolver.jar") -must be in your path. External catalog files may be either Due to backwards incompatible changes in +the resolver code after the release of resolver 1.0, Ant will not +support resolver.jar in version 1.0 - we expect a resolver release 1.1 +to happen before Ant 1.6 gets released. A separate classpath for +entity resolution may be specified inline via nested +classpath elements; otherwise the system classpath is +used for this as well.

XMLCatalogs can also be nested inside +other XMLCatalogs. For example, a "superset" XMLCatalog could be made +by including several nested XMLCatalogs that referred to other, +previously defined XMLCatalogs.

Resource locations can be +specified either in-line or in external catalog file(s), or both. In +order to use an external catalog file, the xml-commons resolver +library ("resolver.jar") must be in your path. External catalog files +may be either plain text format or -XML format. If the xml-commons resolver library is not found in the -classpath, external catalog files, specified in catalogfiles -filesets, will be ignored and a warning will be logged. In this case, however, -processing of inline entries will proceed normally.

-

Currently, only <dtd> and +XML format. If the xml-commons resolver library is not found in +the classpath, external catalog files, specified in +catalogfiles filesets, will be ignored and a warning will +be logged. In this case, however, processing of inline entries will +proceed normally.

Currently, only <dtd> and <entity> elements may be specified inline; these -roughly correspond to OASIS catalog entry types PUBLIC and -URI respectively. By contrast, external catalog files -may use any of the entry types defined in the +roughly correspond to OASIS catalog entry types PUBLIC +and URI respectively. By contrast, external catalog +files may use any of the entry types defined in the +OASIS specification.

Entity/DTD/URI Resolution Algorithm

diff --git a/docs/manual/install.html b/docs/manual/install.html index 7a110588c..1654c0ca5 100644 --- a/docs/manual/install.html +++ b/docs/manual/install.html @@ -396,10 +396,14 @@ Installing Ant / Optional Tasks section above.

target="_top">http://www.clarkware.com/software/JDepend.html - resolver.jar + resolver.jar after the 1.0 release xmlcatalog datatype only if support for external catalog files is desired - http://xml.apache.org/dist/commons + http://xml.apache.org/dist/commons for released + versions, http://gump.covalent.net/jars/latest/xml-commons/ + for a nightly snapshot.
diff --git a/src/main/org/apache/tools/ant/types/resolver/ApacheCatalog.java b/src/main/org/apache/tools/ant/types/resolver/ApacheCatalog.java index e5671cfaf..eae54951d 100644 --- a/src/main/org/apache/tools/ant/types/resolver/ApacheCatalog.java +++ b/src/main/org/apache/tools/ant/types/resolver/ApacheCatalog.java @@ -130,7 +130,8 @@ public class ApacheCatalog extends Catalog { String systemid = normalizeURI(entry.getEntryArg(1)); if (resolver == null) { - Debug.message(1, "Internal Error: null ApacheCatalogResolver"); + catalogManager.debug + .message(1, "Internal Error: null ApacheCatalogResolver"); } else { resolver.addPublicEntry(publicid, systemid, base); @@ -142,7 +143,8 @@ public class ApacheCatalog extends Catalog { String altURI = normalizeURI(entry.getEntryArg(1)); if (resolver == null) { - Debug.message(1, "Internal Error: null ApacheCatalogResolver"); + catalogManager.debug + .message(1, "Internal Error: null ApacheCatalogResolver"); } else { resolver.addURIEntry(uri, altURI, base); diff --git a/src/main/org/apache/tools/ant/types/resolver/ApacheCatalogResolver.java b/src/main/org/apache/tools/ant/types/resolver/ApacheCatalogResolver.java index 7d0cb856b..94a499536 100644 --- a/src/main/org/apache/tools/ant/types/resolver/ApacheCatalogResolver.java +++ b/src/main/org/apache/tools/ant/types/resolver/ApacheCatalogResolver.java @@ -114,14 +114,14 @@ public class ApacheCatalogResolver extends CatalogResolver { // file in the ant jarfile with some default property // settings. See CatalogManager.java for more details. // - CatalogManager.ignoreMissingProperties(true); + CatalogManager.getStaticManager().setIgnoreMissingProperties(true); // // Make sure CatalogResolver instantiates ApacheCatalog, // rather than a plain Catalog // - System.setProperty("xml.catalog.className", - ApacheCatalog.class.getName()); + System.getProperties().put("xml.catalog.className", + ApacheCatalog.class.getName()); // debug // System.setProperty("xml.catalog.verbosity", "4");