如何创建和使用XML命名空间?

10

我想要一个像这样的页面:

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:m="mine.xsd">
    <m:dialog m:title="Hello">Hi there!</m:dialog>
</html>

我该如何编写"mine.xsd"?

2个回答

8
点击此处了解更多。另外这里还有更多相关的信息。

以下是一个简单的例子:

XMLSchema1.xsd

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="Types"
    targetNamespace="http://tempuri.org/"
    elementFormDefault="qualified"
    xmlns="http://tempuri.org/"
    xmlns:mstns="http://tempuri.org/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
  <xs:simpleType name="Types">
    <xs:annotation>
      <xs:documentation>.NET types</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="String" />
      <xs:enumeration value="Int16" />
      <xs:enumeration value="Int32" />
      <xs:enumeration value="Int64" />
      <xs:enumeration value="DateTime" />
      <xs:enumeration value="Double" />
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="DataSize">
    <xs:annotation>
      <xs:documentation>Number of bytes of the data</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:int" />
  </xs:simpleType>

  <!-- ... -->

</xs:schema>

然后在您的 XML 文件中,您可以使用以下内容:
<?xml version="1.0" encoding="utf-8" ?>

<ValueSet
  xmlns="http://tempuri.org/"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://tempuri.org/ XMLSchema1.xsd">

  <Values>
    <Value Name="Stats" Type="Int32" DataSize="4" />
    <Value Name="Time" Type="DateTime" DataSize="4" />
    <Value Name="Some" Type="Double" DataSize="4" />
    <Value Name="Other" Type="Double" DataSize="4" />
  </Values>

</ValueSet>

2
我想要的是在XHTML代码中嵌入一些自定义标签或属性,而不会导致语法错误。是否有任何方法可以使用XML模式将我的标签“注入”到<html>元素中? - JSPDeveloper01
@JSPDeveloper01:我认为你可以通过在自定义xsd中使用xsd:annotation/xsd:appinfo来完成增强。https://dev59.com/HJXfa4cB1Zd3GeqPgYle#36289758 - Andreas Covidiot

4
你可以手动编写XSD文件,只需学习XML模式的组成部分并了解如何自己编写代码。在Google或Bing上搜索“XML模式教程”应该会给你很多结果(例如W3Schools XML Schema Tutorial)。
或者你可以使用Visual Studio来完成这个过程: 示例图片 - 打开你想要处理的XML文件 - 在XML菜单中选择“创建模式”选项
这将从你的XML文件生成一个XML模式。
注意:这是一个很好的起点,但它绝不完美。特别是对于较小的XML文件,生成过程无法知道很多事情,只能做出某些假设 - 这可能是正确的,也可能是错误的。你肯定需要查看XML模式文件 - 这就是第一种选项中所需的专业知识非常方便的地方!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接