问题标签 [xml-entities]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
63 浏览

json - Camel Json 到 XML,XML 实体呢?

使用 Camel 转换,Json 到 XML,与

并应用转换:

我确实可以将Json转换成XML,但是没有xml实体转换,

通常,如果某些文本包含“&”这个字符,它不会被重写为“&”,

有什么办法可以做到这一点?

0 投票
1 回答
150 浏览

jsf - XML 实体不呈现

使用h:outputText我想显示一个左箭头←使用←。但它只是不在页面上呈现(甚至在检查元素输出中也不呈现)。我做错了什么?

在此处输入图像描述

0 投票
2 回答
432 浏览

xml - 使用 perl LibXML Element->getAttribute() 而不在值中扩展 unicode 实体

我目前正在尝试创建一个使用 LibXML 处理 SVG 字体数据的 perl 脚本。

在 SVG 字体中,每个字符都被定义为具有 unicode 属性的字形元素,该属性以 unicode 实体的形式定义其 unicode 地址;像这样:

我想做的部分事情是获取每个字形元素的 unicode 属性的值,然后像字符串一样处理它。但是,当我使用 Element->getAttribute('unicode'); 针对字形节点,它返回一个显示为占位符矩形的“宽字符”,这让我相信它将 unicode 实体扩展为一个 unicode 字符并返回它。

当我创建我的解析器时,我将 expand_entities 设置为 0,所以我不确定我还能做些什么来防止这种情况。我对 XML 处理相当陌生,所以我不确定我是否真的了解正在发生的事情,或者这是否应该是可以预防的。

这是一个代码示例:

注意:如果我运行 print $myGlyph->toString();,输出中的 unicode 实体不会被扩展,因此我得出结论,扩展发生在 getAttribute 方法中。

0 投票
0 回答
142 浏览

java - 更新 XML 文件时缺少实体声明 - Java

我有一个像上面那样的 XML。

我正在使用下面的代码来解析 XML 和更新属性。

我正在使用 DOM Parser 来解析 XML 文件并使用 Java 中的 Transformer 更新内容。

更新 XML 文件时,DOCTYPE&product-info; &item-info; 被删除。

如何使用 Java 而不是任何第三方库来保留值?

0 投票
1 回答
73 浏览

xml - XSL 实体定义被忽略 - 为什么?

我正在编写一个将 XML 转换为 markdown 文本的 XSL 文件。我想将 HTML 实体转换为它们自己,例如“®” 在 XML 中的一段文本中将产生“®” 在输出文件中。我不想翻译“®” 到其十六进制等效值,这可能会扰乱下游流程。

在我看来,下面的声明应该做我需要的,当紧跟在 <?xml...?> 标记之后:

但是,当我处理 XML 文件时,XSL 处理器 (Saxonica HE) 在每次使用实体时都会发出如下消息:

我做错了什么?

0 投票
1 回答
98 浏览

xml - Spark XML 似乎不适用于 XML 实体(例如 &myentity;)

我正在使用 Spark XML 解析包含一些用户定义实体的大型文档。这是文件中的一个简单片段

可以在 XML 文档中找到的内联 DTD 中正确定义了实体,例如这里

但是,在模式检测阶段解析失败......

原因似乎是用户定义的实体:当我转义它们(例如&amp;unc;)时,一切都会再次运行。

我该如何解决这个问题?

0 投票
1 回答
53 浏览

html - XML 字符实体不解析

我正在使用 server.xml 文件...

情况1:

catalina.properties我已经宣布app.name

案例二:

问题是为什么案例 2 有效而案例 1 无效?为什么万一 1 XML 实体不解析?

即输出是:

0 投票
1 回答
401 浏览

java - Java 11 XML 解析器在 XHTML 1.1 文档上调用 normalizeDocument() 时暂停并显示实体错误

我在 Windows 10 上使用 Java 11 (AdoptOpenJDK 11.0.5 2019-10-15)。我有一些想要处理的旧 XHTML 1.1 文件。它们采用以下一般形式:

为了避免解析器等待连接到 Internet,我安装了一个自定义程序来加载存储在程序资源中的EntityResolver已知实体(从它们的公共 ID,例如)。-//W3C//ELEMENTS XHTML Inline Style 1.0//EN此类DefaultEntityResolver还打印调试消息,指示解析器正在加载哪些实体。

这是我解析的基本形式:

由于 中的调试消息DefaultEntityResolver,我可以看到解析器按此顺序加载了以下实体。

  • -//W3C//DTD XHTML 1.1//EN( http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd)
  • -//W3C//ELEMENTS XHTML Inline Style 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-inlstyle-1.mod)
  • -//W3C//ENTITIES XHTML Datatypes 1.0//EN( http://www.w3.org/TR/xhtml11/DTD/xhtml-datatypes-1.mod)
  • -//W3C//ENTITIES XHTML Modular Framework 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-framework-1.mod)
  • -//W3C//ENTITIES XHTML Datatypes 1.0//EN( http://www.w3.org/TR/xhtml11/DTD/xhtml-datatypes-1.mod)
  • -//W3C//ENTITIES XHTML Qualified Names 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-qname-1.mod)
  • -//W3C//ENTITIES XHTML Intrinsic Events 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-events-1.mod)
  • -//W3C//ENTITIES XHTML Common Attributes 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-attribs-1.mod)
  • -//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml11-model-1.mod)
  • -//W3C//ENTITIES XHTML Character Entities 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-charent-1.mod)
  • -//W3C//ENTITIES Latin 1 for XHTML//EN( http://www.w3.org/MarkUp/DTD/xhtml-lat1.ent)
  • -//W3C//ENTITIES Symbols for XHTML//EN( http://www.w3.org/MarkUp/DTD/xhtml-symbol.ent)
  • -//W3C//ENTITIES Special for XHTML//EN( http://www.w3.org/MarkUp/DTD/xhtml-special.ent)
  • -//W3C//ELEMENTS XHTML Text 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-text-1.mod)
  • -//W3C//ELEMENTS XHTML Inline Structural 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-inlstruct-1.mod)
  • -//W3C//ELEMENTS XHTML Inline Phrasal 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-inlphras-1.mod)
  • -//W3C//ELEMENTS XHTML Block Structural 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-blkstruct-1.mod)
  • -//W3C//ELEMENTS XHTML Block Phrasal 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-blkphras-1.mod)
  • -//W3C//ELEMENTS XHTML Hypertext 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-hypertext-1.mod)
  • -//W3C//ELEMENTS XHTML Lists 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-list-1.mod)
  • -//W3C//ELEMENTS XHTML Editing Elements 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-edit-1.mod)
  • -//W3C//ELEMENTS XHTML BIDI Override Element 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-bdo-1.mod)
  • -//W3C//ELEMENTS XHTML Ruby 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-ruby-1.mod)
  • -//W3C//ELEMENTS XHTML Presentation 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-pres-1.mod)
  • -//W3C//ELEMENTS XHTML Inline Presentation 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-inlpres-1.mod)
  • -//W3C//ELEMENTS XHTML Block Presentation 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-blkpres-1.mod)
  • -//W3C//ELEMENTS XHTML Link Element 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-link-1.mod)
  • -//W3C//ELEMENTS XHTML Metainformation 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-meta-1.mod)
  • -//W3C//ELEMENTS XHTML Base Element 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-base-1.mod)
  • -//W3C//ELEMENTS XHTML Scripting 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-script-1.mod)
  • -//W3C//ELEMENTS XHTML Style Sheets 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-style-1.mod)
  • -//W3C//ELEMENTS XHTML Images 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-image-1.mod)
  • -//W3C//ELEMENTS XHTML Client-side Image Maps 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-csismap-1.mod)
  • -//W3C//ELEMENTS XHTML Server-side Image Maps 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-ssismap-1.mod)
  • -//W3C//ELEMENTS XHTML Param Element 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-param-1.mod)
  • -//W3C//ELEMENTS XHTML Embedded Object 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-object-1.mod)
  • -//W3C//ELEMENTS XHTML Tables 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-table-1.mod)
  • -//W3C//ELEMENTS XHTML Forms 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-form-1.mod)
  • -//W3C//ELEMENTS XHTML Document Structure 1.0//EN( http://www.w3.org/MarkUp/DTD/xhtml-struct-1.mod)

请注意,其中一些实体不再存在于指定的 URL;尽管如此,我DefaultEntityResolver已经将这些实体存储并键入了它们的公共 ID,因此仍将它们提供给解析器。

到目前为止,一切都很好。但是当我立即调用时document.normalizeDocument(),程序会暂停然后打印:

请注意,这不是打印这些错误的程序;显然是里面的东西document.normalizeDocument()。此外,这里还有另外两个好奇心:

  • 如果我从 Eclipse 中运行我的应用程序,则不会发生这种情况。
  • 如果我禁用我的网络连接,这不会发生。

我最好的猜测是document.normalizeDocument()没有使用EntityResolver我在文档生成器中安装的自定义。因为某些实体不再存在于其预期的 URL(例如http://www.w3.org/TR/xhtml11/DTD/xhtml-datatypes-1.mod),它们无法加载,因此指示的引用实体永远不会被定义。但是,Web 服务器需要很长时间才能响应实体丢失(因为您可以手动测试),这使得程序似乎暂停了。这也可以解释为什么当我的网络连接被禁用时错误消息没有出现;我猜无法加载任何外部实体,立即失败,但这不被视为错误。(不过,这些都不能解释为什么它在 Eclipse 中没有暂停或错误消息。)

事实上,DOMConfiguration文档提示我需要设置某种resource-resolver参数,尽管我不确定为什么DOMConfiguration不默认使用我在用于解析 XML 文档的原始文档构建器中设置的实体解析器。

为了让事情有点奇怪,我将上面的 XHTML 1.1 框架文档放在我的资源中,并创建了一个与上面的代码完全相同的单元测试,然后是document.normalizeDocument(),测试通过,没有停顿也没有错误,即使是从命令行

但是,如果我for(int i = 0; i < 100; i++)在单元测试中放置一个循环;加载、解析和规范化文档 100 次(但使用相同的DocumentBuilderFactory);我的单元测试完全崩溃了分叉的单元测试JVM!

所以我想我想避免document.normalizeDocument(),但我欢迎对这种行为进行任何澄清。

0 投票
1 回答
92 浏览

php - DOMDocument::load():在实体中找不到命名空间默认前缀

我正在用 PHP DOMDocument 解析一些 XML。这是我的代码:

我在 .xml 的开头声明了一个实体文件:

实体文件如下所示:

在我的 .xml 中,我像这样使用这些实体:

现在,在解析文件和通过 xslt 和 css 文件进行转换方面一切顺利,实体除外。他们只是被忽略了。打开 php_error_log 标志,我得到这个:

(第 28 行index.phpload('../poems_xml/'.$pid.'.xml')指令所在的位置)。有人可以阐明我应该检查/添加关于我的实体的内容吗?

我正在使用 PHP 5.6.40。

0 投票
1 回答
40 浏览

xslt - 使用 XSLT 取消引用实体

我有使用嵌入式实体声明的 XML 文件。在结果文件中,我需要将实体名称替换为它们指向的实际文件。但是不能在 XSLT 样式表中指向 AFAIK 实体,因为它们应该由 XML 解析器处理。

示例源文件:

我需要的是一个将实体引用更改为实际href的文件:

我不能依赖在 DTD 中声明的实体,因为每个文件都有不同的实体指向不同的文件。

也许这是微不足道的,但我找不到一种方法来获取嵌入式文档的特定声明。