Skip to content

Commit

Permalink
Merge pull request #43 from dfxml-working-group/release-2.0.0-beta.0
Browse files Browse the repository at this point in the history
Release 2.0.0-beta.0
  • Loading branch information
ajnelson-nist authored Jun 21, 2024
2 parents f2a702e + 99ff668 commit a80a861
Show file tree
Hide file tree
Showing 7 changed files with 126 additions and 11 deletions.
44 changes: 44 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Portions of this file contributed by NIST are governed by the
# following statement:
#
# This software was developed at the National Institute of Standards
# and Technology by employees of the Federal Government in the course
# of their official duties. Pursuant to Title 17 Section 105 of the
# United States Code, this software is not subject to copyright
# protection within the United States. NIST assumes no responsibility
# whatsoever for its use by other parties, and makes no guarantees,
# expressed or implied, about its quality, reliability, or any other
# characteristic.
#
# We would appreciate acknowledgement if the software is used.

name: Continuous Integration

on:
push:
branches:
- main
- develop*
pull_request:
branches:
- main
- develop*
release:
types:
- published
schedule:
- cron: '15 5 * * TUE'

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Install xmllint
run: sudo apt-get install --yes libxml2-utils
- name: Start from clean state
run: make clean
- name: Run tests
run: make check
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.*.done.log
27 changes: 27 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/usr/bin/make -f

# Portions of this file contributed by NIST are governed by the
# following statement:
#
# This software was developed at the National Institute of Standards
# and Technology by employees of the Federal Government in the course
# of their official duties. Pursuant to Title 17 Section 105 of the
# United States Code, this software is not subject to copyright
# protection within the United States. NIST assumes no responsibility
# whatsoever for its use by other parties, and makes no guarantees,
# expressed or implied, about its quality, reliability, or any other
# characteristic.
#
# We would appreciate acknowledgement if the software is used.

all:

check:
$(MAKE) \
--directory tests \
check

clean:
@$(MAKE) \
--directory tests \
clean
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
This is the schema repository for Digital Forensics XML, version 1.2.0.
This is the schema repository for Digital Forensics XML, version 2.0.0-beta.0.

If you intend to use the dfxml.xsd file as a DFXML document validator, note that you will also need to download two accompanying .xsd files under the "ref" directory. The easiest way to do this is by downloading the repository as a Git clone, or by downloading the [zip archive](https://github.com/dfxml-working-group/dfxml_schema/archive/master.zip) from the Github page.

Expand Down
23 changes: 13 additions & 10 deletions dfxml.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ We would appreciate acknowledgement if the software is used.

<xs:annotation>
<xs:documentation>
This is the schema file for Digital Forensics XML, version 1.2.0.
This is the schema file for Digital Forensics XML, version 2.0.0-beta.0.

If you intend to use this file as a DFXML document validator, note that you will also need to download two accompanying .xsd files under the "ref" directory. The easiest way to do this is by downloading the repository as a Git clone, or by downloading the zip archive from the Github page.

Expand Down Expand Up @@ -55,7 +55,6 @@ We would appreciate acknowledgement if the software is used.
<xs:element ref="dfxml:metadata" minOccurs="1" maxOccurs="1"/>
<xs:element ref="dfxml:creator" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dfxml:source" minOccurs="0" maxOccurs="1"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:diskimageobject" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:partitionsystemobject" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:partitionobject" minOccurs="0" maxOccurs="unbounded"/>
Expand Down Expand Up @@ -233,6 +232,7 @@ We would appreciate acknowledgement if the software is used.
<xs:element ref="dfxml:partitionsystemobject" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:volume" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:fileobject" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:error" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
Expand All @@ -246,7 +246,7 @@ We would appreciate acknowledgement if the software is used.

<xs:element name="error" type="dfxml:string">
<xs:annotation>
<xs:documentation>A string describing an error encountered processing a file.</xs:documentation>
<xs:documentation>A string describing an error encountered processing an object.</xs:documentation>
</xs:annotation>
</xs:element>

Expand Down Expand Up @@ -284,7 +284,6 @@ We would appreciate acknowledgement if the software is used.
<!--The fileobject type is separated from the element definition so external schemas can reference it.-->
<xs:complexType name="fileobject_type">
<xs:sequence>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:parent_object" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dfxml:filename" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:error" minOccurs="0" maxOccurs="1"/>
Expand Down Expand Up @@ -315,7 +314,6 @@ We would appreciate acknowledgement if the software is used.
<xs:element ref="dfxml:bkup_time" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dfxml:link_target" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dfxml:libmagic" minOccurs="0" maxOccurs="1"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:byte_runs" minOccurs="0"/>
<xs:element ref="dfxml:hashdigest" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
Expand Down Expand Up @@ -438,8 +436,6 @@ We would appreciate acknowledgement if the software is used.
<xs:complexType>
<xs:sequence>
<xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax" />
<xs:any namespace="http://purl.org/dc/elements/1.1/" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax" />
</xs:sequence>
</xs:complexType>
</xs:element>
Expand Down Expand Up @@ -574,6 +570,12 @@ We would appreciate acknowledgement if the software is used.
</xs:annotation>
</xs:element>

<xs:element name="partition_index" type="dfxml:string">
<xs:annotation>
<xs:documentation>The index value for this partition within the containing partition table. Many partition systems use a numeric value, but some (such as the BSD Disk Label) use a character value.</xs:documentation>
</xs:annotation>
</xs:element>

<xs:element name="partition_offset" type="dfxml:nonNegativeInteger">
<xs:annotation>
<xs:documentation>The offset of the partition from the beginning of the image file, in bytes.</xs:documentation>
Expand All @@ -582,15 +584,17 @@ We would appreciate acknowledgement if the software is used.

<xs:element name="partitionobject">
<xs:annotation>
<xs:documentation>A disk partition.</xs:documentation>
<xs:documentation>A disk partition. To represent MBR extended partition contents, a partition object can nest within another partition object.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:byte_runs" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dfxml:partition_index" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dfxml:ptype" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dfxml:ptype_str" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dfxml:partitionsystemobject" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dfxml:partitionobject" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:volume" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:fileobject" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
Expand All @@ -609,6 +613,7 @@ We would appreciate acknowledgement if the software is used.
<xs:element ref="dfxml:pstype_str" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dfxml:partitionobject" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:fileobject" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:error" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
Expand Down Expand Up @@ -729,7 +734,6 @@ We would appreciate acknowledgement if the software is used.
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:byte_runs" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:partition_offset" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dfxml:sector_size" minOccurs="0" maxOccurs="1"/>
Expand All @@ -740,7 +744,6 @@ We would appreciate acknowledgement if the software is used.
<xs:element ref="dfxml:first_block" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dfxml:last_block" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dfxml:allocated_only" minOccurs="0" maxOccurs="1"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:diskimageobject" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dfxml:volume" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dfxml:fileobject" minOccurs="0" maxOccurs="unbounded"/>
Expand Down
36 changes: 36 additions & 0 deletions tests/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#!/usr/bin/make -f

# Portions of this file contributed by NIST are governed by the
# following statement:
#
# This software was developed at the National Institute of Standards
# and Technology by employees of the Federal Government in the course
# of their official duties. Pursuant to Title 17 Section 105 of the
# United States Code, this software is not subject to copyright
# protection within the United States. NIST assumes no responsibility
# whatsoever for its use by other parties, and makes no guarantees,
# expressed or implied, about its quality, reliability, or any other
# characteristic.
#
# We would appreciate acknowledgement if the software is used.

top_srcdir := ..

all:

.%.dfxml.done.log: \
%.dfxml \
$(dfxml_xsd)
xmllint \
--noout \
--schema $(top_srcdir)/dfxml.xsd \
$<
touch $@

check: \
.minimal.dfxml.done.log

clean:
@rm \
-f \
.*.dfxml.done.log
4 changes: 4 additions & 0 deletions tests/minimal.dfxml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<dfxml xmlns='http://www.forensicswiki.org/wiki/Category:Digital_Forensics_XML' version="2.0.0-beta.0">
<metadata />
</dfxml>

0 comments on commit a80a861

Please sign in to comment.