PREMIS What is PREMIS? o Preservation Metadata Implementation Strategies When is PREMIS use? o PREMIS is used for “repository design, evaluation, and archived.

Slides:



Advertisements
Similar presentations
Applying preservation metadata to repositories For JISC KeepIt course on Digital Preservation Tools for Repository Managers Module 3, Primer on preservation.
Advertisements

The PREMIS Data Dictionary Michael Day Digital Curation Centre UKOLN, University of Bath JORUM, JISC and DCC.
CH-4 Ontologies, Querying and Data Integration. Introduction to RDF(S) RDF stands for Resource Description Framework. RDF is a standard for describing.
The OAIS experience at the British Library Deborah Woodyard Digital Preservation Coordinator ERPANET OAIS Training Seminar, Nov 2002.
METS: An Introduction Structuring Digital Content.
PREMIS Conformance. Agenda 1.NLNZ and NLB conformance exercise 2.History of PREMIS Conformance 3.Current status 4.Mapping to functionality.
Digital Preservation - Its all about the metadata right? “Metadata and Digital Preservation: How Much Do We Really Need?” SAA 2014 Panel Saturday, August.
PREMIS in Thought: Data Center for LC Digital Holdings Ardys Kozbial, Arwen Hutt, David Minor February 11, 2008.
ISO & OAI-PMH By Neal Harmeyer, Amy Hatfield, and Brandon Beatty PURDUE UNIVERSITY RESEARCH REPOSITORY.
Mark Evans, Tessella Digital Preservation Boot Camp – PASIG meeting, Washington DC, 22 nd May 2013 PREMIS Practical Strategies For Preservation Metadata.
Common Use Cases for Preservation Metadata Deborah Woodyard-Robinson Digital Preservation Consultant Long-term Repositories:
3. Technical and administrative metadata standards Metadata Standards and Applications.
PREMIS What is PREMIS? – Preservation Metadata Implementation Strategies When is PREMIS use? – PREMIS is used for “repository design, evaluation, and archived.
US GPO AIP Independence Test CS 496A – Senior Design Team members: Antonio Castillo, Johnny Ng, Aram Weintraub, Tin-Shuk Wong Faculty advisor: Dr. Russ.
US GPO AIP Independence Test CS 496A – Senior Design Fall 2010 Team members: Antonio Castillo, Johnny Ng, Aram Weintraub, Tin-Shuk Wong.
MODS What is MODS: When is MODS use:
PAWN: A Novel Ingestion Workflow Technology for Digital Preservation
AIP Archival Information Package – Defines how digital objects and its associated metadata are packaged using XML based files. METS (binding file) MODS.
Descriptive Metadata o When will mods.xml be used by METS (aip.xml) ?  METS will use the mods.xml to encode descriptive metadata. Information that describes,
The RDF meta model: a closer look Basic ideas of the RDF Resource instance descriptions in the RDF format Application-specific RDF schemas Limitations.
PAWN: A Novel Ingestion Workflow Technology for Digital Preservation Mike Smorul, Joseph JaJa, Yang Wang, and Fritz McCall.
US GPO AIP Independence Test CS 496A – Senior Design Team members: Antonio Castillo, Johnny Ng, Aram Weintraub, Tin-Shuk Wong Faculty advisor: Dr. Russ.
Introduction to XML This material is based heavily on the tutorial by the same name at
Metadata: Its Functions in Knowledge Representation for Digital Collections 1 Summary.
PREMIS Rathachai Chawuthai Information Management CSIM / AIT Issued document 1.0.
Metadata Standards and Applications 4. Metadata Syntaxes and Containers.
Metadata Standards and Applications 5. Applying Metadata Standards: Application Profiles.
The Data Attribution Abdul Saboor PhD Research Student Model Base Development and Software Quality Assurance Research Group Freie.
US GPO AIP Independence Test CS 496A – Senior Design Team members: Antonio Castillo, Johnny Ng, Aram Weintraub, Tin-Shuk Wong Faculty advisor: Dr. Russ.
Metadata: first principles Pat Bell Knowledge, Analysis and Intelligence.
How to build your own Dark Archive (in your spare time) Priscilla Caplan FCLA.
Lifecycle Metadata for Digital Objects (INF 389K) September 18, 2006 The Big Metadata Picture, Web Access, and the W3C Context.
XML and Digital Libraries M. Zubair Department of Computer Science Old Dominion University.
DAITSS: Dark Archive in the Sunshine State Priscilla Caplan, Florida Center for Library Automation DCC Workshop on Long-term Curation within Digital Repositories.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
Archival Information Packages for NASA HDF-EOS Data R. Duerr, Kent Yang, Azhar Sikander.
PREMIS Rathachai Chawuthai Information Management CSIM / AIT.
AGENTS, RIGHTS, EVENTS. Agents  The Agent entity aggregates information about agents (persons, organizations, or software) associated with rights management.
Implementor’s Panel: BL’s eJournal Archiving solution using METS, MODS and PREMIS Markus Enders, British Library DC2008, Berlin.
The FCLA Digital Archive Joint Meeting of CSUL Committees, 2005.
Implementation of PREMIS in METS Rebecca Guenther Sr. Networking & Standards Specialist, Library of Congress PREMIS Implementation Fair San.
Digital Preservation: Current Thinking Anne Gilliland-Swetland Department of Information Studies.
Linked Digital Archive Institutional Repository Rathachai Chawuthai CSIM/SET/AIT.
PREMIS Implementation Fair – SF 2009 PREMIS use in Rosetta Yair Brama – Ex Libris.
Conceptual Data Modelling for Digital Preservation Planets and PREMIS Angela Dappert.
Data in the NEES Data Repository Conditions for Current and Future Use and Re-Use Quake Summit 2012, Boston, Massachusetts July 12, 2012 Stanislav Pejša.
PREMIS Implementation Fair, San Francisco, CA October 7, Stanford Digital Repository PREMIS & Geospatial Resources Nancy J. Hoebelheinrich Knowledge.
Interoperability and Collection of Preservation Metadata for Digital Repository Content Matt Cordial, Tom Habing, Bill Ingram, Robert Manaster University.
PREMIS at the British Library Markus Enders, The British Library PREMIS Implementation Fair, San Fransisco, CA 07 October 2009.
Internet & World Wide Web How to Program, 5/e. © by Pearson Education, Inc. All Rights Reserved.2.
The RDF meta model Basic ideas of the RDF Resource instance descriptions in the RDF format Application-specific RDF schemas Limitations of XML compared.
Metadata “Data about data” Describes various aspects of a digital file or group of files Identifies the parts of a digital object and documents their content,
ELIS – Multimedia Lab PREMIS OWL Sam Coppens Multimedia Lab Department of Electronics and Information Systems Faculty of Engineering Ghent University.
Metadata and Meta tag. What is metadata? What does metadata do? Metadata schemes What is meta tag? Meta tag example Table of Content.
AGENTS, RIGHTS, EVENTS. Agents  The Agent entity aggregates information about agents (persons, organizations, or software) associated with rights management.
SEMANTIC UNITS PERTAINING TO OBJECTS. Object entity  Aggregates characteristics relevant to preservation management that are properties of the object.
Lifecycle Metadata for Digital Objects November 15, 2004 Preservation Metadata.
Describing resources II: Dublin Core CERN-UNESCO School on Digital Libraries Rabat, Nov 22-26, 2010 Annette Holtkamp CERN.
An Introduction to PREMIS Jenn Riley Metadata Librarian IU Digital Library Program.
Online Information and Education Conference 2004, Bangkok Dr. Britta Woldering, German National Library Metadata development in The European Library.
US GPO AIP Independence Test CS 496B – Senior Design Creating A Fedora Commons SIP.
US GPO AIP Independence Test CS 496B – Senior Design Creating A Fedora Commons SIP.
Joint Meeting of CSUL Committees,
Metadata Issues in Long-term Management of Data and Metadata
DAITSS: Dark Archive in the Sunshine State
Introduction to Database Systems
Chapter 2 Database Environment Pearson Education © 2009.
Metadata in Digital Preservation: Setting the Scene
Chapter 2 Database Environment Pearson Education © 2014.
Chapter 2 Database Environment Pearson Education © 2009.
Presentation transcript:

PREMIS What is PREMIS? o Preservation Metadata Implementation Strategies When is PREMIS use? o PREMIS is used for “repository design, evaluation, and archived information packaged among preservation repositories” How is PREMIS use? o PREMIS Data Dictionary provides guidelines regarding “the information a repository uses to support the digital preservation process” What is PREMIS? o Preservation Metadata Implementation Strategies When is PREMIS use? o PREMIS is used for “repository design, evaluation, and archived information packaged among preservation repositories” How is PREMIS use? o PREMIS Data Dictionary provides guidelines regarding “the information a repository uses to support the digital preservation process”

PREMIS What is “preservation metadata” referring to? o “It is information that supports and documents the digital preservation process”. Which includes information such as:  Provenance – refers to who has ownership of the digital object  Authenticity – refers to the claim of the digital object  Preservation activity – refers to the activities that have been carried out to preserve the digital object  Technical environment – refers to the tasks required to interpret and use the digital object  Rights management – refers the intellectual property rights that must be declared What is “preservation metadata” referring to? o “It is information that supports and documents the digital preservation process”. Which includes information such as:  Provenance – refers to who has ownership of the digital object  Authenticity – refers to the claim of the digital object  Preservation activity – refers to the activities that have been carried out to preserve the digital object  Technical environment – refers to the tasks required to interpret and use the digital object  Rights management – refers the intellectual property rights that must be declared

PREMIS Data Dictionary Conventions for each entry in the PREMIS Data Dictionary o Name of the semantic units : a descriptive name that refers to a piece of information or knowledge  Example: objectIdentifer under the o Semantic components: refers to sub-units held within a container. o Definition: refers to the meaning of the semantic unit. o Rationale: explains why the semantic unit is needed o Data constraint: indicates how the semantic unit should be encoded.  Containers: refers to a xml tag that have no value rather serve to group related semantic units  None: indicates that the semantic unit can be a value of any form  Value should be taken from a controlled vocabulary: “PREMIS Data Dictionary does not specify what this authority list of values should be, and it is assumed that different repositories will use different vocabularies”.  Extension containers: are containers that are designed to give a place for non-PREMIS metadata Conventions for each entry in the PREMIS Data Dictionary o Name of the semantic units : a descriptive name that refers to a piece of information or knowledge  Example: objectIdentifer under the o Semantic components: refers to sub-units held within a container. o Definition: refers to the meaning of the semantic unit. o Rationale: explains why the semantic unit is needed o Data constraint: indicates how the semantic unit should be encoded.  Containers: refers to a xml tag that have no value rather serve to group related semantic units  None: indicates that the semantic unit can be a value of any form  Value should be taken from a controlled vocabulary: “PREMIS Data Dictionary does not specify what this authority list of values should be, and it is assumed that different repositories will use different vocabularies”.  Extension containers: are containers that are designed to give a place for non-PREMIS metadata

PREMIS Data Dictionary o Object category: specifies the object to which the semantic unit applies to (a representation, file, or bitstream). o Applicability: indicates whether the semantic unit applies to the category of the object. o Example: sample values that the semantic unit may use o Repeatability: indicates that a semantic unit can take multiple values o Obligation: indicates whether the value of the semantic unit is mandatory, meaning a repository must know this information o Creation/Maintenance note: further detail regarding how the values are created and or updated o Usages notes: provides information regarding the use of the semantic unit. o Object category: specifies the object to which the semantic unit applies to (a representation, file, or bitstream). o Applicability: indicates whether the semantic unit applies to the category of the object. o Example: sample values that the semantic unit may use o Repeatability: indicates that a semantic unit can take multiple values o Obligation: indicates whether the value of the semantic unit is mandatory, meaning a repository must know this information o Creation/Maintenance note: further detail regarding how the values are created and or updated o Usages notes: provides information regarding the use of the semantic unit.

PREMIS Data Dictionary Mandatory Semantic Units objectIdentifier * objectCategory objectCharacteristics * format * storage * eventIdentifier eventType eventDateTime agentIdentifier * Note: * indicates semantic units that are repeatable objectIdentifier * objectCategory objectCharacteristics * format * storage * eventIdentifier eventType eventDateTime agentIdentifier * Note: * indicates semantic units that are repeatable

PREMIS Data Model

PREMIS Intellectual Entity Intellectual Entity – refer to content that can be describe as a unit (e.g. books, maps, articles)

PREMIS Object Entity Objects – refer to units of information in digital form. PREMIS defines different kinds of objects it can an a file, bitstream or representation o File – it is a computer file, such as a pdf, txt or JPEG o Bitstream – refer to data bits within a file that contain common properties for preservation purposes Objects – refer to units of information in digital form. PREMIS defines different kinds of objects it can an a file, bitstream or representation o File – it is a computer file, such as a pdf, txt or JPEG o Bitstream – refer to data bits within a file that contain common properties for preservation purposes

PREMIS Object Entity o Representation – refer to a set of files, that includes structural metadata, required to be identified, stored and maintained in order to assemble a complete rendition of an Intellectual unit.  For example, text files and images files of a magazine are required to form a representation. o Representation – refer to a set of files, that includes structural metadata, required to be identified, stored and maintained in order to assemble a complete rendition of an Intellectual unit.  For example, text files and images files of a magazine are required to form a representation.

PREMIS Object Entity Sample syntax The units of information that can be recorded includes: o Type of object (file, bitstream, or representation) o A unique identifier for the object under  Stores information such as the type and value. The type refers to the classification of the domain that creates the object identifier. The value of the object identifier. For example, FDsys ACP R0b002ee180b003b0 This particular segment states that this object is a representation (that is a set of files, this representation has a unique identifier) Sample syntax The units of information that can be recorded includes: o Type of object (file, bitstream, or representation) o A unique identifier for the object under  Stores information such as the type and value. The type refers to the classification of the domain that creates the object identifier. The value of the object identifier. For example, FDsys ACP R0b002ee180b003b0 This particular segment states that this object is a representation (that is a set of files, this representation has a unique identifier)

PREMIS Object Example Other units of information that can be recorded includes: o “Information indicating the policy on the set of preservation functions to be applied to an object” under the FDsys ACP D09002ee180b003a9 full Other units of information that can be recorded includes: o “Information indicating the policy on the set of preservation functions to be applied to an object” under the FDsys ACP D09002ee180b003a9 full

PREMIS Object Entity Other units of information that can be recorded includes: o Information indicating if the object is subject to one or more processes of decoding or unbundling under o information used to verify if an object has been changed in an undocumented or unauthorized way under  Information contained within the refers to the algorithm used to produce the message digest for the digital object.  Information contained within the refers to the “output of the message digest algorithm”  Information contained within the refers to the agent that generated the original message digest that will be compared to the fixity check. Other units of information that can be recorded includes: o Information indicating if the object is subject to one or more processes of decoding or unbundling under o information used to verify if an object has been changed in an undocumented or unauthorized way under  Information contained within the refers to the algorithm used to produce the message digest for the digital object.  Information contained within the refers to the “output of the message digest algorithm”  Information contained within the refers to the agent that generated the original message digest that will be compared to the fixity check.

PREMIS Object Entity o The size of the object under o The format of the object under  refers to the “identification of the format of the object” Information contained within classifies the format of the file or bitstream.  identifies additional information about the format by using a entry in a format registry. Information contained within identifies the format registry that was used. Information contained within refers to the “unique key used to reference an entry for this format in a format registry”  contains additional information about the format For example o The size of the object under o The format of the object under  refers to the “identification of the format of the object” Information contained within classifies the format of the file or bitstream.  identifies additional information about the format by using a entry in a format registry. Information contained within identifies the format registry that was used. Information contained within refers to the “unique key used to reference an entry for this format in a format registry”  contains additional information about the format For example

PREMIS Object Example 0 SHA b92f0bb2642c6be368ad68a8d1d1c5dbbb db781f56a860b0a1 FDsys 9326 text/plain PRONOM x-fmt/111 Plain Text File 0 SHA b92f0bb2642c6be368ad68a8d1d1c5dbbb db781f56a860b0a1 FDsys 9326 text/plain PRONOM x-fmt/111 Plain Text File

PREMIS Object Entity Other units of information that can be recorded includes: o The original name of the object (prior to being named by the repository) under o Information about where and how a files are stored in the repository under  stores information needed to retrieve a file from a storage system. Information contained within refers to the way of accessing the location of the content. Information contained within refers to the “location of the content used by the storage system”.  The medium on which an object is stored is contained within Other units of information that can be recorded includes: o The original name of the object (prior to being named by the repository) under o Information about where and how a files are stored in the repository under  stores information needed to retrieve a file from a storage system. Information contained within refers to the way of accessing the location of the content. Information contained within refers to the “location of the content used by the storage system”.  The medium on which an object is stored is contained within

PREMIS Object Entity o Information describing a relationship between an object and one or more objects.  classifies the nature of the relationship.  characterizes the nature of the relationship.  refers to “the identifier of the related resource”.  Information contained within refers to the classification of the domain that creates the identifier.  Information contained within refers to “the value of the identifier”. o Information describing a relationship between an object and one or more objects.  classifies the nature of the relationship.  characterizes the nature of the relationship.  refers to “the identifier of the related resource”.  Information contained within refers to the classification of the domain that creates the identifier.  Information contained within refers to “the value of the identifier”.

PREMIS Object Example S3880IS.txt URI file:/u02/app/emc/documentum/data/fdsysprod1/fdsysprod1/content_storage_0 1/00002ee1/80/55/b0/48.txt hard disk structural is part of FDsys ACP R0b002ee180b003b0 S3880IS.txt URI file:/u02/app/emc/documentum/data/fdsysprod1/fdsysprod1/content_storage_0 1/00002ee1/80/55/b0/48.txt hard disk structural is part of FDsys ACP R0b002ee180b003b0

PREMIS Event Entity Events – refers to actions that involve an object and an agent known to the system o Events are critical for maintaining the digital provenance of an object (helps demonstrates the authenticity of the object) Examples of Events: o modifying an document o actions that create new relationships  Object could be related to another object as a result of a particular event, for instance if a program takes file 1 and generates a different version known as file 2 o Actions that check the validity and integrity of the objects (i.e. virus scan) Events – refers to actions that involve an object and an agent known to the system o Events are critical for maintaining the digital provenance of an object (helps demonstrates the authenticity of the object) Examples of Events: o modifying an document o actions that create new relationships  Object could be related to another object as a result of a particular event, for instance if a program takes file 1 and generates a different version known as file 2 o Actions that check the validity and integrity of the objects (i.e. virus scan)

PREMIS Event Entity Sample syntax The information that can be recorded under event includes: o A unique identifier for the event under  The refers to the classification of the domain that creates the event identifier. The <eventIdentiferValue refers to the value of the event identifier. o The type of event under  Classifies the nature of the event. o Date, time and type of event under Sample syntax The information that can be recorded under event includes: o A unique identifier for the event under  The refers to the classification of the domain that creates the event identifier. The <eventIdentiferValue refers to the value of the event identifier. o The type of event under  Classifies the nature of the event. o Date, time and type of event under

PREMIS Event Entity Additional information that can be recorded under event includes: o Detail description of the event under o The outcome of the event under  Indicates if the event was a success, partial success, or failure. o Agents involved in the event and their specific roles under  The refers to the classification of the domain that creates the linking agent identifier. The refers to the “value of the linking agent identifier”. The indicates the role of the agent associated to the event.  Agents role are defined here because agents can perform different roles in different events o Objects involved in the event and their specific roles under  The refers to the classification of the domain that creates the linking object identifier. The refers to the “value of the linking object identifier”. The indicates the role of the object associated to the event. Additional information that can be recorded under event includes: o Detail description of the event under o The outcome of the event under  Indicates if the event was a success, partial success, or failure. o Agents involved in the event and their specific roles under  The refers to the classification of the domain that creates the linking agent identifier. The refers to the “value of the linking agent identifier”. The indicates the role of the agent associated to the event.  Agents role are defined here because agents can perform different roles in different events o Objects involved in the event and their specific roles under  The refers to the classification of the domain that creates the linking object identifier. The refers to the “value of the linking object identifier”. The indicates the role of the object associated to the event.

PREMIS Event Example FDsys:event 1cdd2b6c-5a2d-449b-b386-ebb15eb4af11 Rendition Submitted T19:38:47-04:00 Rendition R0b002ee180b003b0, uploaded by hotfolderadmin, was submitted in the Submission Information package P0b002ee180b003af Success FDsys:agent hotfolderadmin implementer FDsys R0b002ee180b003b0 outcome FDsys:event 1cdd2b6c-5a2d-449b-b386-ebb15eb4af11 Rendition Submitted T19:38:47-04:00 Rendition R0b002ee180b003b0, uploaded by hotfolderadmin, was submitted in the Submission Information package P0b002ee180b003af Success FDsys:agent hotfolderadmin implementer FDsys R0b002ee180b003b0 outcome

PREMIS Agent Entity Agents – refer to people, organizations, or software associated with events, more specifically preservation events, of an object o In the data model diagram, there is no arrow from Agent entity to the Object entity, that is because Agents influence Objects indirectly through Events. Agents – refer to people, organizations, or software associated with events, more specifically preservation events, of an object o In the data model diagram, there is no arrow from Agent entity to the Object entity, that is because Agents influence Objects indirectly through Events.

PREMIS Agent Entity Sample syntax The information that can be recorded under agent includes: o A unique identifier for the agent under  Information contained within refers to the classification of the domain that creates the agent identifier.  Information contained within refers “value of the agent identifier”. o The agent’s name under o The type of agent (people, organization or software) under Sample syntax The information that can be recorded under agent includes: o A unique identifier for the agent under  Information contained within refers to the classification of the domain that creates the agent identifier.  Information contained within refers “value of the agent identifier”. o The agent’s name under o The type of agent (people, organization or software) under

PREMIS Agent Example FDsys:agent hotfolderadmin hotfolderadmin Person FDsys:agent hotfolderadmin hotfolderadmin Person

PREMIS Rights Entity Rights – refers to the rights and permission that are directly relevant to preserving objects Sample syntax The information that can be recorded under right includes: o A unique identifier for the rights statement o The action(s) that the rights statement allows o The object(s) to which the statement applies o The agents involved in the rights statements and their roles Note: Keep in mind that FDsys doesn’t use Rights – refers to the rights and permission that are directly relevant to preserving objects Sample syntax The information that can be recorded under right includes: o A unique identifier for the rights statement o The action(s) that the rights statement allows o The object(s) to which the statement applies o The agents involved in the rights statements and their roles Note: Keep in mind that FDsys doesn’t use

premis.xml Header xmlns - refers to a namespace, which is a unique value (Note: the xml parser does not use the namespace URI to look up information) xmlns:xsi – indicates to the XML parser that this document should be validated against a schema xsi:schemaLocation: the first value refers to the namespace that will be used and the second value refers to the location of the schema that will be used, in this case it is the MODS XML schema. version: refers to the PREMIS version Example: <premis xmlns="info:lc/xmlns/premis-v2" xmlns:xsi=" xsi:schemaLocation="info:lc/xmlns/premis-v2 version="2.0"> xmlns - refers to a namespace, which is a unique value (Note: the xml parser does not use the namespace URI to look up information) xmlns:xsi – indicates to the XML parser that this document should be validated against a schema xsi:schemaLocation: the first value refers to the namespace that will be used and the second value refers to the location of the schema that will be used, in this case it is the MODS XML schema. version: refers to the PREMIS version Example: <premis xmlns="info:lc/xmlns/premis-v2" xmlns:xsi=" xsi:schemaLocation="info:lc/xmlns/premis-v2 version="2.0">

Additional Information On Using premis.xml When will premis.xml be used by METS (aip.xml) ? o PREMIS digital object that requires its components to be organized so that the integrity is preserved, this is known as structural metadata, will use METS to accomplished this. o METS uses a pointer to the metadata that is located outside of the METS document. More specifically, it uses a xlink:href to indicate the location of such file. o Example code from aip.xml: When will premis.xml be used by METS (aip.xml) ? o PREMIS digital object that requires its components to be organized so that the integrity is preserved, this is known as structural metadata, will use METS to accomplished this. o METS uses a pointer to the metadata that is located outside of the METS document. More specifically, it uses a xlink:href to indicate the location of such file. o Example code from aip.xml:

Additional Information On Using premis.xml o Mets will use a struct map to organize the components of the premis object. o Example code from aip.xml: o Mets will use a struct map to organize the components of the premis object. o Example code from aip.xml:

References Understanding PREMIS o ing-premis.pdf ing-premis.pdf Data Dictionary for Preservation Metadata o ojects/pmwg/premis-final.pdf ojects/pmwg/premis-final.pdf W3C Schools o Understanding PREMIS o ing-premis.pdf ing-premis.pdf Data Dictionary for Preservation Metadata o ojects/pmwg/premis-final.pdf ojects/pmwg/premis-final.pdf W3C Schools o