css和javascript的一些筆記(四) xml語言基礎知識

1、表單提交方式

* 使用submit提交

* 使用button提交表單
    function form1(){
        var form1 = document.getElementById("form1");
        form1.action = "hello.html";
        form1.submit();
    }   
* 使用超鏈接提交
    <hr/>
    <a href="hello.html?username=123456">使用超鏈接提交</a>
* onclick:鼠標點擊事件
  onchange: 改變內容(一般和selec一起使用)
  onfocus: 得到焦點  鼠標放進去時閃 
  onblur:  失去焦點
        <input type="text" id="id1" name="text1" value="please input" onfocus="focus1();" onblur="blur1();"/>
        function focus1(){
            var input1 = document.getElementById("id1");
            input1.value="";
        }

2、xml

* 可擴展標記語言
    ** 標記型語言:html xml
        - 也是使用標籤來操作
    ** 可擴展
        - html 每個標籤都有特定的含義
        - xml 標籤可以自己定義 可以寫中文的標籤 <person></person> <貓></貓>
* xml用途
    ** html是用於顯示數據 ,xml主要是爲了傳輸數據
* xml是w3c組織發佈的技術
* xml 使用的都是1.0版本  1.1版本不能向下兼容

3、xml的應用

* 不同的系統之間傳輸數據
    ** qq之間數據傳輸
        最早的時候使用字符串 ,可讀性差
* 用來表示生活中有關係的數據
* 經常用在配置文件

4、xml的語法

(1)xml的文檔聲明
    * 創建一個文件 後綴民是.xml
    * 如果要寫 第一步需要有文檔聲明
    ** <?xml version="1.0" encoding ="gbk"?>
    ** 要寫在第一行第一列
    * 屬性
        - version:xml1.0
        - encoding:xml編碼 gbk utf-8 iso8859-1(不包含中文)
        - standalone: 是否需要依賴其他文件 yes/no
    * xml的中文亂碼問題解決 系統默認是gbk 我們設置的編碼應該也是

(2)定義元素(標籤)

    標籤要合理嵌套
    一個xml中,只能有一個根標籤 替他標籤都是這個標籤下面的標籤
    * 在xml中把空格和換行都當成內容來解析了。!!!!!!!
    * xml中標籤的命名規則
        (1)xml代碼區分大小寫
        (2)不能數字,下劃線開頭
        (3)不能以xml開頭
        (4)標籤裏不能包含空格
        (5)變遷裏不能包含冒號
        (6)

(3)定義屬性

    html是標記型文檔
    xml也是標記型文檔。也可以有屬性
    * <person id1="aaa"></person>
    ** 屬性定義的要求
        (1)一個標籤上可以有多個屬性
        (2)屬性只能是唯一
        (3)屬性名稱和屬性值之間使用=屬性值用引號
        (4)xml屬性的名稱規範和元素的名稱規範一致
        (5)
(4)註釋
    <!-- xml的註釋 -->   註釋不能嵌套
(5)特殊字符
    如果我們想要在xml中顯示a<b 不能正常顯示 因爲把<當作標籤
    需要對特殊字符轉義
    ** <    &lt;
       >    &gt;
       "    &quot;
       '    &quos;

9、CDATA區

* 可以解決多個字符都需要轉義的操作
* 把這些內容放到cdata區裏面,不需要轉義了
** 寫法
    <![CDATA[內容]]>
** 把特殊字符,當作文本內容,而不是標籤

10、pi指令(處理指令)

* 可以在xml中設置樣式
寫法:<
只能對英文標籤起作用 對中文標籤不起作用

11、xml的約束

* 爲什麼需要約束?
** 比如定義person的xml文件 ,就不能往裏面放不屬於人的信息

xml的約束的技術:dt的約束 和 schema約束

12、dtd的快速入門

* 創建一個文件 後綴民是.dtd
步驟:
    (1)看xml中有多少個元素.有幾個元素,在dtd文件中寫幾個   <!ELEMENT>
    (2)判斷元素是簡單元素還是複雜元素
        - 簡單元素:沒有子元素
            <!ELEMENT 元素名稱 (#PCDATA)>
        - 複雜元素: 有子元素
            <!ELEMENT 元素名稱(子元素)>
    (3)需要在xml中引入dtd文件
        <!DOCTYPE 根元素名稱 SYSTEM "dtd文件路徑">
** 打開xml文件使用瀏覽器打開的,瀏覽器只負責校驗xml的語法,不負責校驗約束
** 如果想要校驗xml的約束,需要使用工具(myeclipse工具)
    創建一個項目
    在src目錄下面創建一個xml文件和一個dtd文件
    當xml中引入dtd

13、dtd的三種引入方式

(1)引入外部的dtd文件
    <!DOCTYPE 根元素名稱 SYSTEM "dtd路徑">
 (2) 使用內部的dtd代碼
(3)使用網絡上的dtd文件
    <!DOCTYPE 根元素 PUBLIC "DTD名稱" "dtd文檔的URL">

14、使用dtd定義元素

* 語法:<!ELEMENT 元素名 約束>
* 簡單元素 *** (#PCDATA)是字符串類型
        EMPTY表示是空的
        ANY任意類型 
* 複雜元素:
    <!ELEMENT 元素名 (子元素)>
    * 表示子元素出現的次數
        + 表示子元素可以出現1次或者多次
        ? 表示0次或者1次
        * 表示0次或者多次
    * 子元素直接用逗號隔開
        表示子元素出現的次序
    * 子元素用|隔開表示只能出現其中任意一個

15、使用dtd定義屬性

* 語法:<!ATTLIST 元素名稱
        屬性名稱 屬性類型 屬性的約束
    >
    屬性類型3中 
            CDATA  字符串
            枚舉:(aa|bb|cc)
            ID 值只能是字母或下劃線開頭
    屬性的約束
            #REQUIRED屬性要有
            #IMPLIED屬性可有可無
            #FIXED 表示一個固定值 屬性的值必須是設置的固定值    
            直接值          不寫屬性 使用直接值
                寫了屬性,使用設置的值
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章