Class ChangeFilenameProcessor
java.lang.Object
org.codehaus.mojo.jaxb2.schemageneration.postprocessing.schemaenhancement.ChangeFilenameProcessor
- All Implemented Interfaces:
NodeProcessor
NodeProcessor which alters the filename for generated XML schema files. The ChangeNamespacePrefixProcessor alters the following:
- Schema Import Definitions
- <xs:import namespace="http://some/namespace" schemaLocation="schema2.xsd"/> is altered to <xs:import namespace="http://some/namespace" schemaLocation="anotherFile.xsd"/>
- Since:
- 1.4
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionChangeFilenameProcessor
(Map<String, String> namespaceUriToNewFilenameMap) Creates a new ChangeFilenameProcessor using the provided map relating namespace URIs to desired new file names. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Defines if this visitor should process the provided node.private String
getNamespace
(Attr attribute) Retrieves the value of the "namespace" attribute found within the parent element of the provided attribute.private boolean
Discovers if the provided attribute is a schemaLocation definition, which should be changed by this ChangeFilenameProcessor.void
Processes the provided DOM Node.
-
Field Details
-
SCHEMA_LOCATION
- See Also:
-
IMPORT
- See Also:
-
NAMESPACE
- See Also:
-
namespaceUriToNewFilenameMap
-
-
Constructor Details
-
ChangeFilenameProcessor
Creates a new ChangeFilenameProcessor using the provided map relating namespace URIs to desired new file names.
- Parameters:
namespaceUriToNewFilenameMap
- A map relating namespace URIs [key] to new/desired schema filenames [value].
-
-
Method Details
-
accept
Defines if this visitor should process the provided node.- Specified by:
accept
in interfaceNodeProcessor
- Parameters:
aNode
- The DOM node to process.- Returns:
true
if the provided Node should be processed by this NodeProcessor.
-
process
Processes the provided DOM Node.- Specified by:
process
in interfaceNodeProcessor
- Parameters:
aNode
- The DOM Node to process.
-
isSchemaLocationAttributeForKnownNamespaceUri
Discovers if the provided attribute is a schemaLocation definition, which should be changed by this ChangeFilenameProcessor. Such an attribute is on the form<xs:import namespace="http://a/registered/namespace" schemaLocation="schema1.xsd"/>
.- Parameters:
attribute
- the attribute to test.- Returns:
true
if the provided attribute is a schemaLocation definition whose namespace is known to this ChangeFilenameProcessor.
-
getNamespace
Retrieves the value of the "namespace" attribute found within the parent element of the provided attribute.- Parameters:
attribute
- An attribute defined within the parent holding the "namespace" attribute.- Returns:
- The value of the "namespace" attribute.
-