XSLT - HTML 不带引号的 id 属性 <div id=myId>

XSLT - HTML id attribute without quotes <div id=myId>

对于我的输出 HTML 文件,我必须生成一个带有 id 属性的 div 元素,但是属性的值不应该放在引号中,就像在这个例子中:<div id=myID>...</div>。当我使用引号时,我想要的一切都能完美地工作,就像这里:<div class="myClass" id="{$myIdVariable}">...</div>。是否可以告诉 Oxygen 或 Saxon 忽略此类情况?但最后我使用了 java javax.xml.transform 包,我不知道,如果我能告诉我的 类 我过去常常忽略这样的事情。如果有人对这个问题有好的解决方案,或者甚至可以告诉我,使用 XSLT 是不可能的,我会很高兴...

我认为您的标题应该没有 引号"",而不是没有 括号()

不,XSLT 不会帮助您创建 XML 那不是 well-formed。 (你可以倒立并输出文本而不是 XML 来达到这样的效果,但不要那样做。)属性值 must 具有单引号 ' 或双引号 " 分隔符,标记为 XML。即使 HTML 输出选项也不会在没有引号分隔符的情况下序列化属性值。


在评论中,@Ole 提问:

In principle you are right, but I thought that in HTML5, also attributes without quotes are allowed?

是的,在 HTML5、unquoted attribute values are allowed 中,但您最好使用 single-quoted 和 double-quoted 属性值语法,它们在 HTML5,特别是如果您希望能够利用 XML 工具。