jibx:document-compare

Full name:

org.jibx:jibx-maven-plugin:1.2.5:document-compare

Description:

Compares two schemas or roundtrips a schema through a JiBX class and compares the results. If a mapped class is supplied, then the inFile is marshalled into the supplied class and then unmarshalled in the outFile (defaults to temp.xml) and compared with the original xml document. If no class is supplied, then the inFile is compared to the outFile XML files. Note: This mojo only runs in test scope.

Attributes:

  • Requires a Maven project to be executed.
  • Binds by default to the lifecycle phase: test.

Required Parameters

Name Type Since Description
inFile String - The path to the source XML document to compare. NOTE: Relative paths start at ${basedir}.
multimodule boolean - Control flag multi-module mode.
Default value is: false.
xmlDirectory String - The directory which contains XML files.
Default value is: src/test/config.

Optional Parameters

Name Type Since Description
baseBindingDirectory String - Get the default location of the base binding files.
Defaults value is: schemaBindingDirectory.
excludeSchemaBindings ArrayList - Exclude pattern for schema binding files.
excludes ArrayList - Deprecated. - This name was confusing since it is used as a binding file pattern for bind and a schema file pattern for code-gen.
Use excludeSchemaBindings for binding and excludeSchemas for schema
includeBaseBindings HashSet - A list of modules or files to search for base binding files. This can specify files in the local directory or files stored in your dependencies. If your based binding files are in a local file system, specify them as follows:
<includeBaseBindings>
  <includeBaseBinding>
    <directory>src/main/config</directory>
    <includes>
      <include>base-binding.xml</include>
    </includes>
  </includeBaseBinding>
 </includeBaseBindings>
If your based binding files are in a artifact that is one of your dependencies:
<includeBaseBindings>
  <includeBaseBinding>
    <groupId>com.mycompany.baseschema</groupId>
    <artifactId>base-schema</artifactId>
    <classifier>bindings</classifier>
    <directory>META-INF</directory>
    <includes>
      <include>base-binding.xml</include>
    </includes>
  </includeBaseBinding>
</includeBaseBindings>
The classifier is optional (if your binding file is not in the main artifact) A version is not necessary, since this declaration must be on your list of dependencies.
Note: For file filters, use the standard filter format described in the plexus DirectoryScanner.
Defaults value is: binding.xml. Include existing bindings and use mappings from the bindings for matching schema global definitions. (this is the basis for modular code generation)
Note: If directory is not specified, relative paths start at <baseBindingDirectory>.
includeSchemaBindings ArrayList - Include pattern for schema binding files.
Note: Uses the standard filter format described in the plexus DirectoryScanner.
Defaults value is: binding.xml. Include existing bindings and use mappings from the bindings for matching schema global definitions. (this is the basis for modular code generation) Include base bindings as follows:
<includeSchemaBindings>
  <includeSchemaBinding>base-binding.xml</includeSchemaBinding>
</includeSchemaBindings>
Note: Relative paths start at <directory>.
includes ArrayList - Deprecated. - This name was confusing since it is used as a binding file pattern for bind and a schema file pattern for code-gen.
Use includeSchemaBindings for binding and includeSchemas for schema.
Note: Uses the standard filter format described in the plexus DirectoryScanner.
Defaults value is: binding.xml.
mappedClass String - Root class name to use to round-trip the document.
modules HashSet - A list of modules to search for binding files in the format: groupID:artifactID
outFile String - The path to the destination XML document to compare. NOTE: Relative paths start at ${basedir}; If this path is a filename, the directory is the same as inFile.
schemaBindingDirectory String - The directory which contains schema binding files. Defaults to "src/main/config" (or "src/test/config" for test goals). For code-gen or if the default directory does not exist, defaults to "target/generated-sources" (or "target/generated-test-sources" for test goals).

Parameter Details

baseBindingDirectory:

Get the default location of the base binding files.
Defaults value is: schemaBindingDirectory.
  • Type: java.lang.String
  • Required: No
  • Expression: ${baseBindingDirectory}

excludeSchemaBindings:

Exclude pattern for schema binding files.
  • Type: java.util.ArrayList
  • Required: No
  • Expression: ${excludeSchemaBindings}

excludes:

Deprecated. - This name was confusing since it is used as a binding file pattern for bind and a schema file pattern for code-gen.
Use excludeSchemaBindings for binding and excludeSchemas for schema
Exclude pattern for binding files.
  • Type: java.util.ArrayList
  • Required: No
  • Expression: ${excludes}

inFile:

The path to the source XML document to compare. NOTE: Relative paths start at ${basedir}.
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${inFile}

includeBaseBindings:

A list of modules or files to search for base binding files. This can specify files in the local directory or files stored in your dependencies. If your based binding files are in a local file system, specify them as follows:
<includeBaseBindings>
  <includeBaseBinding>
    <directory>src/main/config</directory>
    <includes>
      <include>base-binding.xml</include>
    </includes>
  </includeBaseBinding>
 </includeBaseBindings>
If your based binding files are in a artifact that is one of your dependencies:
<includeBaseBindings>
  <includeBaseBinding>
    <groupId>com.mycompany.baseschema</groupId>
    <artifactId>base-schema</artifactId>
    <classifier>bindings</classifier>
    <directory>META-INF</directory>
    <includes>
      <include>base-binding.xml</include>
    </includes>
  </includeBaseBinding>
</includeBaseBindings>
The classifier is optional (if your binding file is not in the main artifact) A version is not necessary, since this declaration must be on your list of dependencies.
Note: For file filters, use the standard filter format described in the plexus DirectoryScanner.
Defaults value is: binding.xml. Include existing bindings and use mappings from the bindings for matching schema global definitions. (this is the basis for modular code generation)
Note: If directory is not specified, relative paths start at <baseBindingDirectory>.
  • Type: java.util.HashSet
  • Required: No
  • Expression: ${includeBaseBindings}

includeSchemaBindings:

Include pattern for schema binding files.
Note: Uses the standard filter format described in the plexus DirectoryScanner.
Defaults value is: binding.xml. Include existing bindings and use mappings from the bindings for matching schema global definitions. (this is the basis for modular code generation) Include base bindings as follows:
<includeSchemaBindings>
  <includeSchemaBinding>base-binding.xml</includeSchemaBinding>
</includeSchemaBindings>
Note: Relative paths start at <directory>.
  • Type: java.util.ArrayList
  • Required: No
  • Expression: ${includeSchemaBindings}

includes:

Deprecated. - This name was confusing since it is used as a binding file pattern for bind and a schema file pattern for code-gen.
Use includeSchemaBindings for binding and includeSchemas for schema.
Note: Uses the standard filter format described in the plexus DirectoryScanner.
Defaults value is: binding.xml.
Include pattern for binding files.
  • Type: java.util.ArrayList
  • Required: No
  • Expression: ${includes}

mappedClass:

Root class name to use to round-trip the document.
  • Type: java.lang.String
  • Required: No
  • Expression: ${mappedClass}

modules:

A list of modules to search for binding files in the format: groupID:artifactID
  • Type: java.util.HashSet
  • Required: No
  • Expression: ${modules}

multimodule:

Control flag multi-module mode.
  • Type: boolean
  • Required: Yes
  • Expression: ${multi-module}
  • Default: false

outFile:

The path to the destination XML document to compare. NOTE: Relative paths start at ${basedir}; If this path is a filename, the directory is the same as inFile.
  • Type: java.lang.String
  • Required: No
  • Expression: ${outFile}

schemaBindingDirectory:

The directory which contains schema binding files. Defaults to "src/main/config" (or "src/test/config" for test goals). For code-gen or if the default directory does not exist, defaults to "target/generated-sources" (or "target/generated-test-sources" for test goals).
  • Type: java.lang.String
  • Required: No
  • Expression: ${schemaBindingDirectory}

xmlDirectory:

The directory which contains XML files.
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${xmlDirectory}
  • Default: src/test/config