Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 从规范解释DTD_Xml_Dtd - Fatal编程技术网

Xml 从规范解释DTD

Xml 从规范解释DTD,xml,dtd,Xml,Dtd,我得到了以下规格: •有一个根元素称为产品 •products元素包含一系列产品子元素,数据库中每个产品对应一个 •每个产品元素包含一个名称、一个价格和一个描述子元素,以及一个存储序列 子元素,每个销售该产品的商店一个子元素: •每个store元素包含一个名称、一个电话和一个标记 到目前为止,我已经得出了以下结论: <?xml version="1.0"?> <!DOCTYPE exercise 3 [ <!ELEMENT products (pid, name, pri

我得到了以下规格:

•有一个根元素称为产品

•products元素包含一系列产品子元素,数据库中每个产品对应一个

•每个产品元素包含一个名称、一个价格和一个描述子元素,以及一个存储序列 子元素,每个销售该产品的商店一个子元素:

•每个store元素包含一个名称、一个电话和一个标记

到目前为止,我已经得出了以下结论:

<?xml version="1.0"?>
<!DOCTYPE exercise 3 [
<!ELEMENT products (pid, name, price, description, stores)>
<!ELEMENT pid (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT stores (store_name, phone, markup)>
<!ELEMENT store_name (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
<!ELEMENT markup (#PCDATA)>


您认为此DTD符合规范吗?

关于您的DTD的几点评论:

  • 在doctype声明中
    
    •每个产品元素包含一个名称、一个价格和一个
    description子元素和一系列store子元素,一个用于
    销售该产品的每家商店:

    
    
    •每个store元素包含一个名称、一个电话和一个标记

    
    
    这是完整的DTD,其中添加了空格以提高可读性

    <!ELEMENT products      (product*)                         >
    <!ELEMENT product       (name, price, description, store*) >
    <!ELEMENT store         (name, phone, markup)              >
    <!ELEMENT name          (#PCDATA)                          >
    <!ELEMENT price         (#PCDATA)                          >
    <!ELEMENT description   (#PCDATA)                          >
    <!ELEMENT phone         (#PCDATA)                          >
    <!ELEMENT markup        (#PCDATA)                          >
    
    
    
    我不明白这个问题。您完全可以像对待产品那样使用不同的元素名称。如果我包括store元素,我是否需要具有唯一的名称,因为它们当前与产品共享子元素名称?为什么您不能亲自尝试,看看它是否可以使用相同的名称?如果你有,你现在就完蛋了。这应该是你的运动,不是我们的。
    <!ELEMENT product (name, price, description, store*)>
    
    <!ELEMENT store (name, phone, markup)>
    
    <!ELEMENT products      (product*)                         >
    <!ELEMENT product       (name, price, description, store*) >
    <!ELEMENT store         (name, phone, markup)              >
    <!ELEMENT name          (#PCDATA)                          >
    <!ELEMENT price         (#PCDATA)                          >
    <!ELEMENT description   (#PCDATA)                          >
    <!ELEMENT phone         (#PCDATA)                          >
    <!ELEMENT markup        (#PCDATA)                          >