我最近看到一个包含的XML字符串<?var type="string" ?>
.我想知道是否有人知道这意味着什么?它与我想象的PHP有关.这是一个上下文片段.
<?xml version="1.0" encoding="UTF-8"?>
<node>
<?var type="string" ?>
<somenode>Value</somenode>
</node>
Run Code Online (Sandbox Code Playgroud)
我似乎无法搜索谷歌,<?var
所以也许你们可以帮助我.
这是一个XML处理指令,与PHP无关.(无论如何,这不是合法的PHP语法.)您在文档开头看到的XML声明是一种特殊的PI.
不过,我不能说太多,因为我真的从来没有见过XML PI用作任何野外任何东西的XML PI. <? ?>
开发人员通常将分隔符识别为PHP分隔符(具有短开口分隔符).
实际上,正如评论中所讨论的那样,完整的PHP分隔符<?php ?>
可以被认为是一种处理指令,即使它们在XHTML/XML文档之外的其他许多地方使用过.甚至可以说PHP 通过处理指令设计为符合XHTML标准.
事实上,下面的XHTML标记,带有PHP片段,实际上是有效的!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<p><?php echo 'Hello world!'; ?></p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但是,它不会使用短开始标记进行验证,因为XML PI必须<?
以至少一个名称字符开头.查看PI语法规范的第一个链接.
小智 5
这是zend 5-5学习指南中的内容.问题是"这个XML文档出了什么问题?" 答案是"没什么"
此页面包含第6行第7行的错误:XML declaration allowed only at the start of the document
.下面是第一个错误之前的页面呈现.
那么为什么学习指南说xml没什么问题呢?
<?xml version="1.0" encoding="UTF-8"?>
<node>
<?var type="string" ?>
<leaf>Value</leaf>
</node>
<?xml version="1.0" encoding="UTF-8"?>
<node>
<?var type="string" ?>
<leaf>Value</leaf>
</node>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2250 次 |
最近记录: |