我是一个Atom用户,但我正在切换到Visual代码。在Atom中编辑XML时,我可以根据XML头的XSL文件(下面复制)预览其HTML的外观。为此,我使用Atom浏览器或Browser Plus包,因此不需要执行任何任务或生成HTML文件,只需单击Preview即可。
我想知道在VSCode中是否有任何类似的方法。谢谢。
<?xml version='1.0' encoding ='UTF-8' ?>
<?xml-stylesheet type='text/xsl' href='.../styles.xsl'?>
<!DOCTYPE TEI SYSTEM '.../dtd.dtd'>
发布于 2022-09-13 08:17:36
简单地说,答案是否定的,但你可能仍然能够实现你所需要的--只要付出一点点努力。
Visual没有任何内置的XSLT功能(有一个XSLT/XPath语言扩展,但这缺乏您想要的预览功能)。据我所知,也没有Visual代码扩展提供由XSLT驱动的通用“HTML预览”功能。
但是,您可以选择编写自己的WebView扩展来以这种方式预览XTXT样式表模块集(由于安全限制)。XSLT将在扩展中维护。
CALS表查看器扩展 (我所维护的)作为一个“模板项目”可能很有用,您可以修改它以满足您的需要。扩展使用撒克逊-JS XSLT3.0处理器。
有相当多的锅炉板代码,但首先,您只需要在您自己的(编译的) XSLT中进行替换。下面是JavaScript语句,它返回WebView HTML以给您一个想法:
return `<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!--
Use a content security policy to only allow loading images from https or from our extension directory,
and only allow scripts that have a specific nonce.
-->
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src ${webview.cspSource}; connect-src ${webview.cspSource}; img-src ${webview.cspSource} https:; script-src 'nonce-${nonce}';">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="${stylesResetUri}" rel="stylesheet">
<link href="${stylesMainUri}" rel="stylesheet">
<title>CALS Table Viewer</title>
</head>
<body>
<div id="main"></div>
<div id="end"></div>
<script nonce="${nonce}">var saxonData = {'sef': ${JSON.stringify(this.sefURI)}}</script>
<script nonce="${nonce}" src="${scriptSaxonUri}"></script>
<script nonce="${nonce}" src="${scriptUri}"></script>
</body>
</html>`;
https://stackoverflow.com/questions/73661759
复制相似问题