[[PageOutline(2-5,Contents,pullout)]] = Produce simple-minded graphical images of the structure of XML Schema files == Description This plugin produces a graphical depiction of the data structure defined by an [https://en.wikipedia.org/wiki/XML_Schema_(W3C) XML Schema (XSD)] file. Input files can be source files in an SVN repository, attachements to tickets or placed in the Trac server file system. Output is as indicated in this example: [[Image(trac-hacks-example.png,width=300)]] === Assumptions The current version assumes that an XSD file contains exactly one `ComplexType` definition at top level. == !Bugs/Feature Requests Existing bugs and feature requests for TracXsdPlotMacro are [report:9?COMPONENT=TracXsdPlotMacro here]. If you have any issues, create a [/newticket?component=TracXsdPlotMacro new ticket]. [[TicketQuery(component=TracXsdPlotMacro&group=type,format=progress)]] == Download Download the zipped source from [export:tracxsdplotmacro here]. == Source You can check out TracXsdPlotMacro from [http://trac-hacks.org/svn/tracxsdplotmacro here] using Subversion, or [source:tracxsdplotmacro browse the source] with Trac. == Installation General instructions on installing Trac plugins can be found on the [TracPlugins#InstallingaTracplugin TracPlugins] page. Requirements: * `ImageMagick` must be installed. * `ElementTree` must be installed for XSD parsing. Enable the plugin as follows in your `trac.ini` file: {{{#!ini [components] tracxsdplot.* = enabled }}} Tested with Trac 1.0.6 on Linux. Older Trac versions cannot access specific source file revisions. == Configuration To access and convert files in the server's file system, set these in `trac.ini`: {{{#!ini [tracxsdplot] file.prepath = /relative/entry/directory file.preurl = http://example.com/entrydir }}} The plugin contains functionality that allows command-line usage as well: {{{#!sh /path/to/plugin/xsd2svg XSDFILE --outfile=OUTFILE }}} == Recent Changes [[ChangeLog(tracxsdplotmacro, 3)]] == !Author/Contributors **Author:** [wiki:thenor] [[BR]] **Maintainer:** [[Maintainer]] [[BR]] **Contributors:** == Credits Thanks to [wiki:ursaw] for most of the macro argument parsing and trac infrastructure that is taken from PdfImagePlugin.