93 lines
4.2 KiB
Markdown
93 lines
4.2 KiB
Markdown
|
---
|
||
|
title: 'X4O: Java xml library'
|
||
|
date: 2015-07-01 19:24:59
|
||
|
tags:
|
||
|
- java
|
||
|
- x4o
|
||
|
---
|
||
|
|
||
|
Site: http://www.x4o.org
|
||
|
Source: http://git.savannah.gnu.org/cgit/x4o.git
|
||
|
Status: Discontinued development
|
||
|
|
||
|
Framework to define your xml languages with full scheme and namespace support.
|
||
|
|
||
|
Small example of parsing a simple example language;
|
||
|
|
||
|
``` xml
|
||
|
<root:JFrame
|
||
|
xmlns:root="http://swixml.x4o.org/xml/ns/swixml-root"
|
||
|
xmlns="http://swixml.x4o.org/xml/ns/swixml-lang"
|
||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||
|
xsi:schemaLocation="http://test.x4o.org/xml/ns/test-root test-root-1.0.xsd"
|
||
|
name="mainframe" size="800,600" title="SWIXML-X4O" plaf="com.sun.java.swing.plaf.windows.WindowsLookAndFeel" defaultCloseOperation="3"
|
||
|
>
|
||
|
<JMenubar name="menubar">
|
||
|
<JMenu name="filemenu" text="File">
|
||
|
<JMenuItem name="mi_new" text="New" icon="icons/new.gif" mnemonic="VK_N" accelerator="control N" Action="newAction"/>
|
||
|
<JMenuItem name="mi_open" text="Open" icon="icons/open.gif" mnemonic="VK_O" Accelerator="control O" ActionCommand="open"/>
|
||
|
<JMenuItem name="mi_save" text="Save" icon="icons/save.gif" mnemonic="VK_S" ActionCommand="save"/>
|
||
|
<JMenu name="propmenu" text="Properties" icon="icons/new.gif" >
|
||
|
<JMenuItem name="mi_prop_edit" text="Edit" icon="icons/new.gif"/>
|
||
|
<JMenuItem name="mi_prop_clear" text="Clear" icon="icons/new.gif"/>
|
||
|
</JMenu>
|
||
|
<JMenu.Separator/>
|
||
|
<JMenuItem name="mi_exit" text="Exit" icon="icons/exit.gif" mnemonic="VK_X" Accelerator="control X" ActionCommand="exit" Action="exitAction"/>
|
||
|
</JMenu>
|
||
|
<JMenu text="Help">
|
||
|
<JMenuItem name="mi_about" text="About" enabled="true" icon="icons/info.gif" Accelerator="alt A" Action="aboutAction" />
|
||
|
</JMenu>
|
||
|
</JMenubar>
|
||
|
<JDesktopPane>
|
||
|
<JInternalFrame title="Flow Layout (right aligned)" bounds="10,10,150,150" layout="FlowLayout(FlowLayout.RIGHT)" visible="true" resizable="true">
|
||
|
<JButton text="1"/>
|
||
|
<JButton text="2"/>
|
||
|
<JButton text="3"/>
|
||
|
<JButton text="4"/>
|
||
|
</JInternalFrame>
|
||
|
<JInternalFrame title="Grid Layout" bounds="200,10,170,170" layout="GridLayout(4,3)" visible="true" resizable="true">
|
||
|
<JButton text="1"/><JButton text="2"/><JButton text="3"/>
|
||
|
<JButton text="4"/><JButton text="5"/><JButton text="6"/>
|
||
|
<JButton text="7"/><JButton text="8"/><JButton text="9"/>
|
||
|
<JButton text="*"/><JButton text="0"/><JButton text="#"/>
|
||
|
</JInternalFrame>
|
||
|
<JInternalFrame title="Border Layout" bounds="390,10,150,150" layout="borderlayout" visible="true" resizable="true">
|
||
|
<JButton constraints="BorderLayout.NORTH" text="1"/>
|
||
|
<JButton constraints="BorderLayout.EAST" text="2"/>
|
||
|
<JButton constraints="BorderLayout.SOUTH" text="3"/>
|
||
|
<JButton constraints="BorderLayout.WEST" text="4"/>
|
||
|
</JInternalFrame>
|
||
|
<JInternalFrame title="Tree Window" bounds="10,170,350,360" layout="borderlayout" visible="true" resizable="true">
|
||
|
<JPanel layout="borderlayout" constraints="BorderLayout.CENTER">
|
||
|
<JSplitPane oneTouchExpandable="true" dividerLocation="200">
|
||
|
<JSplitPane oneTouchExpandable="true" dividerLocation="140" orientation="VERTICAL">
|
||
|
<JScrollPane background="blue" >
|
||
|
<JTree name="tree"/>
|
||
|
</JScrollPane>
|
||
|
<JPanel layout="borderlayout">
|
||
|
<JPanel constraints="BorderLayout.NORTH">
|
||
|
<JButton name="btn_copy" toolTipText="JPanel" enabled="true" borderPainted="false" focusPainted="false" icon="icons/copy.gif" size="24,24"/>
|
||
|
<JButton name="btn_paste" toolTipText="JJButton" enabled="true" borderPainted="false" focusPainted="false" icon="icons/paste.gif" size="24,24"/>
|
||
|
<JButton name="btn_cut" toolTipText="JLabel" enabled="true" icon="icons/cut.gif" borderPainted="false" focusPainted="false" size="24,24"/>
|
||
|
</JPanel>
|
||
|
<JScrollPane constraints="BorderLayout.CENTER">
|
||
|
<JTable name="table"/>
|
||
|
</JScrollPane>
|
||
|
</JPanel>
|
||
|
</JSplitPane>
|
||
|
<JPanel name="preview" border="LoweredBevelBorder">
|
||
|
<JTextArea name="ta" text="Tree Status Log....." background="red"/>
|
||
|
</JPanel>
|
||
|
</JSplitPane>
|
||
|
</JPanel>
|
||
|
<JPanel constraints="BorderLayout.SOUTH">
|
||
|
<JLabel text="Status:"/>
|
||
|
<JTextField text="OK"/>
|
||
|
</JPanel>
|
||
|
</JInternalFrame>
|
||
|
</JDesktopPane>
|
||
|
</root:JFrame>
|
||
|
```
|
||
|
|
||
|

|