什么是XML文档的第一行?

时间:2016-03-07 03:47:49

标签: xml xsd

所以在我们编写XML Schema之前,很多教程都使用它:

 <?xml version='1.0'?>

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <data-set xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

我的问题是,这部分是为了什么?具体是什么网站,我们为什么要使用它?还有其他方法可以做到吗?

如果有帮助,我这样做是为了将excel工作表转换为XML。

3 个答案:

答案 0 :(得分:1)

XML声明

<?xml version='1.0'?>XML declaration,并非特定于XSD,而是特定于XML文档。

  

[定义:XML文档应以 XML声明开头   它指定了正在使用的XML版本。]

由于XSD是一个XML文档,它也可能有一个XML声明。

以下是XML声明(XMLDecl)的BNF,其中包含指向其组成部分定义的链接:

  

XMLDecl ::= '<?xml' VersionInfo EncodingDecl ? SDDecl ? S ? '?>'

注意: Only one XML declaration is permitted in well-formed XML, and it must be at the top if anywhere。如果您违反此要求,您将看到错误,例如

  

The processing instruction target matching "[xX][mM][lL]" is not allowed.

,在您的XML为fix the problem之前,您必须well-formed

XML架构实例命名空间

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"是针对特殊 namespace XML Schema instance namespace声明。作为名称空间URI,其目的是便于控制组件名称的分组。 An XML namespace URI does not have to be retrievable

另见

答案 1 :(得分:0)

XML声明。有关详细信息,请参阅https://www.w3.org/TR/2006/REC-xml-20060816/#sec-prolog-dtd

答案 2 :(得分:0)

<?xml version='1.0'?>

1.0是XML的当前版本。对于未来的版本,这个数字可能会改变。这是必填字段,它指示此文件符合的XML标准版本。

encoding="UTF-8"

这意味着文件以UTF-8编码。这是可选的,因为这是XML中的默认字符编码。

standalone="yes"

standalone指示当前XML文档是否依赖于外部标记声明。这也是可选的。

<data-set xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

这是XML Schema Instance命名空间。声明后,您可以使用schemaLocation等属性。

见类似答案:Is xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" a special case in XML?