1- __ ___ __ __
2- |__) |__ / _` \_/ |\/| | | | |__)
3- | \ |___ \__> / \ | | |___ |___ | |__)
1+ __ ___ __ __
2+ |__) |__ / _` \_/ |\/| | | | |__)
3+ | \ |___ \__> / \ | | |___ |___ | |__)
44
55
66INTRODUCTION
77============
88
9- regxmllib is a collection of tools and libraries for the creation of
9+ regxmllib is a collection of tools and libraries for the creation of
1010RegXML (SMPTE ST 2001-1) representations of MXF header metadata
1111(SMPTE ST 377-1). A RegXML Fragment example can be found at [1]
1212
@@ -21,15 +21,15 @@ Two implementations of regxmllib are provided:
2121KNOWN ISSUES AND LIMITATIONS
2222============================
2323
24- regxmllib relies on SMPTE Metadata Registers that conform to SMPTE ST 335,
24+ regxmllib relies on SMPTE Metadata Registers that conform to SMPTE ST 335,
2525ST 395, ST 400, ST 2003. These registers are published at [1].
2626
2727[1] https://smpte-ra.org/smpte-metadata-registry
2828
29- regxmllib deviates from ST 2001-1:2013 in a few narrow instances. Such deviations
30- are noted in the source code and are expected to be submitted for consideration at
29+ regxmllib deviates from ST 2001-1:2013 in a few narrow instances. Such deviations
30+ are noted in the source code and are expected to be submitted for consideration at
3131the next revision of ST 2001-1. In particular:
32-
32+
3333* no baseline metadictionary is used, instead one extension metadictionary per
3434 namespace is used
3535
@@ -51,47 +51,47 @@ Maven
5151
5252(recommended) Git
5353
54- (recommended) SMPTE Metadata Registers (Types, Elements, Groups and Labels)
54+ (recommended) SMPTE Metadata Registers (Types, Elements, Groups and Labels)
5555
5656
5757Quick Start
5858-----------
5959
6060The following outputs to path PATH_TO_FRAGMENT an XML representation
61- of the header metadata of the MXF file at path PATH_TO_MXF_FILE
61+ of the header metadata of the MXF file at path PATH_TO_MXF_FILE
6262
63- * build the 'jar' target using Maven ' package' goal
63+ * `mvn package -Pwith-dependencies`
6464
6565* choose one of the following:
6666
6767 * OPTION 1
6868
6969 * retrieve the four SMPTE Metadata Registers (see [1] above)
70-
70+
7171 * build the metadictionaries from the SMPTE registers
7272
7373 java -cp <PATH_TO_JAR> com.sandflow.smpte.tools.XMLRegistersToDict -e <PATH_TO_ELEMENTS_REG>
7474 -l <PATH_TO_LABELS_REG> -g <PATH_TO_GROUPS_REG> -t <PATH_TO_TYPES_REG> PATH_TO_DICT_DIR
75-
75+
7676 * OPTION 2
77-
77+
7878 * retrieve metadictionaries from [3]
79-
79+
8080 [3] https://github.com/sandflow/IMF/tree/master/dict
81-
81+
8282* generate the RegXML fragment
83-
84- run java -cp <PATH_TO_JAR> com.sandflow.smpte.tools.RegXMLDump -all -d <PATH_TO_DICT1> <PATH_TO_DICT2> ...
83+
84+ run java -cp target/regxmllib-jar-with-dependencies.jar com.sandflow.smpte.tools.RegXMLDump -all -d <PATH_TO_DICT1> <PATH_TO_DICT2> ...
8585 -i <PATH_TO_MXF_FILE> > <PATH_TO_FRAGMENT>
8686
8787* (optional) generate XSDs for RegXML Fragments
8888
89- run java -cp <PATH_TO_JAR> com.sandflow.smpte.tools.GenerateDictionaryXMLSchema -d <PATH_TO_DICT1> <PATH_TO_DICT2> ...
89+ run java -cp target/regxmllib-jar-with-dependencies.jar com.sandflow.smpte.tools.GenerateDictionaryXMLSchema -d <PATH_TO_DICT1> <PATH_TO_DICT2> ...
9090 -o <PATH_TO_OUTPUT_DIR>
9191
9292* (optional) generate XSDs for SMPTE registers
9393
94- run java -cp <PATH_TO_JAR> com.sandflow.smpte.tools.GenerateXMLSchemaDocuments -cp <CLASS_PATH_TO_REGISTER_MODEL>
94+ run java -cp target/regxmllib-jar-with-dependencies.jar com.sandflow.smpte.tools.GenerateXMLSchemaDocuments -cp <CLASS_PATH_TO_REGISTER_MODEL>
9595 -d <PATH_TO_OUTPUT_DIR>
9696
9797 where <CLASS_PATH_TO_REGISTER_MODEL> is equal to com.sandflow.smpte.register.catsup.TypesRegisterModel, etc.
@@ -103,7 +103,7 @@ Architecture
103103At the heart of regxmllib is the FragmentBuilder.fragmentFromTriplet() method
104104that creates an XML fragment from a KLV group given a
105105a RegXML metadictionary and a collection of KLV groups from which strong
106- references are resolved. The rules engine implemented in
106+ references are resolved. The rules engine implemented in
107107FragmentBuilder.fragmentFromTriplet() is intended to follow the rules specified
108108in ST 2001-1 as closely as possible. A sister method, XMLSchemaBuilder.fromDictionary(),
109109creates a matching XML Schema that can be used to validate RegXML fragments.
@@ -119,17 +119,17 @@ Packages
119119--------
120120
121121com.sandflow.smpte.klv : Classes for processing SMPTE KLV triplets (ST 336)
122-
122+
123123com.sandflow.smpte.mxf: Classes for processing SMPTE MXF structures (ST 377-1)
124124
125125com.sandflow.smpte.register: Classes for processing SMPTE metadata registers
126126 (ST 335, ST 395, ST 400, ST 2003)
127-
127+
128128com.sandfow.smpte.regxml: Classes for managing RegXML metadictionaries and
129129 creating RegXML representations of MXF structures
130-
130+
131131com.sandfow.smpte.tools: Application-level tools
132-
132+
133133com.sandfow.smpte.util: Utilities classes
134134
135135
@@ -138,13 +138,13 @@ Tools
138138
139139RegXMLDump: dumps either the first essence descriptor or the entire header
140140 metadata of an MXF file as a RegXML structure
141-
141+
142142XMLRegistersToDict: converts XML-based SMPTE metadata registers to a RegXML metadictionaries
143143
144144GenerateXMLSchemaDocuments: generates XSDs for the SMPTE metadata registers
145-
145+
146146GenerateDictionaryXMLSchema: generate XSDs for RegXML Fragments from the RegXML metadictionaries
147-
147+
148148
149149Unit Test
150150---------
@@ -155,12 +155,12 @@ to reference RegXML fragments located at [3].
155155
156156[1] src/test/mxf-files
157157[2] src/test/registers
158- [3] src/test/regxml-files
158+ [3] src/test/regxml-files
159159
160160Reference RegXML fragments can regenerated by running the package goal with the build-reference-test-files profile:
161161
162162 mvn package -Pbuild-reference-files
163-
163+
164164
165165Maven Artifacts
166166---------------
@@ -188,7 +188,7 @@ Xerces-C++ Version 3.1.4 (or above) [1]
188188(recommended) CMake
189189
190190[1] https://xerces.apache.org/xerces-c/
191-
191+
192192
193193Architecture
194194------------
@@ -214,7 +214,7 @@ to reference RegXML fragments located at [3].
214214
215215[1] src/test/mxf-files
216216[2] src/test/regxml-dicts
217- [3] src/test/regxml-files
217+ [3] src/test/regxml-files
218218
219219
220220DIRECTORIES AND NOTABLE FILES
@@ -227,28 +227,28 @@ pom.xml Maven POM file
227227CMakeLists.txt CMake build file
228228
229229target Output of the Maven build process, including the JAR
230-
230+
231231src/java regxmllibj codebase
232232
233233src/cpp regxmllibc codebase
234234
235235src/main/config/repoversion.properties
236- Template Java properties file used to host the
236+ Template Java properties file used to host the
237237 a unique source code version generated using
238238 git by the build system
239239
240240src/main/resources/reg.xsd
241241 Common XML Schema definitions used when generating
242242 XML Schemas for RegXML Fragments
243-
243+
244244src/test/resources/regxml-files
245245 Reference RegXML fragment used for unit testing
246246
247247src/test/resources/registers
248248 Reference SMPTE registers used for unit testing
249249
250250src/test/resources/mxf-files
251- Sample MXF files used for unit testing
251+ Sample MXF files used for unit testing
252252
253253src/test/resources/regxml-dicts
254- Reference metadictionaries used for unit testing
254+ Reference metadictionaries used for unit testing
0 commit comments