Our team developed a metadata editing and management system employing state of the art XML technologies initially aimed at the environmental sciences but with the potential to be useful across multiple domains. We chose a modular and distributed design for scalability, flexibility, options for customizations, and the possibility to add more functionality at a later stage. The system consists of a desktop design tool that generates code for the actual online editor, a native XML database, and an online user access management application. A Java Swing application that reads an XML schema, the design tool provides the designer with options to combine input fields into online forms with user-friendly tags and determine the flow of input forms. Based on design decisions, the tool generates XForm code for the online metadata editor which is based on the Orbeon XForms engine. The design tool fulfills two requirements: First data entry forms based on a schema are customized at design time and second the tool can generate data entry applications for any valid XML schema without relying on custom information in the schema. A configuration file in the design tool saves custom information generated at design time. Future developments will add functionality to the design tool to integrate help text, tool tips, project specific keyword lists, and thesaurus services. Cascading style sheets customize the look-and-feel of the finished editor. The editor produces XML files in compliance with the original schema, however, a user may save the input into a native XML database at any time independent of validity. The system uses the open source XML database eXist for storage and uses a MySQL relational database and a simple Java Server Faces user interface for file and access management. We chose three levels to distribute administrative responsibilities and handle the common situation of an information manager entering the bulk of the metadata but leave specifics to the actual data provider.
我们的团队开发了一个元数据编辑和管理系统,该系统采用了最先进的XML技术,最初面向环境科学,但有在多个领域发挥作用的潜力。我们选择了模块化和分布式设计,以实现可扩展性、灵活性、定制选项以及在后期添加更多功能的可能性。该系统由一个为实际在线编辑器生成代码的桌面设计工具、一个原生XML数据库和一个在线用户访问管理应用程序组成。设计工具是一个读取XML模式的Java Swing应用程序,它为设计人员提供了将输入字段组合成带有用户友好标签的在线表单以及确定输入表单流程的选项。根据设计决策,该工具为基于Orbeon XForms引擎的在线元数据编辑器生成XForm代码。设计工具满足两个要求:首先,基于模式的数据输入表单在设计时进行定制;其次,该工具可以为任何有效的XML模式生成数据输入应用程序,而不依赖模式中的自定义信息。设计工具中的一个配置文件保存设计时生成的自定义信息。未来的开发将为设计工具添加功能,以集成帮助文本、工具提示、项目特定的关键字列表和词库服务。
层叠样式表定制完成后的编辑器的外观。编辑器生成符合原始模式的XML文件,然而,用户可以在任何时候将输入保存到原生XML数据库中,而不受有效性的约束。该系统使用开源XML数据库eXist进行存储,并使用MySQL关系数据库和一个简单的Java Server Faces用户界面进行文件和访问管理。我们选择了三个级别来分配管理职责,并处理信息管理员输入大部分元数据但将细节留给实际数据提供者的常见情况。