Мне нужно применить шаблон XSLT к XML-файлу на Google Drive Sheet с помощью Google Apps Script.
У меня есть данные на Google Drive Sheet, и я читаю данные и создаю XML-файл, затем загружаю XSLT-шаблон в Drive и добавляю URL шаблона в XML-файл .....
Вот код:
var ssId = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
function doGet(e) {
var xml1 = '<?xml version="1.0" encoding="utf-8"?>';
var xml1 = xml1 + '<?xml-stylesheet type="text/xsl" href="https://drive.google.com/uc?export=download&id=XXXXXXXXXXXXXXXXX" ?>' ;
var xml1 = xml1 + "<houses></houses>";
var document = XmlService.parse(xml1);
var root = document.getRootElement();
var sh = SpreadsheetApp.openById(ssId) ;
var sheet = sh.getSheets();
var dades = sheet[0].getDataRange().getValues();
for(i in dades){
var row = dades[i];
if(i>0)
{
var titol = row[0];
var categoria = row[1];
var foto = row[2];
var preu = row[3];
var metres = row[4];
var pisos = row[5];
var row = XmlService.createElement('house');
var vbl = XmlService.createElement('name').setText(titol);
row.addContent(vbl)
var vbl = XmlService.createElement('category').setText(categoria);
row.addContent(vbl)
var row1 = XmlService.createElement('information');
var vbl = XmlService.createElement('foto').setText(foto);
row1.addContent(vbl);
var vbl = XmlService.createElement('price').setText(preu);
row1.addContent(vbl);
var vbl = XmlService.createElement('meters').setText(metres);
row1.addContent(vbl);
var vbl = XmlService.createElement('steps').setText(pisos);
row1.addContent(vbl);
row.addContent(row1);
root.addContent(row)
}
}
return ContentService.createTextOutput('<?xml version="1.0" encoding="utf-8"?> \n <?xml-stylesheet type="text/xsl" href="https://drive.google.com/uc?export=download&id=XXXXXXXXXXXXXXXXX" ?> \n' + XmlService.getPrettyFormat().format(root)).setMimeType(ContentService.MimeType.XML);
}
Когда я публикую сценарий, верните код XML правильно и добавьте строку URL-адреса XSLT, но не применяйте преобразование XSLT. Но когда я копирую код вывода и запускаюсь по локальному пути, преобразование XSLT выполняется правильно
Кто-нибудь может мне помочь?
Благодарю