Why does the XML text field vandalize valid HTML?

Author Message

Lars Arne Brekken

Thursday 10 July 2003 7:33:02 am

I enter <table border="0" class="myclass" width="300">...</table> in an XML text field. It is saved like this, when I click edit it's unchanged.

But when I output the field on an HTML page, it's like this:
<table class="renderedtable" border="0" cellpadding="2" cellspacing="0" width="300">

How can I avoid that the text field vandalizes valid HTML?

Lars

Tony Wood

Thursday 10 July 2003 9:54:27 am

XML fields in ez are read and parsed by the eZ XML parser, to put HTML in the XML field use the literal tags
http://ez.no/manual/user/everyday#Tags

Tony Wood : twitter.com/tonywood
Vision with Technology
Experts in eZ Publish consulting & development

Power to the Editor!

Free eZ Training : http://www.VisionWT.com/training
eZ Future Podcast : http://www.VisionWT.com/eZ-Future

Lars Arne Brekken

Friday 11 July 2003 12:59:12 am

But why is the class output as 'renderedtable' even though it's saved as 'myclass'?

Bård Farstad

Friday 11 July 2003 1:31:56 am

The classes used in the XML format has no connection to HTML and CSS. This is an eZ publish term for classification. You can e.g. create a literal tag which renders text like normal pre html tag and a classification for this which is meant to show PHP code. You can then create a special template the this classification which could e.g. add syntax highlighting.

The classification variable is also available in the template so you can use this variable to set the CSS style. You would then need to change the template for table to read some thing like:

<table class="{$classification}">
....
</table>

The classification can be empty though, so you should check for this in your template and show a default classification.

--bård

Documentation: http://ez.no/doc

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.