使用xslt 2.0将属性设置为根元素(Puting attributes to the root-element with xslt 2.0)

是否可以使用xslt 2.0将xml:lang或lang属性放入html根元素 ?

问题是, xsl:stylesheet唯一允许的属性是: id , exclude-result-prefixes , extension-element-prefixes , version ,当然还有xmlns 。 任何xslt-processor都会忽略其他属性。

必须有一种方法来扩展元素我希望?

非常感谢。

代码(在这种情况下为xhtml):

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"

xmlns:fn="http://www.w3.org/2005/xpath-functions"

xmlns:xs="http://www.w3.org/2001/XMLSchema"

xmlns:tst="http://www.ma-buwi-fh.de"

xmlns="http://www.w3.org/1999/xhtml"

xml:lang="de">

encoding="UTF-8"

indent="yes"

doctype-public='-//W3C//DTD XHTML 1.1//EN'

doctype-system='http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'

/>

结果如下:

<?xml version="1.0" encoding="UTF-8"?>/p>

PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

xmlns:fn="http://www.w3.org/2005/xpath-functions"

xmlns:tst="http://www.ma-buwi-fh.de"

xmlns="http://www.w3.org/1999/xhtml">

Is it possible to put a xml:lang or lang attribute to the html root-element using xslt 2.0?

The problem is, that the only allowed attributes for xsl:stylesheet are: id, exclude-result-prefixes, extension-element-prefixes, version and of course xmlns. Other attributes are being ignored by any xslt-processor.

There must be a way to extend the element I hope?

Thanks a lot.

Code (xhtml in this case):

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"

xmlns:fn="http://www.w3.org/2005/xpath-functions"

xmlns:xs="http://www.w3.org/2001/XMLSchema"

xmlns:tst="http://www.ma-buwi-fh.de"

xmlns="http://www.w3.org/1999/xhtml"

xml:lang="de">

encoding="UTF-8"

indent="yes"

doctype-public='-//W3C//DTD XHTML 1.1//EN'

doctype-system='http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'

/>

The result looks like this:

<?xml version="1.0" encoding="UTF-8"?>/p>

PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

xmlns:fn="http://www.w3.org/2005/xpath-functions"

xmlns:tst="http://www.ma-buwi-fh.de"

xmlns="http://www.w3.org/1999/xhtml">

原文:https://stackoverflow.com/questions/21484455

更新时间:2019-06-12 10:32

最满意答案

您错误地将stylesheet元素(XSLT样式表的根元素) html (HTML文档的根元素)。

您引用的属性是stylesheet元素允许的属性。 请参阅此处的规范的相关部分。

因此,在输出的html元素上指定lang属性,而不是在stylesheet元素上指定。

如果您希望任何人诊断您的实际问题,您必须显示您的XSLT代码。

You are mistaking the stylesheet element (the root element of an XSLT stylesheet) for html (the root element of an HTML document).

The attributes you cite are the ones allowed for the stylesheet element. See the relevant part of the specification here.

So, specify the lang attribute on the html element you output, not on the stylesheet element.

If you want anyone to diagnose your actual problem, you must needs show your XSLT code.

相关问答

您错误地将stylesheet元素(XSLT样式表的根元素) html (HTML文档的根元素)。 您引用的属性是stylesheet元素允许的属性。 请参阅此处的规范的相关部分。 因此,在输出的html元素上指定lang属性,而不是在stylesheet元素上指定。

...

我会将元素推送到身份转换,请参阅http://xsltransform.net/bdxtqy <?xml version="1.0" encoding="UTF-8" ?>

...

您正在寻找的模式是“修改的身份转换”。 这种方法的基础是身份转换规则,这是下面样式表中的第一个模板规则。 之后的每条规则都表示复制行为的例外。

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

...

QtWebKit和xslt总是分开的,将它们组合起来总是一个待办事项 - 不确定当前状态是什么,但你可以用示例轻松测试它。 或者按照http://labs.trolltech.com/blogs/2010/03/03/qtwebkit-releases/ QtWebKit and xslt were always seprate, combining them was always a todo - not sure what the current status is but you can e

...

即使在xslt模板中没有有效的属性分隔符,它也适用于MS Visual Studio 2013。 尝试这个 <?xml version="1.0" encoding="UTF-8"?>

...

没有一个浏览器本身支持XSLT 2.0。 但是,您可以通过Saxon-CE库在浏览器中使用XSLT 2.0。 请参阅http://www.saxonica.com/ce/user-doc/1.1/index.html上的文档(它本身使用Saxon-CE进行渲染)。 None of the browsers support XSLT 2.0 natively. However, you can use XSLT 2.0 in the browser via the Saxon-CE library.

...

这应该完成你所描述的:

xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

exclude-result-prefixes="xsi">

...

除了将version属性更改为'2.0' ,还需要将XSLT 2.0代码提供给XSLT 2.0处理器 。 目前,我使用的一些XSLT 2.0处理器是: Saxon 9.x XQSharp 2.0 AltovaXML (XMLSpy) 请注意 ,现有的XSLT 1.0代码在XSLT 2.0下可能会有不同的行为 - 最明显的区别是不再生成来自节点集的第一个节点的字符串值,以及XSLT中的字符串值2.0已经消除了可怕的RTF类型,因此不需要/提供xxx:node-set()扩

...

在我看来,XSLT 2.0已经很好了: 推荐w3c 但我真的不确定,它是否已经得到支持。 编辑: 维基百科说: XSLT由万维网联盟(W3C)开发。 最新版本是XSLT 2.0 [4],它于2007年1月23日达到W3C推荐状态。然而,截至2010年,XSLT 1.0 [5]仍然被广泛使用,因为没有产品支持在浏览器中运行XSLT 2.0 ,也不是某些重要的服务器环境,如LAMP。 XSLT 2.0 is already finished: W3C recommendation But it see

...

libxslt实现了XSLT 1.0。 这是它的初始范围: Libxslt-0.1.0是第一个测试版,它应该涵盖XSLT-1.0规范中的大多数功能,但它显然尚未完成。 检查FEATURES文件以获得准确的想法。 这是目前的范围: Libxslt是为GNOME项目开发的XSLT C库。 XSLT本身是一种XML语言,用于定义XML的转换。 Libxslt基于libxml2,它是为GNOME项目开发的XML C库。 它还实现了大多数EXSLT处理器可移植扩展函数集以及Saxon的一些评估和表达式扩展。

...

QT使用xsl将xml为html,使用xslt 2.0将属性设置为根元素(Puting attributes to the root-element with xslt 2.0)...相关推荐

  1. C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素”

    C#反序列化XML异常:在 XML文档(0, 0)中有一个错误"缺少根元素" 参考文章: (1)C#反序列化XML异常:在 XML文档(0, 0)中有一个错误"缺少根元素 ...

  2. 一文读懂qt界面设计(分裂器,布局,拉伸,各种属性设置)

    可以先看看我这个文章:qt关于界面设计中的一些知识总结_我是标同学的博客-CSDN博客_qt 水平伸展 现在我们来正式开始讲解. 布局种类 qt中能称为布局管理器的有如下6个: 水平布局(QHBoxL ...

  3. XML 文档(0, 0)中有错误。缺少根元素。

    function T Validate(string str){ using (MemoryStream ms = new MemoryStream()) { foreach (byte _byte ...

  4. 【Qt】DOM读取XML文档

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. XML文档示例 04. DOM读取XML文档内容 05. 预留 06. 附录 01. 概述 DOM(Document Ob ...

  5. html xsl xml文件,用XSL显示XML文件看起来像HTML

    我是标记语言的新手,需要显示HTML表格,将其转换为XML,然后使用与HTML相同的XSL显示它.下面是一些HTML表格:用XSL显示XML文件看起来像HTML cellpadding="5 ...

  6. java xml html_使用Java将XSL和XML文件输出为HTML(XSL学习笔记二)

    XSL 指扩展样式表语言(EXtensible Stylesheet Language),前面一篇博客介绍了使用XSL即可直接将XML输出为HTML片段被浏览器解析,但是这样在web应用中浏览器的解析 ...

  7. 使用xsl将xml转化为HTML文档,基于XSL将XML文档转换为HTML格式文档的方法与流程

    技术特征: 1.一种基于XSL将XML文档转换为HTML格式文档的方法,其特征在于,包括: S1,新建一个与XML文档同名的HTML格式文档: S2,定义转换算法,实现XML文档到HTML格式文档的转 ...

  8. 利用可扩展样式表语言xsl显示xml文档

    实验环境:xmlspy2013 firefox: 一.问题: 1.对于下列XML文档,根据要求编写在XML文档上对应的XSL样式表. <?xml version="1.0" ...

  9. html显示xml xsl,XML入门教程:使用XSL显示XML

    通过使用XSL,您可以向XML文档添加显示信息. 使用XSL显示XML XSL是首选的XML样式表语言. XSL远比CSS更加完善.使用XSL的方法之一是在浏览器显示XML文件之前,先把它转换为HTM ...

最新文章

  1. JS异步编程之callback
  2. Ubuntu默认密码,及其修改
  3. 解决 LLVM 错误 cannot specify -o when generating multiple output files
  4. HH SaaS电商系统的销售订单毛利润模块设计
  5. linux冷备机怎么切换,linux – 热备用主机vs冷备用主机?
  6. 50道 JavaScript 经典面试题汇总篇
  7. js中的preventDefault与stopPropagation详解(转)
  8. Zabbix监控和分布式部署实施方案
  9. css字体及css文本控制
  10. jieba 同义词_jieba分词详解
  11. WPF实现截图功能——WPF制作文字OCR软件(三)
  12. 【实战项目惜时App项目总结分析】Vue-cli3+Vant UI+Vue-element-admin+Egg.js+Mysql
  13. 【清华大学】操作系统 陈渝 Part2 —— 中断、异常和系统调用
  14. css 小尖角,css如何实现气泡的小尖角效果 css实现气泡的小尖角效果代码示例
  15. python operator用法_说说 Python 中的 Operator 模块
  16. Rufus轻松创建USB启动盘
  17. Xcode命令行简单了解一下
  18. 跨境电商|为什么客户服务中沟通很重要?
  19. 还在纠结配色问题?手把手教你用MATLAB一键生成高质量色卡
  20. 如何学习Unity3D

热门文章

  1. 添加功能---jsp,servlet
  2. NC7-买卖股票的最好时机
  3. python全栈之nginx安装
  4. 高并发分布式系统中生成全局唯一(订单号)Id
  5. 数据库的使用你可能忽略了这些 (续)
  6. CAS5.2x单点登录(一)——搭建cas服务器
  7. 配置apache虚拟主机
  8. MSMQ消息队列安装
  9. 分布式数据库——TiDB的介绍和基本原理
  10. PHP 连接 Rabbitmq 实例代码(亲测通过)