所以在我们编写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。
<?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。
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。
也可以看看
xsi
的XSD属性。 (xsi:type
,xsi:nil
,xsi:schemaLocation
和xsi:noNamespaceSchemaLocation
)XML声明。有关更多信息,请参阅https://www.w3.org/TR/2006/REC-xml-20060816/#sec-prolog-dtd。
<?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?