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 TypeMethodDescriptionbooleanDefines if this visitor should process the provided node.private StringgetNamespace(Attr attribute) Retrieves the value of the "namespace" attribute found within the parent element of the provided attribute.private booleanDiscovers if the provided attribute is a schemaLocation definition, which should be changed by this ChangeFilenameProcessor.voidProcesses 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:
acceptin interfaceNodeProcessor- Parameters:
aNode- The DOM node to process.- Returns:
trueif the provided Node should be processed by this NodeProcessor.
-
process
Processes the provided DOM Node.- Specified by:
processin 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:
trueif the provided attribute is a schemaLocation definition whose namespace is known to this ChangeFilenameProcessor.
-
getNamespace
-