Description of problem: Publican does not detect a dtd violation Version-Release number of selected component (if applicable): 2.6 (with the JBoss brand; but occurs on all brands) How reproducible: <note> <title>A roles properties file</title> <para>blabla</para> <example id="example-user_properties_file"> <title>A roles properties file</title> <para> <programlisting lang="Java"> # A roles.properties file for use with the UsersRolesLoginModule darranl.ORG=Users </programlisting> </para> </example> </note> Steps to Reproduce: 1. Build the text above into an html-single document (I had it in a chapter and section) Actual results: The text is rendered without the programlisting content ("# A roles.properties file for use with the UsersRolesLoginModule darranl.ORG=Users" is NOT shown) Expected results: Publican building fails due to an incorrect argument in the programlisting tag (I have "lang"; should be "language") Additional info: If you get rid of the para tag around the programlisting, publican build will fail with: general_installation.xml:185: validity error : Element example content does not follow the DTD, expecting (blockinfo? , (title , titleabbrev?) , (calloutlist | glosslist | bibliolist | itemizedlist | orderedlist | segmentedlist | simplelist | variablelist | literallayout | programlisting | programlistingco | screen | screenco | screenshot | synopsis | cmdsynopsis | funcsynopsis | classsynopsis | fieldsynopsis | constructorsynopsis | destructorsynopsis | methodsynopsis | formalpara | para | simpara | address | blockquote | graphic | graphicco | mediaobject | mediaobjectco | informalequation | informalexample | informalfigure | informaltable | indexterm | beginpage | procedure)+), got (title ) So it cannot see the programlisting tag. Good luck!
Created attachment 519918 [details] the incorrect rendering
(In reply to comment #0) > Description of problem: > Publican does not detect a dtd violation This is not a DTD violation, lang is a valid attribute for every tag in DocBook 4. http://www.docbook.org/tdg/en/html/ref-elements.html#common.attributes > Version-Release number of selected component (if applicable): > 2.6 (with the JBoss brand; but occurs on all brands) > > How reproducible: > <note> > <title>A roles properties file</title> > <para>blabla</para> > <example id="example-user_properties_file"> > <title>A roles properties file</title> > <para> > <programlisting lang="Java"> > # A roles.properties file for use with the UsersRolesLoginModule > darranl.ORG=Users > </programlisting> > </para> > </example> > </note> > > > Steps to Reproduce: > 1. Build the text above into an html-single document (I had it in a chapter and > section) > > Actual results: > The text is rendered without the programlisting content ("# A roles.properties > file for use with the UsersRolesLoginModule > darranl.ORG=Users" is NOT shown) The reason the programlisting is not displayed is because "Java" does not match the current lang, probably "en-US", so publican does exactly what you have asked it to, it excludes the content. > Expected results: > Publican building fails due to an incorrect argument in the programlisting tag > (I have "lang"; should be "language") Every time we and add code to try and figure out an authors intention we end up causing more problems than we solve, so I'm very reluctant to try and figure out when people are using wrong, yet valid, attributes. DocBook 5 has changed from the non-standard lang attribute to the standard xml:lang attribute, this should make this kind of attribute misuse less likely. See https://bugzilla.redhat.com/show_bug.cgi?id=696397