# = XML Obfuscator =

# Select XML mode for obfuscator
org.eclipse.viatra.modelobfuscator/mode=xml

# Provide inputs as semicolon separated list of files
org.eclipse.viatra.modelobfuscator/input=somefile.ext;c:/someDir/someOtherFile.ex2

# Select output directory where all obfuscated files are put (input directories will be also recreated inside this)
org.eclipse.viatra.modelobfuscator/output=someOutputDir

# Schema configuration
# Semicolon separated list of tags whose text content is obfuscated 
org.eclipse.viatra.modelobfuscator/tags=someTag;otherTag

# Semicolon separated list for tag attributes that are obfuscated
# (tag name followed by : and comma separated list of attribute names)
org.eclipse.viatra.modelobfuscator/attributes=someTag:someAttr;otherTag:otherAttr,attr2
