Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
Pages: 1
error message with yco_xsl
I’ve written my first plugin, but have some errors…
I don’t know what’s wrong.
- yco_xsl v$Rev$
- yco_xsl translate xml using xsl stylesheet
- yarco
- http://my.opera.com/yarco/blog
- …………………………………………………………….
- This is a plugin for Textpattern – http://textpattern.com/
- To install: textpattern > admin > plugins
- Paste the following text into the ‘Install plugin’ box:
- …………………………………………………………….
YTo5OntzOjQ6Im5hbWUiO3M6NzoieWNvX3hzbCI7czo3OiJ2ZXJzaW9uIjtzOjU6IiRSZXYkIjtzOjY6
ImF1dGhvciI7czo1OiJ5YXJjbyI7czoxMDoiYXV0aG9yX3VyaSI7czozMDoiaHR0cDovL215Lm9wZXJh
LmNvbS95YXJjby9ibG9nIjtzOjExOiJkZXNjcmlwdGlvbiI7czo0MjoieWNvX3hzbCB0cmFuc2xhdGUg
eG1sIHVzaW5nIHhzbCBzdHlsZXNoZWV0IjtzOjQ6InR5cGUiO2k6MDtzOjQ6ImhlbHAiO3M6ODAzOiIJ
PGgxPnljb194c2w8L2gxPgoJPHA+dHJhbnNsYXRlIHhtbCBzdHJpbmcvZmlsZSB1c2luZyB4c2wsIG5v
cm1hbGx5IHRvIGh0bWw8L3A+Cgk8aDI+Tm90aWNlPC9oMj4KCTxwIHN0eWxlPSJjb2xvcjojOTkwMDAw
OyI+eW91IG11c3QgaGF2ZSBsYXRlc3QgdmVyc2lvbiBvZiBwaHAuIGRvbSBhbmQgeHNsIGV4dGVuc2lv
biBzaG91bGQgYmUgZW5hYmxlZC48L3A+Cgk8aDI+QXR0cmlidXRlcwoJPHVsPgoJCTxsaT48Yj54bWw8
L2I+ICYjODIxMTsgb3B0aW9uYWwsIHRoZSBzdHJpbmcgb2YgeG1sIGZpbGUgbmFtZS4gSWYgbm8gdGhp
cyBhdHRpYnV0ZSwgdGhlIGNvbnRlbnQgc2hvdWxkIGJlIHRoZSB4bWwgc3RyaW5nPC9saT4KCQk8bGk+
PGI+eHNsPC9iPiAmIzgyMTE7IG5lZWRlZCwgeHNsIGZpbGUgbmFtZTwvbGk+Cgk8L3VsPjwvaDI+Cgk8
aDI+RXhhbXBsZXMKCTx1bD4KCQk8bGk+PGNvZGU+Jmx0O3R4cDp5Y29feHNsIHhtbD0ibXkueG1sIiB4
c2w9Im15LnhzbCIgLyZndDs8L2NvZGU+PC9saT4KCQk8bGk+PGNvZGU+Jmx0O3R4cDp5Y29feHNsIHhz
bD0ibXkueHNsIiZndDsmbHQ7Ym9vayZndDsmbHQ7dGl0bGUmZ3Q7YSB0aXRsZSZsdDsvdGl0bGUmZ3Q7
Jmx0O3ByaWNlJmd0OzEuMCZsdDsvcHJpY2UmZ3Q7Jmx0Oy9ib29rJmd0OyZsdDsvdHhwOnljb194c2wm
Z3Q7PC9jb2RlPjwvbGk+Cgk8L3VsPjwvaDI+Cgk8aDI+QWJvdXQ8L2gyPgoJPHA+aWYgeW91IGhhdmUg
YW55IHN1Z2dlc3Rpb24sIHlvdSBjYW4gY29udGFjdCA8YSBocmVmPSJtYWlsdG86eWFyY28ud0BnbWFp
bC5jb20iPm1lPC9hPi48L3A+CgoKICI7czo0OiJjb2RlIjtzOjcwMToiCmZ1bmN0aW9uIHljb194c2wo
JGF0dHMgPSBhcnJheSgpLCAkdGhpbmcgPSAnJykKewoJZXh0cmFjdChsQXR0cygKCQkJYXJyYXkoCgkJ
CQkneG1sJyA9PiAnJywKCQkJCSd4c2wnID0+ICcnLAoJCQkpLCAkYXR0cykpOwkKCgkkcm9vdCA9IGRp
cm5hbWUodHhwYXRoKTsKCQoJJHhtbGRvbSA9IG5ldyBET01Eb2N1bWVudCgpOwoJaWYgKGVtcHR5KCR4
bWwpKQoJewoJCSR4bWxkb20tPmxvYWRYTUwoJHRoaW5nKTsKCX0KCWVsc2UgaWYgKGZpbGVfZXhpc3Rz
KCR4bWxfZmlsZSA9ICIkcm9vdC9maWxlcy8keG1sIikgJiYgaXNfcmVhZGFibGUoJHhtbF9maWxlKSkK
CXsKCQkkeG1sZG9tLT5sb2FkKCR4bWxfZmlsZSk7Cgl9CgllbHNlCgl7CgkJcmV0dXJuICcnOwoJfQoK
CSR4c2xkb20gPSBuZXcgRE9NRG9jdW1lbnQoKTsKCWlmIChmaWxlX2V4aXN0cygkeHNsX2ZpbGUgPSAi
JHJvb3QvZmlsZXMvJHhzbCIpICYmIGlzX3JlYWRhYmxlKCR4c2xfZmlsZSkpCgl7CgkJJHhzbGRvbS0+
bG9hZCgkeHNsX2ZpbGUpOwoJfQoJZWxzZQoJewoJCXJldHVybiAnJzsKCX0KCgkkcGFyc2VyID0gbmV3
IFhTTFRQcm9jZXNzb3IoKTsKCSRwYXJzZXItPmltcG9ydFN0eWxlU2hlZXQoJHhzbGRvbSk7CgkKCXJl
dHVybiBzdHJfcmVwbGFjZSgnPD94bWwgdmVyc2lvbj0iMS4wIj8+JywgJycsICRwYXJzZXItPnRyYW5z
Zm9ybVRvWE1MKCR4bWxkb20pKTsKfQoiO3M6MzoibWQ1IjtzOjMyOiJjMTA3N2E1YmQzY2RkMTA2ZGQ3
NjA3ZWU5NTkwZWQ5NiI7fQ==
</code>
I use it like this:
<code>
<txp:yco_xsl xsl=“1.xsl”>
<thebook>
<thetitle>a book</thetitle>
<thecontent>this is a book</thecontent>
</thebook>
</txp:yco_xsl>
</code>
1.xsl is under /your_textpattern_webiste/files like this:
<code>
<?xml version=“1.0”?>
<xsl:stylesheet xmlns:xsl=“http://www.w3.org/1999/XSL/Transform” version=“1.0”>
<xsl:template match=”/”>
book:
title: <xsl:value-of select=“thebook/thetitle” />
content: <xsl:value-of select=“thebook/thecontent” />
</xsl:template>
</xsl:stylesheet>
</code>
without textpattern, it works ok.
<code>
<?php
$xml = <<<EOF
<thebook>
<thetitle>a book</thetitle>
<thecontent>this is a book</thecontent>
</thebook>
EOF;
$dom = new DOMDocument;
$dom->loadXML($xml);
$xsl = new DOMDocument;
$xsl->load(‘1.xsl’);
$parser = new XSLTProcessor();
$parser->importStylesheet($xsl);
print $parser->transformToXML($dom);
?>
</code>
When using in the website, it is said:
<code>
An error occurred in the following tag: <txp:yco_xsl xsl=“1.xsl”> -> Warning: DOMDocument::loadXML() [function.loadXML]: Extra content at the end of the document in Entity, line: 2 on line 15
</code>
I don’t know how to do it?
What’s wrong with it?
???It seems the code tag here, here(this forum) does’t work very well…
Last edited by yarco (2006-07-30 17:16:14)
Offline
#2 2006-07-30 22:53:53
- zem
- Developer Emeritus

- From: Melbourne, Australia
- Registered: 2004-04-08
- Posts: 2,579
Re: error message with yco_xsl
You’ll need to debug the code. dmp() is your friend.
Alex
Offline
Re: error message with yco_xsl
Then… i get the point.
Txp translate content like this:
#. textile first
#. then customer tag
(It seems i’m not very familar with textile.)
Erm…I think customer tag should be translated first, because customer tag stand for data layer, and textile is the presentation layer.
When i use yco_xsl with textile enabled, it firstly add <br /> to each line end and then step into my code. So the parser complained.
When i shut down textile, it works fine.
Last edited by yarco (2006-07-31 14:26:37)
Offline
#4 2006-07-31 23:14:20
- zem
- Developer Emeritus

- From: Melbourne, Australia
- Registered: 2004-04-08
- Posts: 2,579
Offline
Pages: 1