XML文档的详细介绍 - 极悦
专注Java教育14年 全国咨询/投诉热线:444-1124-454
极悦LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 XML文档的详细介绍

XML文档的详细介绍

更新时间:2021-12-06 09:04:23 来源:极悦 浏览757次

XML 文档是严格的文本文件。在数据传输的上下文中,短语“XML 文档”是指包含任何形式的结构化数据的文件或数据流。示例包括电子商务交易、服务器 API、数学方程式、客户信息和库存状态。

XML 文档仅包含标记和内容。文档的所有规则和语义都由处理它们的应用程序定义。与 HTML 文档一样,XML 文档可以显示在 Web 浏览器中。在这种情况下,语义通常来自样式表或资源描述框架 (RDF) 文件。

XML 文档被称为“格式良好”或“有效”。格式良好的文档遵循文档的所有 XML 规则——例如,对于每个开始标签,都有一个相应的结束标签。有效的 XML 文档格式良好,但它们也包含文档类型定义 (DTD),并且它们遵守该定义的约束。例如,以下 XML 文件包含描述文件所有元素的 DTD:

<?xml version = "1.0"?>
<!DOCTYPE ORDERFILE [
<!ELEMENT ORDERFILE (CUSTOMER)*>
<!ELEMENT CUSTOMER (NAME, DATE, ORDERS)>
<!ELEMENT NAME (LAST-NAME, FIRST-NAME)>
<!ELEMENT LAST-NAME (#PCDATA)>
<!ELEMENT FIRST-NAME (#PCDATA)>
<!ELEMENT DATE (#PCDATA)>
<!ELEMENT ORDERS (ITEM)*>
<!ELEMENT ITEM (PRODUCT, NUMBER, (PRICE | CHARGEACCT | SAMPLE))>
<!ELEMENT PRODUCT (#PCDATA)>
<!ELEMENT NUMBER (#PCDATA)>
<!ELEMENT PRICE (#PCDATA)>
<!ELEMENT CHARGEACCT (#PCDATA)>
<!ELEMENT SAMPLE (#PCDATA)>
]>
<ORDERFILE>
    <CUSTOMER>
        <NAME>
            <LAST-NAME>Smith</LAST-NAME>
            <FIRST-NAME>Sam</FIRST-NAME>
        </NAME>
        <DATE>October 15, 2001</DATE>
        <ORDERS>
            <ITEM>
                <PRODUCT>Tomatoes</PRODUCT>
                <NUMBER>8</NUMBER>
                <PRICE>1.25</PRICE>
            </ITEM>
            <ITEM>
        <PRODUCT>Apples</PRODUCT>
                <NUMBER>12</NUMBER>
                <PRICE>2.50</PRICE>
            </ITEM>
            <ITEM>
        <PRODUCT>Bananas</PRODUCT>
                <NUMBER>6</NUMBER>
                <PRICE>.50</PRICE>
            </ITEM>
        </ORDERS>
    </CUSTOMER>
    <CUSTOMER>
        <NAME>
            <LAST-NAME>Snead</LAST-NAME>
            <FIRST-NAME>Todd</FIRST-NAME>
        </NAME>
        <DATE>October 17, 2001</DATE>
        <ORDERS>
            <ITEM>
                <PRODUCT>Slicer/Dicer</PRODUCT>
                <NUMBER>1</NUMBER>
                <CHARGEACCT>1234-5678-3456-7890</CHARGEACCT>
            </ITEM>
        </ORDERS>
    </CUSTOMER>
</ORDERFILE>

包含并遵守模式而不是 DTD 的文档被认为是“模式有效的”。模式是描述 XML 文档及其精确结构的文件。当通过 xml2fd 实用程序运行时,伴随模式的 XML 文档生成最可靠的 FD 和 SELECT 语句,尤其是在模式具有有关数据类型和长度的信息时。

以下是同一 XML 文档的模式文件示例。如您所见,它比 DTD 更具描述性。

<?xml version="1.0"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
  <xs:annotation> 
    <xs:documentation>
      由 AcuXML(tm) 创建2002/11/12 版本 6.0.0 (2002-11-12) 
    </xs:documentation> 
  </xs:annotation> 
  <xs:element name="TEST-ORDERFILE"> 
    <xs:complexType> 
      <xs:sequence > 
        <xs:element maxOccurs="unbounded" ref="CUSTOMER"/> 
      </xs:sequence> 
    </xs:complexType> 
  </xs:element> 
  <xs:element name="CUSTOMER"> 
    <xs:complexType> 
      <xs:序列>
        <xs:element ref="NAME"/> 
        <xs:element ref="DATE"/> 
        <xs:element ref="ORDERS"/>
      </xs:sequence> 
    </xs:complexType> 
  </xs:element> 
  <xs:element name="NAME"> 
    <xs:complexType> 
      <xs:sequence> 
        <xs:element ref="LAST-NAME"/ > 
        <xs:element ref="FIRST-NAME"/> 
      </xs:sequence> 
    </xs:complexType> 
  </xs:element> 
  <xs:element name="ORDERS"> 
    <xs:complexType> 
      <xs:序列> 
        <xs:element ref="ITEM" maxOccurs="3"/> 
      </xs:sequence> 
    </xs:complexType> 
  </xs:element> 
  <xs:element name="ITEM"> 
    <xs:complexType> 
      <xs:sequence> 
        <xs:element ref="PRODUCT"/>
        <xs:element ref="NUMBER"/> 
        <xs:element ref="PRICE"/> 
        <xs:element ref="CHARGEACCT"/> 
        <xs:element ref="SAMPLE"/> 
      </xs:sequence> 
    </xs:complexType> 
  </xs:element> 
  <xs:element name="LAST-NAME"> 
    <xs:simpleType> 
      <xs:restriction base="xs:string"> 
        <xs:maxLength value="5" /> 
      </xs:restriction> 
    </xs:simpleType> 
  </xs:element> 
  <xs:element name="FIRST-NAME"> 
    <xs:simpleType> 
      <xs:restriction base="xs:string"> 
        <xs:maxLength value="4"/> 
      </xs:restriction> 
    </xs:simpleType> 
  </xs:element>
  <xs:element name="DATE"> 
    <xs:simpleType> 
      <xs:restriction base="xs:string"> 
        <xs:maxLength value="16"/> 
      </xs:restriction> 
    </xs:simpleType> 
  </xs:element> 
  <xs:element name="PRODUCT"> 
    <xs:simpleType> 
      <xs:restriction base="xs:string"> 
        <xs:maxLength value="12"/> 
      </xs:restriction> 
    </xs:simpleType> 
  </xs:element> 
  <xs:element name="NUMBER"> 
    <xs:simpleType> 
      <xs:restriction base="xs:integer"> 
        <xs:totalDigits value="2"/> 
      </xs:restriction> 
    </xs:simpleType> 
  </xs:element>
  <xs:element name="PRICE"> 
    <xs:simpleType> 
      <xs:restriction base="xs:string"> 
        <xs:maxLength value="4"/> 
      </xs:restriction> 
    </xs:simpleType> 
  </xs:element> 
  <xs:element name="CHARGEACCT"> 
    <xs:simpleType> 
      <xs:restriction base="xs:string"> 
        <xs:maxLength value="19"/> 
      </xs:restriction> 
    </xs:simpleType> 
  </xs:element> 
  <xs:element name="SAMPLE"> 
    <xs:simpleType> 
      <xs:restriction base="xs:integer"> 
        <xs:totalDigits value="1"/> 
      </xs:restriction> 
    </xs:simpleType> 
  </xs:element> 
</xs:schema>

ACUCOBOL-GT 应用程序可以读取和写入任何类型的 XML 数据。通常,与您交换数据的一方会要求数据包含 DTD。有时,他们可能需要一个用于自己的开发工作的模式。

使用 AcuXML,您可以指定要生成的 XML 输出的类型。您使用配置变量 AXML_CREATE_STYLE。如果您希望输出包含架构,请将 AXML_CREATE_STYLE 设置为“架构”,然后使用另一个配置变量来定义架构名称 (AXML_SCHEMA_NAME)。默认情况下,每次 ACUCOBOL-GT 生成 XML 输出时都会创建一个模式。为了防止后续输出出现这种情况,您可以将第三个配置变量 AXML_CREATE_SCHEMA 设置为“false”,然后只包含架构文件的名称。配置变量在配置变量中描述。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>