如何将XSD和XSI添加为属性

时间:2014-02-19 20:58:11

标签: xml xslt xsd

我对此很陌生,现在我很难过。我需要在元素下添加xsd和xsi但不确定如何执行此操作。我环顾四周,但却找不到我想要的东西(也许我没找错)。

我正在构建一个XSLT XML,并且需要同时包含xsd和xsi,如下所示:

<BxfMessage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://smpte-ra.org/schemas/2021/2008/BXF”>

我将元素名称设置为BxfMessage,但添加这些模式的正确方法是什么(可能是属性?)

1 个答案:

答案 0 :(得分:0)

在我看来,你对XSLT,XSD,xsi等有点困惑 - 这让你很清楚你在问什么。我建议您在询问SO上的下一个问题之前先花点时间理解这些概念。

但是既然我正在编写,你的问题可能是如何将命名空间分配给XML文件中的元素?

让我们来看一个简单的XML示例:

<root>
  <node/>
  <node/>
</root>

上面的XML文件没有任何名称空间。如果有命名空间,通常在 root 元素(也称为文档节点)上声明它们,如下所示:

<bxf:root xmlns:bxf="http://smpte-ra.org/schemas/2021/2008/BXF”>
  <bxf:node/>
  <bxf:node/>
</bxf:root>

现在,回答(我猜是什么)您的问题:通过前缀后者为元素分配名称空间,在本例中为bxf。由于所有元素都属于此命名空间,因此您还可以声明默认命名空间:

<root xmlns="http://smpte-ra.org/schemas/2021/2008/BXF”>
  <node/>
  <node/>
</root>

这意味着没有前缀的元素也有名称空间。