Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba

Weird behavior when using <?xml version="1.0"?>


Go to End
Reply


5 Posts   1587 Views

Avatar
ddshore

Community Member, 12 Posts

21 February 2010 at 4:16am

Edited: 21/02/2010 4:18am

Hi,
I'm trying to use a gallery called galleriffic (http://www.twospy.com/galleriffic/), but for some reason, when using <?xml version="1.0"?> in my silverstripe document, the gallery isn't displayed. If I take out the <?xml version="1.0"?> it works fine. This is in a document called ArticlePage.ss. This only happens in silverstripe, if I copy paste the code that silverstripe produces and run it as a regular html document (and add the <?xml version again), it runs fine. This is my code, which is an exact copy paste from the galleriffic examples:

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" >
	<head> 
		
		<meta http-equiv="Content-type" content="text/html; charset=utf-8"/> 
		<title>Galleriffic | Minimal implementation</title> 
		<link rel="stylesheet" href="http://www.twospy.com/galleriffic/css/basaic.css" type="text/css" /> 
		<link rel="stylesheet" href="http://www.twospy.com/galleriffic/css/gallaeriffic-1.css" type="text/css" /> 
		<script type="text/javascript" src="http://www.twospy.com/galleriffic/js/jquery-1.3.2.js"></script> 
		<script type="text/javascript" src="http://www.twospy.com/galleriffic/js/jquery.galleriffic.js"></script> 
	</head> 
	<body> 
		<div id="page"> 
			<div id="container"> 
				<h1><a href="index.html">Galleriffic</a></h1> 
				<h2>Minimal implementation</h2> 
 
				<!-- Start Minimal Gallery Html Containers --> 
				<div id="gallery" class="content"> 
					<div id="controls" class="controls"></div> 
					<div class="slideshow-container"> 
						<div id="loading" class="loader"></div> 
						<div id="slideshow" class="slideshow"></div> 
					</div> 
				</div> 
				<div id="thumbs" class="navigation"> 
					<ul class="thumbs noscript"> 
						<li> 
							<a class="thumb" href="http://farm4.static.flickr.com/3261/2538183196_8baf9a8015.jpg" title="Title #0">Title #0</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm3.static.flickr.com/2404/2538171134_2f77bc00d9.jpg" title="Title #1">Title #1</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm3.static.flickr.com/2093/2538168854_f75e408156.jpg" title="Title #2">Title #2</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm4.static.flickr.com/3153/2538167690_c812461b7b.jpg" title="Title #3">Title #3</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm4.static.flickr.com/3150/2538167224_0a6075dd18.jpg" title="Title #4">Title #4</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm4.static.flickr.com/3204/2537348699_bfd38bd9fd.jpg" title="Title #5">Title #5</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm4.static.flickr.com/3124/2538164582_b9d18f9d1b.jpg" title="Title #6">Title #6</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm4.static.flickr.com/3205/2538164270_4369bbdd23.jpg" title="Title #7">Title #7</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm4.static.flickr.com/3211/2538163540_c2026243d2.jpg" title="Title #8">Title #8</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm3.static.flickr.com/2315/2537343449_f933be8036.jpg" title="Title #9">Title #9</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm3.static.flickr.com/2167/2082738157_436d1eb280.jpg" title="Title #10">Title #10</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm3.static.flickr.com/2342/2083508720_fa906f685e.jpg" title="Title #11">Title #11</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm3.static.flickr.com/2132/2082721339_4b06f6abba.jpg" title="Title #12">Title #12</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm3.static.flickr.com/2139/2083503622_5b17f16a60.jpg" title="Title #13">Title #13</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm3.static.flickr.com/2041/2083498578_114e117aab.jpg" title="Title #14">Title #14</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm3.static.flickr.com/2149/2082705341_afcdda0663.jpg" title="Title #15">Title #15</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm3.static.flickr.com/2014/2083478274_26775114dc.jpg" title="Title #16">Title #16</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm3.static.flickr.com/2194/2083464534_122e849241.jpg" title="Title #17">Title #17</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm4.static.flickr.com/3127/2538173236_b704e7622e.jpg" title="Title #18">Title #18</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm3.static.flickr.com/2375/2538172432_3343a47341.jpg" title="Title #19">Title #19</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm3.static.flickr.com/2353/2083476642_d00372b96f.jpg" title="Title #20">Title #20</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm3.static.flickr.com/2201/1502907190_7b4a2a0e34.jpg" title="Title #21">Title #21</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm2.static.flickr.com/1116/1380178473_fc640e097a.jpg" title="Title #22">Title #22</a> 
						</li> 
 
						<li> 
							<a class="thumb" href="http://farm2.static.flickr.com/1260/930424599_e75865c0d6.jpg" title="Title #23">Title #23</a> 
						</li> 
					</ul> 
				</div> 
				<!-- End Minimal Gallery Html Containers --> 
				<div style="clear: both;"></div> 
			</div> 
		</div> 
		<div id="footer">&copy; 2009 Trent Foley</div> 
		<script type="text/javascript"> 
			// We only want these styles applied when javascript is enabled
			$('div.navigation').css({'width' : '300px', 'float' : 'left'});
			$('div.content').css('display', 'block');
 
			$(document).ready(function() {				
				// Initialize Minimal Galleriffic Gallery
				$('#thumbs').galleriffic({
					imageContainerSel:      '#slideshow',
					controlsContainerSel:   '#controls'
				});
			});
		</script> 
	</body> 
</html>

Anybody have any clue as to what could be going on?

Avatar
banal

Community Member, 901 Posts

21 February 2010 at 5:07am

Edited: 21/02/2010 5:08am

Some browsers are very picky when you have a XML header like you described. I suggest you remove it, it doesn't have to be there. If you want to keep it nevertheless, pay attention to the following things:

Always escape Varchar fields using $FieldName.XML, when in attributes using $FieldName.ATT
Example:

<a href="$Link" title="$Title.ATT" >$Title.XML</a>

Always wrap JavaScript in a <![CDATA[ block.
Example:

<script type="text/javascript">
/* <![CDATA[ */
	alert('Hi');
/* ]]> */
</script>

The comments /* */ are required, because otherwise IE 6 won't execute the JS code.

Don't use document.write in your JavaScript. document.write isn't allowed in XML documents, which breaks a lot of copy-paste scripts you find on the net (like google analytics)

Avatar
ddshore

Community Member, 12 Posts

21 February 2010 at 5:15am

That didn't seem to be it.
I removed it (it was just there because I was following the silverstripe tutorial), but still, I don't understand why this only happens with the pages silverstripe generates.

Avatar
banal

Community Member, 901 Posts

21 February 2010 at 6:54am

Did you save the generated content of SilverStripe into a HTML File and this file didn't cause the issue? That would be astonishing.
If you got a HTML file, and code generated by SilverStripe, why not run a diff and find the differences between the two?

Avatar
ddshore

Community Member, 12 Posts

22 February 2010 at 10:15am

that's exactly what i did.
Except that I added the <?xml at the beginning, since that won't show up in the html that's generated.
If I did this, what would I run the diff against?