<?xml version="1.0" encoding="UTF-8"?> <qr:qualityReport xmlns="eml://ecoinformatics.org/qualityReport" xmlns:qr="eml://ecoinformatics.org/qualityReport" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="eml://ecoinformatics.org/qualityReport http://svn.lternet.edu/svn/NIS/documents/schemas/quality/qualityReportSchema.xsd" > <creationDate>2011-12-01T12:00:00</creationDate> <packageId></packageId> <includeSystem>knb</includeSystem> <includeSystem>lter</includeSystem> <datasetReport> <qualityCheck qualityType="metadata" system="lter" statusType="error" > <identifier>emlVersion</identifier> <name>EML version 2.1.0 or beyond</name> <description>Check the EML document declaration for version 2.1.0 or higher</description> <expected>eml://ecoinformatics.org/eml-2.1.0 or eml://ecoinformatics.org/eml-2.1.1</expected> <found></found> <status>notChecked</status> <explanation>Validity of this quality report is dependent on this check being valid.</explanation> <suggestion>Use an approved namespace.</suggestion> <reference></reference> </qualityCheck> <qualityCheck qualityType="metadata" system="knb" statusType="error" > <identifier>schemaValid</identifier> <name>Document is schema-valid EML</name> <description>Check document schema validity</description> <expected>schema-valid</expected> <found></found> <status>notChecked</status> <explanation>Validity of this quality report is dependent on this check being valid.</explanation> <suggestion>Make this doc valid.</suggestion> <reference></reference> </qualityCheck> <qualityCheck qualityType="metadata" system="knb" statusType="error" > <identifier>parserValid</identifier> <name>Document is EML parser-valid</name> <description>Check document using the EML IDs and references parser</description> <expected>Validates with the EML IDs and references parser</expected> <found></found> <status>notChecked</status> <explanation>Validity of this quality report is dependent on this check being valid.</explanation> <suggestion>Resolve issues with IDs and references.</suggestion> <reference></reference> </qualityCheck> <qualityCheck qualityType="metadata" system="lter" statusType="error" > <identifier>schemaValidDereferenced</identifier> <name>Dereferenced document is schema-valid EML</name> <description>References are dereferenced, and the resulting file validated</description> <expected>schema-valid</expected> <found></found> <status>notChecked</status> <explanation>Validity of this quality report is dependent on this check being valid.</explanation> <suggestion>Make sure that references refer to the correct elements.</suggestion> <reference></reference> </qualityCheck> <qualityCheck qualityType="metadata" system="lter" statusType="error" > <identifier>packageIdPattern</identifier> <name>packageId pattern matches "scope.identifier.revision"</name> <description>Check against LTER requirements for scope.identifier.revision</description> <expected>'knb-lter-abc.n.m', where 'abc' is an LTER site acronym and 'n' and 'm' are whole numbers</expected> <found></found> <status>notChecked</status> <explanation></explanation> <suggestion>Value of the packageId attribute must conform with LTER best practices</suggestion> <reference></reference> </qualityCheck> <qualityCheck qualityType="metadata" system="lter" statusType="warn" > <identifier>pubDatePresent</identifier> <name>'pubDate' element is present</name> <description>Check for presence of the pubDate element</description> <expected>The date that the dataset was submitted for publication in PASTA must be included. (The EML schema does not require this element, but when present, it does constrain its format to YYYY-MM-DD or just YYYY. Citation format uses only the YYYY portion even if a full date is entered.) </expected> <found></found> <status>notChecked</status> <explanation>'pubDate is part of citation'. 'pubDate' qualifies use of "ongoing" in other metadata elements.</explanation> <suggestion>The year of public release of data online should be listed as the 'pubDate' element. The 'pubDate' should be updated when data and/or metadata are updated or re-released. The format can be either a 4-digit year (YYYY), or an ISO date (YYYY-MM-DD).</suggestion> <reference>EML Best Practices v.2, p. 17</reference> </qualityCheck> <qualityCheck qualityType="metadata" system="lter" statusType="warn" > <identifier>keywordPresent</identifier> <name>keyword element is present</name> <description>Checks to see if at least one keyword is present</description> <expected>Presence of one or more keyword elements</expected> <found></found> <status>notChecked</status> <explanation>The LTER portal allows searches on keywords. This check is a precursor for checking on keywords from the controlled vocabulary.</explanation> <suggestion>Add at least one keyword.</suggestion> <reference></reference> </qualityCheck> <qualityCheck qualityType="metadata" system="lter" statusType="warn" > <identifier>methodsElementPresent</identifier> <name>A 'methods' element is present</name> <description>All datasets should contain a 'methods' element, at a minimum a link to a separate methods doc.</description> <expected>presence of 'methods' at one or more xpaths.</expected> <found></found> <status>notChecked</status> <explanation>As a minimum, a reference to an external protocol should be given at the dataset level. However, detailed methods at this level are preferable. If further refinement is needed, methods can be defined for individual data entities or even individual attributes if necessary.</explanation> <suggestion>Since they are mostly for human consumption, one detailed description of all steps taken at the dataset level is frequently sufficient and more user friendly.</suggestion> <reference>EML Best Practices, p. 28</reference> </qualityCheck> <qualityCheck qualityType="metadata" system="lter" statusType="warn" > <identifier>coveragePresent</identifier> <name>coverage element is present</name> <description>At least one coverage element should be present in a dataset.</description> <expected>At least one of geographicCoverage, taxonomicCoverage, or temporalCoverage is present in the EML.</expected> <found></found> <status>notChecked</status> <explanation></explanation> <suggestion></suggestion> <reference></reference> </qualityCheck> <qualityCheck qualityType="metadata" system="lter" statusType="info" > <identifier>geographicCoveragePresent</identifier> <name>geographicCoverage is present</name> <description>Check that geographicCoverage exists in EML at the dataset level, or at least one entity's level, or at least one attribute's level.</description> <expected>geographicCoverage at least at the dataset level.</expected> <found></found> <status>info</status> <explanation>Many but not all datasets are appropriate to have spatial coverage.</explanation> <suggestion>If sampling EML is used within methods, does that obviate geographicCoverage? Or should those sites be repeated or referenced?</suggestion> <reference>EML Best Practices v.2, p. 22-23. "One geographicCoverage element should be included, whose boundingCoordinates describe the extent of the data....Additional geographicCoverage elements may be entered at the dataset level if there are significant distances between study sites and it would be confusing if they were grouped into one bounding box." 6 decimal places.</reference> </qualityCheck> <qualityCheck qualityType="metadata" system="lter" statusType="info" > <identifier>taxonomicCoveragePresent</identifier> <name>taxonomicCoverage is present</name> <description>Check that taxonomicCoverage exists in EML at the dataset level, or at least one entity's level, or at least one attribute's level.</description> <expected>taxonomicCoverage at least at the dataset level.</expected> <found></found> <status>info</status> <explanation>Only when taxa are pertinent to the dataset will they have taxonomicCoverage.</explanation> <suggestion>Could search title, abstract, keywords for any taxonomic name (huge). Could search keywordType="taxonomic".</suggestion> <reference>EML Best Practices v.2, p. 25</reference> </qualityCheck> <qualityCheck qualityType="metadata" system="lter" statusType="info" > <identifier>temporalCoveragePresent</identifier> <name>temporalCoverage is present</name> <description>Check that temporalCoverage exists in EML at the dataset level, or at least one entity's level, or at least one attribute's level.</description> <expected>temporalCoverage at least at the dataset level.</expected> <found></found> <status>info</status> <explanation>LTER wants to search datasets by time; the best place to search is the dataset level temporal coverage.</explanation> <suggestion>Most datasets have a temporal range.</suggestion> <reference>EML Best Practices v.2, p. 24</reference> </qualityCheck> <qualityCheck qualityType="metadata" system="lter" statusType="warn" > <identifier>titleLength</identifier> <name>Dataset title length is at 5 least words.</name> <description>If the title is shorter than 5 words, it might be insufficient. Title word count between 7 and 20 including prepositions and numbers.</description> <expected>Between 7 and 20 words</expected> <found></found> <status>notChecked</status> <explanation>Best Practices document, page 13, says write a good title. This is the first view of a dataset. This is the first view of a dataset. To include what, where and when requires at least 7 words.</explanation> <suggestion>If title is too short, ensure title covers what, where and when. If title is too long, title more concisely.</suggestion> <reference>EML Best Practices, v.2, p. 13</reference> </qualityCheck> <qualityCheck qualityType="metadata" system="lter" statusType="warn" > <identifier>datasetAbstractLength</identifier> <name>Dataset abstract element is a minimum of 20 words</name> <description>Check the length of a dataset abstract and warn if less than 20 words.</description> <expected>An abstract is 20 words or more.</expected> <found></found> <status>notChecked</status> <explanation>An abstract helps a user determine if the dataset is useful for a specific purpose. An abstract is usually a paragraph.</explanation> <suggestion>Add an abstract.</suggestion> <reference>EML Best Practices</reference> </qualityCheck> <qualityCheck qualityType="metadata" system="lter" statusType="error" > <identifier>duplicateEntityName</identifier> <name>There are no duplicate entity names</name> <description>Checks that content is not duplicated by other entityName elements in the document</description> <expected>entityName is not a duplicate within the document</expected> <found></found> <status>notChecked</status> <explanation>Data Manager requires a non-empty, non-duplicate entityName value for every entity</explanation> <suggestion>Declare a non-empty entityName and ensure that there are no duplicate entityName values in the document</suggestion> <reference>http://knb.ecoinformatics.org/software/eml/eml-2.1.0/eml-dataTable.html#numberOfRecords</reference> </qualityCheck> </datasetReport> <entityReport> <entityName></entityName> <qualityCheck qualityType="metadata" system="knb" statusType="warn" > <identifier>entityNameLength</identifier> <name>Length of entityName is not excessive (less than 100 char)</name> <description>length of entity name is less than 100 characters</description> <expected>entityName value is 100 characters or less</expected> <found></found> <status>notChecked</status> <explanation></explanation> <suggestion></suggestion> <reference></reference> </qualityCheck> <qualityCheck qualityType="metadata" system="lter" statusType="warn" > <identifier>entityDescriptionPresent</identifier> <name>An entity description is present</name> <description>Check for presence of an entity description.</description> <expected>EML Best practices pp. 32-33, "...should have enough information for a user..."</expected> <found></found> <status>notChecked</status> <explanation>With entityName sometimes serving as a file name rather than a title, it is important to be very descriptive here.</explanation> <suggestion></suggestion> <reference></reference> </qualityCheck> <qualityCheck qualityType="metadata" system="knb" statusType="info" > <identifier>numHeaderLinesPresent</identifier> <name>'numHeaderLines' element is present</name> <description>Check for presence of the 'numHeaderLines' element.</description> <expected>Document contains 'numHeaderLines' element.</expected> <found></found> <status>info</status> <explanation>If data file contains header lines, 'numHeaderLines' must be specified.</explanation> <suggestion>Add 'numHeaderLines' element if needed.</suggestion> <reference></reference> </qualityCheck> <qualityCheck qualityType="metadata" system="knb" statusType="info" > <identifier>numFooterLinesPresent</identifier> <name>'numFooterLines' element is present</name> <description>Check for presence of the 'numFooterLines' element.</description> <expected>Document contains 'numFooterLines' element.</expected> <found></found> <status>info</status> <explanation>If data file contains footer lines, 'numFooterLines' must be specified.</explanation> <suggestion>Add 'numFooterLines' element if needed.</suggestion> <reference></reference> </qualityCheck> <qualityCheck qualityType="congruency" system="knb" statusType="error" > <identifier>onlineURLs</identifier> <name>Online URLs are live</name> <description>Check that online URLs return something</description> <expected>true</expected> <found></found> <status>notChecked</status> <explanation></explanation> <suggestion></suggestion> <reference></reference> </qualityCheck> <qualityCheck qualityType="congruency" system="knb" statusType="error" > <identifier>urlReturnsData</identifier> <name>URL returns data</name> <description>Checks whether a URL returns data. Unless the URL is specified to be function="information", the URL should return the resource for download.</description> <expected>A data entity that matches the metadata</expected> <found></found> <status>notChecked</status> <explanation></explanation> <suggestion>URL should return a data entity</suggestion> <reference>http://knb.ecoinformatics.org/software/eml/eml-2.1.0/eml-resource.html#UrlType</reference> </qualityCheck> <qualityCheck qualityType="data" system="knb" statusType="info" > <identifier>displayDownloadData</identifier> <name>Display downloaded data</name> <description>Display the first kilobyte of data that is downloaded</description> <expected>Up to one kilobyte of data should be displayed</expected> <found></found> <status>notChecked</status> <explanation></explanation> <suggestion></suggestion> <reference></reference> </qualityCheck> <qualityCheck qualityType="metadata" system="knb" statusType="warn" > <identifier>recordDelimiterPresent</identifier> <name>Record delimiter is present</name> <description>Check presence of record delimiter. Check that the record delimiter is one of the suggested values.</description> <expected>A record delimiter from a list of suggested values: \n, \r, \r\n, #x0A, #x0D, #x0D#x0A</expected> <found></found> <status>notChecked</status> <explanation>The record delimiter is not present or is not one of the suggested values.</explanation> <suggestion>Add a record delimiter or change the record delimiter to one of the suggested values: \n, \r, \r\n, #x0A, #x0D, #x0D#x0A</suggestion> <reference>http://knb.ecoinformatics.org/software/eml/eml-2.1.0/eml-physical.html#recordDelimiter</reference> </qualityCheck> <qualityCheck qualityType="congruency" system="knb" statusType="warn" > <identifier>examineRecordDelimiter</identifier> <name>Data are examined and possible record delimiters are displayed</name> <description>If no record delimiter was specified, we assume that \r\n is the delimiter. Search the first row for other record delimiters and see if other delimiters are found.</description> <expected>No other potential record delimiters expected in the first row.</expected> <found></found> <status>notChecked</status> <explanation>Detection of line endings may be automatic on most systems, so this may not be important.</explanation> <suggestion>Ensure that record delimiters are correctly specified.</suggestion> <reference>http://knb.ecoinformatics.org/software/eml/eml-2.1.0/eml-physical.html#recordDelimiter</reference> </qualityCheck> <qualityCheck qualityType="metadata" system="knb" statusType="error" > <identifier>fieldDelimiterValid</identifier> <name>Field delimiter is a single character</name> <description>Field delimiters should be one character only</description> <expected>A single character is expected</expected> <found></found> <status>notChecked</status> <explanation>fieldDelimiter should be a single character such as (,;:|) or an escape of a single character such as \t for tab. Decimal or hex values of ASCII characters may be used such as #32, #x20, or 0x20 for the space character.</explanation> <suggestion>Change the fieldDelimiter to a single character or its representation, either decimal, hex or escaped.</suggestion> <reference>http://knb.ecoinformatics.org/software/eml/eml-2.1.0/eml-physical.html#fieldDelimiter</reference> </qualityCheck> <qualityCheck qualityType="metadata" system="knb" statusType="warn" > <identifier>attributeNamesUnique</identifier> <name>Attribute names are unique</name> <description>Checks if attributeName values are unique in the table. Not required by EML.</description> <expected>Unique attribute names.</expected> <found></found> <status>notChecked</status> <explanation>A good table does not have duplicate column names.</explanation> <suggestion>Check attribute names; best practice says these should be unique.</suggestion> <reference>EML Best Practices</reference> </qualityCheck> <qualityCheck qualityType="data" system="knb" statusType="info" > <identifier>displayFirstInsertRow</identifier> <name>Display first insert row</name> <description>Display the first row of data values to be inserted into the database table</description> <expected>The first row of data values should be displayed</expected> <found></found> <status>notChecked</status> <explanation></explanation> <suggestion></suggestion> <reference></reference> </qualityCheck> <qualityCheck qualityType="congruency" system="knb" statusType="error" > <identifier>tooFewFields</identifier> <name>Data does not have fewer fields than metadata attributes</name> <description>Compare number of fields specified in metadata to number of fields found in a data record</description> <expected></expected> <found></found> <status>notChecked</status> <explanation>A record has a number of fields less than the specified number of attributes.</explanation> <suggestion>Check the row for problems (un-escaped delimiters, unquoted strings, too few fields). Also check these elements in metadata: collapseDelimiters, recordDelimiter, fieldDelimiter, quoteCharacter.</suggestion> <reference>http://knb.ecoinformatics.org/software/eml/eml-2.1.0/eml-physical.html#dataFormat</reference> </qualityCheck> <qualityCheck qualityType="congruency" system="knb" statusType="error" > <identifier>tooManyFields</identifier> <name>Data does not have more fields than metadata attributes</name> <description>Compare number of fields specified in metadata to number of fields found in a data record</description> <expected></expected> <found></found> <status>notChecked</status> <explanation>A record has a number of fields more than the specified number of attributes.</explanation> <suggestion>Check the row for problems (un-escaped delimiters, unquoted strings, extra fields). Also check these elements in metadata: collapseDelimiters, recordDelimiter, fieldDelimiter, quoteCharacter.</suggestion> <reference>http://knb.ecoinformatics.org/software/eml/eml-2.1.0/eml-physical.html#dataFormat</reference> </qualityCheck> <qualityCheck qualityType="metadata" system="knb" statusType="error" > <identifier>databaseTableCreated</identifier> <name>Database table created</name> <description>Status of creating a database table</description> <expected>A database table is expected to be generated from the EML attributes.</expected> <found></found> <status>notChecked</status> <explanation></explanation> <suggestion></suggestion> <reference></reference> </qualityCheck> <qualityCheck qualityType="congruency" system="knb" statusType="warn" > <identifier>dataLoadStatus</identifier> <name>Data can be loaded into the database</name> <description>Status of loading the data table into a database</description> <expected>No errors expected during data loading or data loading was not attempted for this data entity</expected> <found></found> <status>notChecked</status> <explanation></explanation> <suggestion></suggestion> <reference></reference> </qualityCheck> <qualityCheck qualityType="congruency" system="knb" statusType="warn" > <identifier>numberOfRecords</identifier> <name>Number of records in metadata matches number of rows loaded</name> <description>Compare number of records specified in metadata to number of records found in data</description> <expected></expected> <found></found> <status>notChecked</status> <explanation></explanation> <suggestion></suggestion> <reference></reference> </qualityCheck> </entityReport> </qr:qualityReport>