https://github.com/unvercan/sca-dependencies-finder
XML file-based dependencies finder for Oracle SOA Composite Applications
https://github.com/unvercan/sca-dependencies-finder
composite csv dependency middleware oracle oracle-soa-suite python service-oriented-architecture soa wsdl xml xsd
Last synced: 7 months ago
JSON representation
XML file-based dependencies finder for Oracle SOA Composite Applications
- Host: GitHub
- URL: https://github.com/unvercan/sca-dependencies-finder
- Owner: unvercan
- License: mit
- Created: 2018-05-09T06:14:53.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2025-02-08T22:16:49.000Z (8 months ago)
- Last Synced: 2025-02-08T23:21:53.221Z (8 months ago)
- Topics: composite, csv, dependency, middleware, oracle, oracle-soa-suite, python, service-oriented-architecture, soa, wsdl, xml, xsd
- Language: Python
- Homepage:
- Size: 23.4 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SCA Dependencies Finder
## Overview
The **SCA Dependencies Finder** is a Python-based tool designed to parse XML files, extract dependencies based on predefined filters, and categorize them. The extracted dependencies are saved in CSV format for further analysis.## Features
- Extracts dependencies from XML-based files (e.g., `.wsdl`, `.xsd`, `.xml`, etc.)
- Filters dependencies based on specific XML elements and attributes
- Categorizes dependencies into different types (MDS, HTTP, FILE, LOCAL, and CUSTOM)
- Supports custom filtering options
- Outputs extracted data as CSV files## Installation
### Prerequisites
- Python 3.9+
- Install required dependencies using:
```sh
pip install -r requirements.txt
```## Usage
To process a directory of XML files and extract dependencies, run:
```sh
python app.py
```
By default, the script will use the configured input and output directories specified in `config.py`.### Custom Arguments
You can specify custom input and output directories:
```sh
python app.py --input /path/to/xml/files --output /path/to/save/results
```## Configuration
The `config.py` file contains settings for:
- **File Extensions:** XML-based file types to process
- **Elements & Attributes:** XML tags and attributes used for dependency extraction
- **Filters:** Predefined filters for categorization (MDS, HTTP, FILE, etc.)
- **Defaults:** Input/output paths, file format, and logging settings## Output
The extracted dependencies are saved in CSV format with filenames structured as:
```
dependencies__.csv
```
Each CSV file contains the following columns:
- `file` - The relative path of the source XML file
- `element` - The XML element containing the dependency
- `attribute` - The attribute in which the dependency is found
- `path` - The extracted dependency value## Logging
The script logs its progress and errors in the console. Log levels can be adjusted in `config.py` using:
```python
logging.basicConfig(level=logging.INFO, format=DEFAULT.get("logging_format"))
```## License
This project is open-source and available under the MIT License.