fnp
/
redakcja.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
przyporzadkuj -- minimum answers
[redakcja.git]
/
redakcja
/
static
/
js
/
wiki
/
xslt.js
diff --git
a/redakcja/static/js/wiki/xslt.js
b/redakcja/static/js/wiki/xslt.js
index
c7b846b
..
a97322a
100644
(file)
--- a/
redakcja/static/js/wiki/xslt.js
+++ b/
redakcja/static/js/wiki/xslt.js
@@
-17,7
+17,7
@@
function withStylesheets(code_block, onError)
if (!xml2htmlStylesheet) {
$.blockUI({message: 'Ładowanie arkuszy stylów...'});
$.ajax({
if (!xml2htmlStylesheet) {
$.blockUI({message: 'Ładowanie arkuszy stylów...'});
$.ajax({
- url: STATIC_URL + 'xsl/wl2html_client.xsl?20110
112
',
+ url: STATIC_URL + 'xsl/wl2html_client.xsl?20110
520
',
dataType: 'xml',
timeout: 10000,
success: function(data) {
dataType: 'xml',
timeout: 10000,
success: function(data) {
@@
-40,7
+40,7
@@
function withThemes(code_block, onError)
{
if (typeof withThemes.canon == 'undefined') {
$.ajax({
{
if (typeof withThemes.canon == 'undefined') {
$.ajax({
- url: '/themes',
+ url: '/
editor/
themes',
dataType: 'text',
success: function(data) {
withThemes.canon = data.split('\n');
dataType: 'text',
success: function(data) {
withThemes.canon = data.split('\n');
@@
-59,12
+59,15
@@
function withThemes(code_block, onError)
function xml2html(options) {
function xml2html(options) {
+ ALIEN_REGEX = /([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?&%."'=#()\/-]+)/g;
+
withStylesheets(function() {
var xml = options.xml.replace(/\/(\s+)/g, '<br />$1');
withStylesheets(function() {
var xml = options.xml.replace(/\/(\s+)/g, '<br />$1');
-
xml = xml.replace(/([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?
%."'=#()\/-]+)/g, '<alien>$1</alien>');
+
// xml = xml.replace(/([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?&
%."'=#()\/-]+)/g, '<alien>$1</alien>');
var parser = new DOMParser();
var serializer = new XMLSerializer();
var doc = parser.parseFromString(xml, 'text/xml');
var parser = new DOMParser();
var serializer = new XMLSerializer();
var doc = parser.parseFromString(xml, 'text/xml');
+ walk(doc.firstChild, wrapInTag(ALIEN_REGEX, 'alien'))
var error = $('parsererror', doc);
if (error.length == 0) {
var error = $('parsererror', doc);
if (error.length == 0) {
@@
-85,7
+88,7
@@
function xml2html(options) {
source.text('');
options.error(error.text(), source_text);
} else {
source.text('');
options.error(error.text(), source_text);
} else {
- options.success(doc.
firstChild
);
+ options.success(doc.
childNodes
);
withThemes(function(canonThemes) {
if (canonThemes != null) {
withThemes(function(canonThemes) {
if (canonThemes != null) {
@@
-253,8
+256,13
@@
HTMLSerializer.prototype.serialize = function(rootElement, stripOuter)
break;
case TEXT_NODE:
self.result += text_buffer;
break;
case TEXT_NODE:
self.result += text_buffer;
- text_buffer = token.node.nodeValue;
+ text_buffer = token.node.nodeValue
.replace(/&/g, '&').replace(/</g, '<')
;
break;
break;
+ case COMMENT_NODE:
+ self.result += text_buffer;
+ text_buffer = '';
+ self.result += '<!--' + token.node.nodeValue + '-->';
+ break;
};
};
self.result += text_buffer;
};
};
self.result += text_buffer;
@@
-358,7
+366,9
@@
HTMLSerializer.prototype._serializeElement = function(node) {
};
self.result += ' ' + self._join(nsData.prefix, node.getAttribute('x-attr-name-'+this));
};
self.result += ' ' + self._join(nsData.prefix, node.getAttribute('x-attr-name-'+this));
- self.result += '="'+node.getAttribute('x-attr-value-'+this) +'"';
+ var value = node.getAttribute('x-attr-value-'+this);
+ value = value.replace(/&/g, '&').replace(/</g, '<');
+ self.result += '="'+ value +'"';
});
/* print new namespace declarations */
});
/* print new namespace declarations */