8 June. 2011
Changed the loader constructors to require an entity resolver to be specified when creating a loader. This will encourage use of entity resolvers with document caching so that the formation of schema grammar pools is not irritatingly slow because of internet file downloads each time a loader is created.
7 June. 2011
Bought the Maven POM files up to date and ensured that they also run correctly using TestNG.
Modified the SAX parser used by the loader to cache the XBRL related schemas. This improves performance and reduces dependencies on schemaLocation attribute values. Added a new schema for XML Schemas. It is based on the schemas issued with the XML Schema specifications and is available from the XBRLAPI website.
3 June. 2011
Completed migration to using TestNG for unit testing.
Significantly refactored the unit testing code to improve the ability to run the tests in parallel. This particularly affected the units test of the data store implementations.
2 June. 2011
Added unit tests and made sure they all pass for the embedded eXist data store implementation.
Began migration to using TestNG for unit testing.
1 June. 2011
Created new embedded eXist data store implementation. It still needs a lot of work!
Removed JUnit test suites in preparation for migration to JUnit 4.X.
Cleaned up obsolete JAR dependencies.
Improved the handling of XML serialization throughout the API by using the org.w3c.dom.ls.LSSerializer interface instead of deprecated XML serializers.
Fixed a bug in the relationship persistence functionality that prevented the API from detecting relationships to locators with invalid href attributes (ones that do not link to an external XML resource).
31 May. 2011
Modified the StorerImpl to enable the persistence of relationships to work in the eXist data store as well as in other data stores.
Improved the efficiency of the eXist data store implementation based on comments from R. Oldenburg.
30 May. 2011
Modified the index configuration for the eXist data store to reflect usage of eXist 1.4.
31 January. 2011
Added the org.xbrlapi.Instance#getFacts(URI, String) method to get all facts with a given namespace and name from an XBRL instance.
Added the org.xbrlapi.Instance#getFacts(org.xbrlapi.Concept) method to get all facts for a given concept0 from an XBRL instance.
Similar methods were added to the org.xbrlapi.data.Store interface to enable facts to be retrieved across all instances.
13 December. 2010
Revised the aspect value caching system to make it clearer and to ensure that it refreshes appropriately.
7 December. 2010
Added ability to analyse domain member usability.
2 December. 2010
Added new static methods to the Hypercube implementation to analyse the hypercubes that are inherited by a given concept.
Added new dimension retrieval capabilities for hypercubes.
29 November. 2010
Fixed bugs in the period aspect value implementation so that instant periods are properly handled. Improved the period aspect value labelling system.
Simplified the non-fragment XML resource constructors to only use the builder when necessary.
Added a new entity resolver constructor to make it easier to generate an entity resolver using an existing cache.
Changed Indexes to Indices in some method signatures.
11 November. 2010
Added Apache commons lang library version 2.5 to the set of project dependencies. This library supports simplified handling of string escaping for XML/HTML/XHTML etc. This improves the intelligence with which non numeric values with escaped and unescaped XHTML content can be handled, as well as improving the handling of XHTML labels.
10 November. 2010
This is a red-letter day. Finally, the SAX parser is doing XML Schema validation of documents as they are loaded into the data store. This modifies input data based upon XML schema default values and data types, substantially simplifying things like getting semantic matching done on entity identifiers. It means that the original documents cannot be recovered in a form that is syntactically identical to the form that they were obtained in. This limitation is deemed to be less significant than reaping the benefits of XML Schema based modification of data values based on defaults and data types.
9 November. 2010
Fixed a bug in the retrieval of entity aspect value labels that was preventing generic labels for entity identifier resources from being detected.
8 November. 2010
Extended range of SEC RSS feed data that is extracted by the SEC Grabber.
Fixed a bug in the analysis of scenarios in dimensional aspect models. If you have a version of the 5.3 file release, that was downloaded before 8 November, 2010, get a new copy that addresses this bug.
5 November. 2010
Prepared for 5.3 file release.
Updated to eXist version 1.4.
Migrated the new alternative aspects package to the usual org.xbrlapi.aspects package, deleting the previous version of the aspects package. The changes significantly enhance the speed with which aspects are handled, as well as ensuring that aspect values are comparable at a semantic level, just based on their ID properties. Some work will be required to migrate existing aspect model code to use the new aspect model designs. Added new methods to the org.xbralpi.aspects.FactSet interface to enable selection of a subset of facts in the set that match a collection of aspect values.
21 October. 2010
Added a new database cache size option for the load example to assist Elizabeth Blankespoor with troubleshooting her MS Windows installation of the XBRLAPI and the Oracle Berkeley XML database.
20 October. 2010
Improved the handling of XHTML content in mixed XLink resources by adding a new specific method for accessing that content. Also renamed the getContent method to make it more specific to its function.
24 September. 2010
Added aspect value pair XML resources to the API so that it is possible to persist information about fragments and the values that they have for aspects. This is useful in improving performance of aspect analysis for facts, contexts, units etc.
Note that this is one more small step along the path toward translating XBRL information into a series of RDF triples.
23 September. 2010
Fixed a bug in the analysis of XML Schema type derivations. The bug prevented recognition of types being "derived" from themselves.
29 July. 2010
Fixed bug in the cache handling of MS Windows File Scheme URIs. The conversion back from the cache file to the original URI was leaving off the drive letter. This problem was identified by Raghavendra Sidhanti.
26 July. 2010
Fixed various bugs identified by unit tests in relation to xml:lang attribute handling. Eliminated the getLanguage() method from the Resource interface and implementation becuase it is a naive poor-cousin version of the getLanguage() method available from the Fragment interface and implementation.
21 July. 2010
Modified the getLabels method of the BaseStore implementation to better handle null selection criteria for resource roles and link roles and language codes. Made the same changes for reference resource retrievals also.
20 July. 2010
Changed the fragment builder to add XML namespace attributes using the setAttributeNS method so that they are treated as having QName names. The previous approach was intended to work around some software with peculiar handling of attributes in the XML namespace.
14 July. 2010
Added new alternative aspect value labelling system. Added new XLink unit resource to facilitate human readable labelling for XBRL unit measures.
29 June. 2010
Added new org.xbrlapi.Concept interface method to get facts that are children of XBRL instances - referred to as root facts.
22 June. 2010
Finished off the core components of the alternative Aspects implementation. This implementation is intended to be lighter weight and better suited to manipulation in more traditional database structures rather than only in XML databases.
3 June. 2010
Added method to enable testing for fraction items at the fact interface level.
Added method to enable testing for for substitution group heirarchies at the ElementDeclaration interface level.
14 May. 2010
Simplified implementation of getMinimumDocumentSet method for the base Store implementation.
14 May. 2010
Added in new methods to retrieve the XLink structures using a given custom role type.
13 May. 2010
Changed the Networks#getNetworks(URI) to return a Networks object rather than a list of networks.
Added new method to get child fragments of a given type. Deprecated the old method in the Store interface.
6 May. 2010
Added new methods to the period fragment interface to enable clear distinction between dates and dateTimes and dateTimes with and without timezone information.
5 May. 2010
Added new methods to retrieve Calendar objects for start and end dates and instants, all adjusted for XBRL 2.1 specification features.
3 May. 2010
Made the org.xbrlapi.Measure Comparable so that unit numerator and denominator measures could have a natural ordering.
Made the entity identification scheme a real URI rather than a string.
21 Apr. 2010
Added new method to the Store interface to count XML resources with a given type.
Added a getAllFacts method to the data store to allow retrieval of all facts (root level and those that are children of tuples).
15 Apr. 2010
Simplified the handling of serialization.
15 Mar. 2010
Added source fragment URI and target fragment URI data to relationship XML resources.
Modified the Linkbase#getExtendedLinks method to return the empty list rather than null if the linkbase contains no extended links.
11 Mar. 2010
Added new convenience methods to get sets of fragment indices from the data store.
2 Mar. 2010
Added a getConceptCount method to the org.xbrlapi.Schema interface.
Added the getImporters method to the .xbrlapi.Schema interface.
25 Feb. 2010
The org.xbrlapi.Fragment#getLanguage() method now works for any node in a fragment and it handles language code inheritance through the XML heirarchy.
7 Dec. 2009
Added a new history tracking system for loaders so that it is possible to reload the documents in a data store while preserving the document identifiers used in the initial loading process.
27 Nov. 2009
Fixed a bug in the linkbase fragment implementation that prevented retrieval of the child extended links in the linkbase.
25 Nov. 2009
Aligned constant URI syntax in XDT module with the URI syntax for constants in the utilities module.
24 Nov. 2009
Fixed a problem with determining if a location aspect value has a parent location aspect value when the location aspect value is for a fact that is contained within a tuple.
Changed getAxisAspects method on the AspectModel interface to always return a list. The list is empty if the axis has no aspects in the aspect model.
23 Nov. 2009
Changed label retrieval methods for aspects to make them uniform across all aspect implementations. Added new linkbase methods to analyse the extended links contained in them.
10 Nov. 2009
Made aspects record facts with missing aspect values rather than ignoring them.
9 Nov. 2009
Improved the handling of the dimension aspect labelling to exploit XBRL labels for such dimensions.
5 Nov. 2009
Added aspect label method so that labels can be provided that identify aspects.
Changed the getMatches method of the org.xbrlapi.aspects.Aspect interface to throw an exception if the aspect does not have an aspect value as the matching criterion.
Fixed a bug in the DimensionalAspectModel that prevented facts from having their dimensional aspect values recorded properly as new dimensional aspect values were discovered.
3 Nov. 2009
Made the org.xbrlapi.Concept#getPeriodType method return null for tuple concepts instead of throwing an exception.
Prevented the org.xbrlapi.Concept#isNumeric from tripping up on Tuple concepts.
30 Oct. 2009
Added means of getting fragments linking to a specified URI to the store interface.
29 Oct. 2009
Added the ability to test if concepts and type declarations are XBRL numeric item data types.
Added a method to the aspect model interface to enable retrieval of all aspect values (one per aspect in the model) for a given fact.
27 Oct. 2009
Added convenience methods to the org.xbrlapi.Fragment interface to support better analysis of fragment hierarchies within XML documents as opposed to XLink relationship networks.
Added new methods to the org.xbrlapi.aspects.AspectValue interface to support more sophisticated handling of hierarchies of values for a given aspect.
26 Oct. 2009
Standardised handling of missing aspect values. This became a big deal once tuples were allowed within aspect models and the location aspect was introduced. Added a new getLabels method for fragments to make it easier to have graceful fall back if first preferences for languages and label role are not able to be fulfilled.
22 Oct. 2009
Tuples are now treated as facts in aspect models.
Fixed a glitch in the tuple/fractionItem identification logic to prevent tuples within tuples from causing their parent tuples to be identified as fraction items.
21 Oct. 2009
Changed method names for the org.xbrlapi.aspects.AspectModel interface to replace the word dimension with the more consistently used word Axis.
20 Oct. 2009
Sorted out tuple identification and fraction item identification so that it works always. Also made fraction item methods robust to all kinds of perverse fraction items that restrict the fraction item type and rename the numerator and denominator elements in fraction items.
Enhanced location aspect handling in aspect models and simplified aspect value validation logic by adding a new version of the org.xbrlapi.XML#isa() method to take a class as an argument rather than a class name.
19 Oct. 2009
Fixed a bug in tuple detection.
8 Oct. 2009
Added method to the org.xbrlapi.cache.Cache interface to allow retrieval of a list of the URIs contained in a the cache directory corresponding to a given URI or in any of that directory's descendant directories. This can be a quick way to reload data into a data store. It is also useful if you want to unzip a set of taxonomy files directly into the cache, effectively faking their publication on the internet, and then loading the files that you have added directly to the cache.
25 Sep. 2009
Created a new Oracle Berkeley XML Database store constructor that gives users control over the cache size of the database.
18 Sep. 2009
Made the getReferencingItems method of the org.xbrlapi.FactDimensionContainer interface generic so that you can specify if the items are numeric (helpful for units for example).
Added new methods to the org.xbrlapi.Schema interface to support retrieval of all global complex and simple type declarations and to support retrieval of any named global declaration.
Added new methods to the org.xbrlapi.TypeDeclaration interface to support finality analysis and to support analysis of type derivation paths.
Fixed a bug in handling of QNames with no namespace prefixes when looking up QName namespaces via the org.xbrlapi.Fragment interface.
14 Sep. 2009
Modified the cache loading utility example to load a part of a cache rather than the whole cache. This provides a nice way of testing before publication of a taxonomy by copying it to a place in the taxonomy cache and then loading from there rather than from the prospective publication location.
Modified the org.xbrlapi.Instance interface to provide a range of new methods that reduce the computational burden involved in summarising the information contained in an XBRL business report.
10 Sep. 2009
Added new getTuples method to the org.xbrlapi.Instance interface to enable retrieval of all tuples that are children of the root element of the XBRL instance.
9 Sep. 2009
Fixed a bug, identified by Karel Arkema, in the org.xbrlapi.data.BaseStoreImpl#getTuplesFromInstances(List) method. This now ensures that tuples are correctly identified.
Fixed a bug in the relationship persistence behaviour of the Loader discover method that prevents analysis of relationships where the related fragments have not all been discovered yet.
Made the Transformer classes within Aspects public so that they can be accessed and customised.
Created a new utility example that loads all of the documents in a specified taxonomy cache location.
7 Sep. 2009
Added methods to the org.xbrlapi.Fragment interface that enable access to the XPointer expressions that could be used to reference the root element of the fragment.
Changed the method signatures for the Resource methods that retrieve the name of the language used for an extended link resource.
25 Aug. 2009
Started work on fleshing out an enhanced XML Schema fragmentation system to allow deeper analysis of XML schema content model declarations.
21 Aug. 2009
Fixed a bug in simple link traversal to ensure that matching URIs are taken care of behind the scenes. Previously a simple link to a duplicate document would show up as being broken, implying that the DTS has not been fully discovered.
20 Aug. 2009
Made the org.xbrlapi.SimpleLink#getTargetDocumentURI() method public.
18 Aug. 2009
Added new methods to the org.xbrlapi.networks.Networks interface to enable all relationships from or to a given fragment to be obtained for all networks in the set of networks.
13 Aug. 2009
Added new transient part of store state to keep track of the set of loaders that are currently loading data into the store. This enables loaders in different threads to co-ordinate their relationship persistence activities. Added new getSourceIndices method to the Store interface. Added methods to facilitate more efficient handling of concept analysis in terms of the facts for that concept.
11 Aug. 2009
Added new method to access a map of language names from a data store. Changed the getLanguage method to getEncoding for Language fragments. Added a new class to facilitate rapid analysis of language encodings and names.
7 Aug. 2009
Added new org.xbrlapi.impl.LanguageComparator method that compares Language fragments based on their codes and then the language names.
4 Aug. 2009
Added new method: org.xbrlapi.data.Store#getRootFragments(String). This provides access to document root fragments of a given type. It is useful for retrieving all schema root elements or all XBRL instance root elements.
3 Aug. 2009
Made the arcrole and linkrole parameter orderings for methods consistent for the networks and the data packages. Extended network related unit tests to check consistency. Added a new utility example that enables investigation of relationship properties for a specified document fragment in the data store.
1 Aug. 2009
Refined the org.xbrlapi.data.Store#getConcept method to use a single XQuery. This should improve performance. Fixed a bug in the retrieval of the data root element for fragments being built. The code used to just return the container element for the data root element for such fragments. Modified the handling of xml:lang attributes for XLink resources, copying inherited values onto the resource element itself. This makes for much faster querying and fixes a bug in the handling of the xml:lang attributes where previously inherited attributes were not being detected.
31 Jul. 2009
Modified the org.xbrlapi.Measures interface to capture the measure QName prefix as a measure property. This changes the implementation constructor. Added an additional example utility showing how to analyse units of measurement in an XBRL instance. Added new unit test for Oracle Berkeley XML database handling of multiple namespace prefix declarations for the one namespace. Fixed a problem in capturing namespace prefix declarations when the prefix is not used for an attribute or element and where the namespace being given the prefix is being used for an attribute or element.
28 Jul. 2009
Moved the DBConnection implementation to be an inner class of the eXist store implementation. Cleaned up the eXist store deletion method.
27 Jul. 2009
Eliminated the org.xbrlapi.networks.Relationship interface and implementation, replacing it throughout with the very similar but more complete org.xbrlapi.PersistedRelationship interface and implementation. Created additional org.xbrlapi.networks.Analyser implementations to filter relationships in various ways (all relationships or all relationships that are not marked as being prohibited on the arc declaring them). These alter the results relating to network methods for data stores that use persisted relationships.
21 Jul. 2009
Made most classes serializable. Introduced axes in place of dimensions in aspect models to avoid clashes with XDT dimensions. This causes backward incompatibility of the API but eliminates bugs in the dimension aspect implementations.
16 Jul. 2009
Added arc URI to the information persisted for each relationship. Added in persisted error information capture using the data store to track problems as they arise during persistence of relationships. Added Freemarker to the list of dependencies in the examples Maven POM file.
14 Jul. 2009
Simplified the org.xbrlapi.utilities.Constants class to use java.net.URI rather than strings for all URI constants. Refined the treatment of type="none" XLink attributes to ensure that such elements were not treated as XLink elements.
8 Jul. 2009
The examples have been repackaged, debugged, and extended to include a number of new data store maintenance utilities.
30 Jun. 2009
Finalised a broad range of modifications to the relationship persistence code; document matching performance improvements; 0 and the XPath 2.0 to XQuery 1.0 query language change.
18 Mar. 2009
Enabled the loader to augment persisted relationships upon successful completion of a document discovery process if the resulting data store contains a complete DTS (so that all relationship networks can be analysed without running into missing fragments). Finalised the persisted relationship rendering example.
11 Mar. 2009
Changed the methods retrieving active relationships from a network for a given source or target fragment to return a sorted set of relationships, sorted by order rather than a standard list of relationships. Eliminated the FragmentList interface and implementation. This is now done with standard Java collections.
10 Mar. 2009
Changed the getOrder method of the Arc fragment interface to return a Double rather than a String.
26 Feb. 2009
Eliminated the XBRLStore interface and implementation, merging the functionality back into the base store interface and implementation. This is a precursor to refactoring all network analysis code into the data store implementations and out of the fragment implementations so that data store specific optimisations are easier to exploit. Added a new method for Networks to allow two Network collections to be merged. Added more methods to get references for fragments. Removed remaining fragment data modification methods. Eliminated network analysis methods from the fragment interface, pushing responsibility for such operations to the store so that the store can optimise network analysis in various ways.
24 Feb. 2009
Completed a first cut of a network analyser that enables interaction and analysis of persisted networks of relationships. A lot of methods are available to facilitate easy interaction with labels and references.
20 Feb. 2009
Modified Store to provide a wider range of query options and to make query processing more efficient. Added a new store query method that returns the number of results generated rather than the actual results. Adjusted string and indices queries to work with sets rather than lists for efficiency purposes. Adjusted the getArcroles and getLinkroles methods of the XBRLStore to work with sets rather than lists for efficiency purposes.
19 Feb. 2009
Changed the store method names in the org.xbrlapi.data.Store interface. Continued modifying method signatures to use URI instead of String whereever pFree Open-Source Softwareible. Completed a first cut of the Storer interface and implementation for persisting active network relationships in the data store. This should facilitate more efficient network analysis in some circumstances by enabling the cost of network analysis to be handled in a once off operation prior to the interactive analysis of the data.
18 Feb. 2009
Additional changes to method signatures to pass URIs where possible instead of strings. Corrected bugs in the UsedOn fragment subclass to ensure that inherited methods are not overridden in manners that contradict their intent.
17 Feb. 2009
Refactored fragment interfaces to distinguish document fragments from other kinds of XML resources in the data store. This is needed to retain clarity now that a broader range of information about relationships is stored directly in the data store.
12 Feb. 2009
Made the loader process able to handle all kinds of exceptions during the parsing process without causing the document discovery process to be derailed or the document cache or data store to be corrupted. Improved the efficiency of the document queue for data loading to improve the performance when loading very large numbers of documents.
11 Feb. 2009
Added new queryForString and queryForStrings methods to the org.xbrlapi.data.Store interface and all implementations thereof. Modified the in-store URI matching to ensure that a signature only needs to be computed once for each document in the data store.
28 Jan. 2009
Modified additional function signatures to work with URI arguments rather than string representations of URI arguments. Added loader focussed unit testing for loading of duplicate resources.
26 Jan. 2009
Changed the loader's document queue to be a map from URIs to load status rather than from String representations of URIs to load status to enable better analysis of URI equality. Modified the data store to keep track of reasons for documents not being loaded when storing the loader state. This enables robust handling of situations where documents that should be in the DTS are have IO problems or have SAX parsing problems.
1 Jan. 2009
Created the local test data file release.
31. Dec. 2008
Replaced usage of URLs with URIs throughout the API. This was done to get better uniformity of handling of URLs and to take advantage of the better handling of different schemes in the java.net.URI interface compared to the java.net.URL interface. This change does cause significant backward compatibility issues. However, it is expected to resolve the ongoing problems that have been encountered when working with file-scheme URLs. Improved the network processing efficiency of the rendering example. Incorporated improvements to the Freemarker template file from Walter Hamscher.
10 Dec. 2008
Fixed the NPE bug in the handling of processing instructions that come before any markup in an XML document. Fixed missing class files in the examples JAR.
9 Dec. 2008
Added in XDT aspects and dimensional aspect model to the XDT module.
5 Dec. 2008
Changed the getAttribute methods of the Arc fragment interface to return null if the arc does not have the specified attribute rather than throwing an exception.
4 Dec. 2008
Added new methods to better handle analysis of presentation networks and to provide a more complete range of network construction methods. Added the new org.xbrlapi.networks.Network#complete method to allow for a network to be completely constructed in a single call.
24 Nov. 2008
Fixed NPE in the method to get denominator measures for an org.xbrlapi.Unit that does not have a denominator. Created the first XDT file release.
22. Nov. 2008
Fixed up the usage of the isNil method to use nil rather than nill and to be for facts rather than just items. Added a measure interface and implementation to handle measures in unit fragments. This makes it easier to access resolved measure QNames in numerators and denominators. This also causes backward incompatibility issues for some methods of the org.xbrlapi.Unit interface.
21 Nov. 2008
Made the getNetworkRoots method of the XBRLStore a generic method and ensured that it does not return locators.
20 Nov. 2008
Fixed a bug in the Fragment implementation relating to getting the local name from a QName. QNames without a prefix were not handled correctly. Squeezed more performance out of the method to get the labels for a fragment. Some new constants have been defined.
19 Nov. 2008
Added a new org.xbrlapi.aspects package to handle Aspect model population with facts. Aspect models can be loosely thought of as sparse hypercubes. They are very very useful!
14 Nov. 2008
Created the first examples file release.
19 Aug. 2008
Enabled the getFragments method to use a fragment class name rather than just part of the fragment interface name. This makes the method more able to work for fragment classes that are implemented in packages outside those in the core XBRLAPI fragment implementation package.
18 Aug. 2008
Added methods to the base store implementation to enable a store to limit query results to those fragments in the documents with a specified set of URLs. Changed the query methods for the various store implementations to filter query results if the store knows of a list of URLs to use in filtering query results. Implemented new store methods to determine the documents that directly reference and that are directly referenced by a given document based on link analysis.
7 Aug. 2008
Changed the org.xbrlapiSAXHandlers package name to org.xbrlapi.sax. This is not a backward compatible change and code using the XBRLAPI may need to be adjusted.
6 Aug. 2008
Removed the element depth from the set of state information tracked by the SAX content handler for the loader, the loader itself and the XBRL XLink handler. This was done by relying instead on tracking the ElementState during SAX parsing. Added Attributes to the parameters of the XLink processor's endElement method. Added the ElementState class to the org.xbrlapi.xlink package to provide basic infrastructure for tracking attributes and making them available to the endElement method in SAX content handlers that are using the XLink processor.
30 Jul. 2008
Fixed bug in queries to get network roots. Fixed bug in caching on Windows. Removed non-functional set methods Released version 3.1 Eliminated several memory leaks in the Oracle Berkeley XML data store.
April 16 2008
Fixed up eXist unit testing to reflect changes in the XBRLAPI itself. Added a range of new constants for the XBRL role and arcroles.
10 Apr. 2008
Added resource matcher facility.
12 Mar. 2008
Changed the fragment index generation system. This makes it easier to work across several data stores.
25 Feb. 2008
Discovery of documents provided as a string now works correctly. QName lookups for fragments is faster and always works. Network construction works for networks of various types of labels.
25. Oct. 2007
Fixed up a bug in Arc instantiation that was preventing them from being stored in the database. The bug was introduced during the redesign of the fragment constructors.
24 Oct. 2007
Added the getFacts method to the concept implementation. Added the isNumeric method to the fact implementation.
16 Oct. 2007
Modified the fragment factory to call the setFragmentIndex method when generating new fragments. October 16, 2006 Streamlined the DTS discovery process to eliminate all post processing of XLink materials. Enabled eXist data store to also operate in embedded mode, significantly enhancing performance.
17 Sep. 2007
Modified fragment implementations to make all fragments JavaBeans. Serialization of fragments, builders, and stores is yet to be implemented.
5 Sep. 2007
Eliminated non-working attempts to insert DTD declarations into data store fragments. Added a new getDeclaration method for reference part fragments. Fixed a bug in the removeFragment implementation for the DOM data store whereby the removed fragments were not getting taken out of the XML DOM structure, only the maps onto that DOM structure. Added the deleteDocument and deleteRelated document methods to the store interface. Provided implementations of these methods in the BaseStoreImpl class. Created tests of the methods using the DOM data store.
4 Sep. 2007
Added BDB XML indexing of the arcroleType and roleType URI attributes. Added ability to recognise generic labels and references as standard labels and references, respectively. Added the isProhibited method to arcs.
1 Sep. 2007
Added a method to get linkroles that contain arcs using a specified arcrole.
15 Aug. 2007
Added getSimpleLinks method to the fragment interface to get the child simple links of any fragment. Checked unit tests against the latest cut of the XBRL 2.1 conformance suite. Enabled caching for documents provided to a loader as a string rather than a URL. This fixed a bug in the XML Schema grammar construction for schemas provided as a string to the loader. Fixed a database deletion problem in the Xindice tests that arose because of multiple simultaneous stores using the same database. Provided a new getChildFragments method of the data store to enable retrieval of all child fragments with a given data type.
14 Aug. 2007
Enabled the discovery processes to optionally include analysis of XSI schema location attributes. Added schema method to enable discovery of extended links contained within the schema.
11 Aug 2007
Added new discoverNext method to the loader implementation to enable intervention in the load process between each document that gets parsed. Added unit tests of the discoverNext method using in-memory and persistent data stores.
9 August, 2007
Added unit tests to cover discovery of reference part declarations.
8 Aug. 2007
Fixed bug in the SimpleLink#getTargetFragment where href attributes without an XPointer would generate a query that did not restrict matching fragments to the document root. Extended the set of nodes in a data store that are indexed for equality matching for the BDB XML database implementation. Added getImports and getIncludes methods to the Schema fragment API. Added unit tests to cover schema imports.
July 29, 2007
Added new objects to provide functionality at the level of individual relationships and networks of relationships. Fixed up NPE bug in the hasFragment method of the eXist data store.
May 21, 2007
Fixed up omission of class files from the JAR file.
March 23, 2007
Created the api module by splitting out the non-DOM data store implementations and by splitting out the XLink, XMLBase and XPointer packages.
October 02, 2006
Completed implementation and testing of read-access fragment API.
September 25, 2006
Fixed up the Exist indexing. Added a lot of fragment interface implementation. Merged the data and metadata collections. Fixed up the Jar file manifest to make the -jar file option work from execution at the commandline.
September 14, 2006
Added in the patch from Henry S Thompson to support XLink 1.1. Improved usability from the command line. Extended the implementation of the fragment.
August 10, 2006
Implemented the data store using eXist and using an XML-DOM object. These are alternatives to the Xindice data store implementation.
July 29. 2006
Created the Oracle Berkeley Database XML data store module. Created the core utilities module that is required by all other modules.
March 23. 2006
Created the eXist module by splitting it out from the xbrlapi. This limits XBRLAPI dependencies on eXist to those users choosing to use eXist as the data store implementation.
December 11, 2005
Version 1.0 of the XPointer processor released.
December 9. 2005
Fixed errors in the previous release. Updated the API to handle XPointers. Added early support for the eXist database.
July 23. 2005
Initial cut of the XBRL API source code. Operational version of the XML Base resolver.
May 6, 2005
Initial cut of XLink processor. Initial cut of XML Base resolver.