Because XML Deserves Respect.
# Download the package
wget https://github.com/apurvaone/flash-xml/releases/latest/download/xml-mafia_1.0-SNAPSHOT_all.deb
# Install the package
sudo apt install ./xml-mafia_1.0-SNAPSHOT_all.deb
# Launch from terminal
xml-mafiaYou can also launch XML Mafia from your application menu after installation.
Tired of sluggish XML editors choking on large files? Meet XML Mafia—a high-performance XML viewer built to handle gigabyte-scale XML files with unmatched speed and efficiency. Whether you’re dealing with massive datasets, complex CXML files, or deeply nested structures, XML Mafia loads them instantly, without sacrificing syntax highlighting or smooth scrolling.
XML Mafia achieves high performance through several key optimizations:
🔹 Memory-Mapped I/O – Loads gigabyte-scale files instantly, minimizing disk access overhead.
🔹 Virtualized Display – Renders only the visible portion, reducing memory usage.
🔹 Real-Time Syntax Highlighting – Ensures clear and readable XML content.
🔹 Lazy Loading & Background Processing – Keeps the UI responsive while loading large files.
🔹 Pre-Fetching for Smooth Scrolling – Eliminates stutters for a seamless browsing experience.
🔹 CXML Support – Fully compatible with Commerce XML (CXML) formats.
🔹 Theme Support – Dark and light themes for comfortable viewing.
🔹 Line Numbers – Clear line numbering for easy reference.
🔹 Java 17 or higher
🔹 Maven 3.6 or higher
🔹 JavaFX runtime
mvn clean packageUsing Maven:
mvn javafx:runUsing the shell script:
./src/main/resources/xml-mafia.shDirectly using Java:
java --module-path /usr/share/openjfx/lib --add-modules javafx.controls,javafx.fxml,javafx.web,javafx.graphics -jar target/xml-mafia.jar- Launch XML Mafia using any of the methods above.
- Click anywhere in the window to open the file chooser.
- Select an XML or CXML file.
- Instantly browse even the largest files with syntax highlighting and smooth scrolling.
- Use the theme toggle button to switch between dark and light themes.
- Scroll through the file smoothly with automatic content loading.
- Memory-Mapped I/O for efficient file access
- Virtualized ListView showing only visible content
- Background Thread for file processing
- Efficient Tokenizer for syntax highlighting
- Pre-Fetching for smooth scrolling
- Minimal Memory Footprint for handling large files
- XmlViewerApp: Main application class that sets up the JavaFX UI
- XmlViewerController: Handles file loading and viewing logic
- XmlTokenizer: Provides XML syntax highlighting functionality
- XmlLineCell: Custom cell implementation for efficient line rendering
XML Mafia is built for speed and efficiency, making it easier than ever to work with large XML files. But every great tool needs a great community to push it to the next level. Whether you’re a developer, designer, tester, or just a power user with brilliant ideas, we want you on board!
🔹 Report Issues – Found a bug? Let us know, and we’ll squash it like a true mafia family.
🔹 Suggest Features – Have a killer idea to make XML Mafia even better? We’re all ears!
🔹 Contribute Code – Fork the repo, add your magic, and submit a pull request.
🔹 Spread the Word – Share XML Mafia with fellow developers, because no one should suffer slow XML viewers ever again!
Join us in making XML Mafia the fastest, smoothest, and most powerful XML editor in the world. The family is growing—be a part of it! 💥
