When you generate a plugin, many empty "text-align" attributes are generated in the form of <xsl:attribute name="text-align" />. The problem is that Apache FOP throws errors on these invalid tags like the following:
[fop] [ERROR] Invalid property value encountered in text-align="": org.apache.fop.fo.expr.PropertyException: file:/tmp/temp20191111211848401/topic.fo:549:1207: No conversion defined ; property:'text-align' (See position 554:374)
[fop] org.apache.fop.fo.expr.PropertyException: file:/tmp/temp20191111211848401/topic.fo:549:1207: No conversion defined ; property:'text-align'
[fop] at org.apache.fop.fo.properties.PropertyMaker.make(PropertyMaker.java:446)
[fop] at org.apache.fop.fo.PropertyList.convertAttributeToProperty(PropertyList.java:499)
[fop] at org.apache.fop.fo.PropertyList.addAttributesToList(PropertyList.java:386)
[fop] at org.apache.fop.fo.FObj.processNode(FObj.java:127)
[fop] at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:293)
[fop] at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:179)
[fop] at net.sf.saxon.event.ContentHandlerProxy.startContent(ContentHandlerProxy.java:385)
[fop] at net.sf.saxon.event.ProxyReceiver.startContent(ProxyReceiver.java:177)
[fop] at net.sf.saxon.event.SequenceNormalizer.startContent(SequenceNormalizer.java:163)
[fop] at net.sf.saxon.event.ReceivingContentHandler.startElement(ReceivingContentHandler.java:446)
[fop] at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
[fop] at org.ditang.relaxng.defaults.RelaxNGDefaultsComponent.startElement(RelaxNGDefaultsComponent.java:210)
[fop] at org.apache.xerces.xinclude.XIncludeHandler.startElement(Unknown Source)
[fop] at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
[fop] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
[fop] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
[fop] at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
[fop] at org.ditang.relaxng.defaults.RelaxDefaultsParserConfiguration.parse(RelaxDefaultsParserConfiguration.java:111)
[fop] at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
[fop] at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
[fop] at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
[fop] at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
[fop] at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:434)
[fop] at net.sf.saxon.event.Sender.send(Sender.java:141)
[fop] at net.sf.saxon.jaxp.IdentityTransformer.transform(IdentityTransformer.java:366)
[fop] at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:293)
[fop] at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:116)
[fop] at org.apache.fop.tools.anttasks.FOPTaskStarter.renderInputHandler(Fop.java:648)
[fop] at org.apache.fop.tools.anttasks.FOPTaskStarter.render(Fop.java:671)
[fop] at org.apache.fop.tools.anttasks.FOPTaskStarter.run(Fop.java:532)
[fop] at org.apache.fop.tools.anttasks.Fop.execute(Fop.java:369)
[fop] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
[fop] at jdk.internal.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
[fop] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[fop] at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[fop] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
[fop] at org.apache.tools.ant.Task.perform(Task.java:350)
[fop] at org.apache.tools.ant.Target.execute(Target.java:449)
[fop] at org.apache.tools.ant.Target.performTasks(Target.java:470)
[fop] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1391)
[fop] at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:36)
[fop] at org.apache.tools.ant.Project.executeTargets(Project.java:1254)
[fop] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:437)
[fop] at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:106)
[fop] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
[fop] at jdk.internal.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
[fop] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[fop] at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[fop] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
[fop] at org.apache.tools.ant.Task.perform(Task.java:350)
[fop] at org.apache.tools.ant.Target.execute(Target.java:449)
[fop] at org.apache.tools.ant.Target.performTasks(Target.java:470)
[fop] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1391)
[fop] at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:36)
[fop] at org.apache.tools.ant.Project.executeTargets(Project.java:1254)
[fop] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:437)
[fop] at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:106)
[fop] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
[fop] at jdk.internal.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
[fop] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[fop] at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[fop] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
[fop] at org.apache.tools.ant.Task.perform(Task.java:350)
[fop] at org.apache.tools.ant.Target.execute(Target.java:449)
[fop] at org.apache.tools.ant.Target.performTasks(Target.java:470)
[fop] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1391)
[fop] at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
[fop] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[fop] at org.apache.tools.ant.Project.executeTargets(Project.java:1254)
[fop] at org.dita.dost.invoker.Main.runBuild(Main.java:637)
[fop] at org.dita.dost.invoker.Main.startAnt(Main.java:195)
[fop] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)
[fop] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)
When you generate a plugin, many empty "text-align" attributes are generated in the form of
<xsl:attribute name="text-align" />
. The problem is that Apache FOP throws errors on these invalid tags like the following: