所以在我们编写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。
答案 0 :(得分:1)
<?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
。 (xsi:type
,xsi:nil
,xsi:schemaLocation
和xsi:noNamespaceSchemaLocation
)答案 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?