/* Peggy CREC Keyword File * $Id: ac_xml10.kwd,v 1.3 2009/07/09 15:13:33 nzawa Exp nzawa $ * -------------------------------------------------------------------------- * * [Language] * XML1.0, XML1.1 * * * _/_/_/_/_/_/_/_/_/_/_/_/_/ COPYRIGHT NOTICE _/_/_/_/_/_/_/_/_/_/_/_/_/ * * Copyright (c) 2002-2004,2007,2009 Nzawa * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, * copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following * conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ */ Id: "XML10" Title: "XML1.0 / XML1.1" Extensions: "xml xsl" TabStop: 4 BgColoring: On BaseLanguage: "XML" BlockComment: "" IdCharacters: "-_:.@" IncludePattern: /' @'' @'' @'' @'' @'' @'<\c>' } /******************************************************************** * * コメント * ********************************************************************/ Context COMMENT: { '-->', FgComment, PostGoTo 1, @off '--', FgHTMLIllegalCharacter, @off Default, FgComment } /******************************************************************** * * CDATA * ********************************************************************/ Context CDATA: { ']]>', FgHTMLDelimiter, PostGoTo 1, @off Default, FgText } /******************************************************************** * * '', FgHTMLDelimiter, PostGoTo 1, @off /[<]/, FgHTMLIllegalCharacter, @off Default, FgText } /******************************************************************** * * XML宣言 * ********************************************************************/ Context XMLDECL: { "version", FgHTMLAttributeName, "XMLのバージョン", @'version="\c"' "encoding", FgHTMLAttributeName, "XML文書のエンコード方式", @'encoding="\c"' "standalone", FgHTMLAttributeName, "XML文書がスタンドアロンかどうか", @'standalone="\c"' '=', FgHTMLTag, @off '"', FgString, GoTo +1, @off '\'', FgString, GoTo +2, @off '?>', FgHTMLDelimiter, PostGoTo 1, @off /[<]/, FgHTMLIllegalCharacter, @off Default, FgText } Context XMLDECL + 1: { '"', FgString, GoTo -1, @off Default, FgString } Context XMLDECL + 2: { '\'', FgString, GoTo -2, @off Default, FgString } Context XMLDECL + 1, XMLDECL + 2: { @"1.0" @"1.1" @"yes" @"no" @"us-ascii" @"iso-8859-1" @"shift_jis" @"euc-jp" @"iso-2022-jp" @"utf-8" @"utf-16" } /******************************************************************** * * スタイルシート処理命令 * ********************************************************************/ Context STYLESHEET: { "href", FgHTMLAttributeName, "スタイルシートの場所を示すURI", @'href="\c"' "type", FgHTMLAttributeName, "スタイルシートのMIMEタイプ", @'type="\c"' "title", FgHTMLAttributeName, "スタイルシートのタイトル", @'title="\c"' "media", FgHTMLAttributeName, "スタイルシートの出力対象メディア", @'media="\c"' "charset", FgHTMLAttributeName, "スタイルシートのエンコード方式", @'charset="\c"' "alternate", FgHTMLAttributeName, "推奨スタイルシートか代替スタイルシートかの指定", @'alternate="\c"' '=', FgHTMLTag, @off '"', FgString, GoTo +1, @off '\'', FgString, GoTo +2, @off '?>', FgHTMLDelimiter, PostGoTo 1, @off /[<]/, FgHTMLIllegalCharacter, @off Default, FgText } Context STYLESHEET + 1: { '"', FgString, GoTo -1, @off } Context STYLESHEET + 2: { '\'', FgString, GoTo -2, @off } Context STYLESHEET + 1, STYLESHEET + 2: { CHARREF, FgHTMLEntity URL, FgHTMLURL URN, FgHTMLURL EMAIL, FgHTMLURL /[<&]/, FgHTMLIllegalCharacter Default, FgString @"yes" @"no" @"us-ascii" @"iso-8859-1" @"shift_jis" @"euc-jp" @"iso-2022-jp" @"utf-8" @"utf-16" @"text/css" @"text/xsl" @"aural" @"braille" @"handheld" @"print" @"projection" @"screen" @"tty" @"tv" } /******************************************************************** * * 通常の処理命令 * ********************************************************************/ Context PI: { '?>', FgHTMLDelimiter, PostGoTo 1, @off /[<]/, FgHTMLIllegalCharacter, @off Default, FgText } /******************************************************************** * * 文書型宣言 * ********************************************************************/ Context DOCTYPE: { "DOCTYPE", FgKeyword, GoTo +1, "文書型宣言" '>', FgHTMLDelimiter, PostGoTo 1, @off /[<]/, FgHTMLIllegalCharacter, @off Default, FgText } Context DOCTYPE + 1: { ELEMNAME, FgHTMLElementName, GoTo +1, "文書要素名" '>', FgHTMLDelimiter, PostGoTo 1, @off /[<]/, FgHTMLIllegalCharacter, @off Default, FgText } Context DOCTYPE + 2: { "SYSTEM", FgKeyword, "システム識別子で示された外部サブセットを参照", @'SYSTEM "\c"' "PUBLIC", FgKeyword, "公開識別子とシステム識別子で示された外部サブセットを参照", @'PUBLIC "\c" ""' '[', FgHTMLDelimiter, "DTDを内部サブセットとして記述", GoTo INTSUBSET, @"[\c]" '"', FgString, GoTo +1, @off '\'', FgString, GoTo +2, @off '>', FgHTMLDelimiter, PostGoTo 1, @off /[<]/, FgHTMLIllegalCharacter, @off Default, FgText } Context DOCTYPE + 3: { '"', FgString, GoTo -1, @off } Context DOCTYPE + 4: { '\'', FgString, GoTo -2, @off } Context DOCTYPE + 3, DOCTYPE + 4: { URL, FgHTMLURL URN, FgHTMLURL EMAIL, FgHTMLURL Default, FgString } Context DOCTYPE + 5: { '>', FgHTMLDelimiter, PostGoTo 1, @off Default, FgHTMLIllegalCharacter } /******************************************************************** * * 内部サブセット * ********************************************************************/ Context INTSUBSET: { '" @"" @"" @"" @"" @"" } Context INTSUBSET_COMMENT: { '-->', FgComment, PostGoTo INTSUBSET, @off '--', FgHTMLIllegalCharacter, @off Default, FgComment } Context INTSUBSET_PI: { PITARGET, FgHTMLElementName, GoTo +1, "処理命令" '?>', FgHTMLDelimiter, PostGoTo INTSUBSET, @off /[<]/, FgHTMLIllegalCharacter, @off Default, FgText } Context INTSUBSET_PI + 1: { '?>', FgHTMLDelimiter, PostGoTo INTSUBSET, @off /[<]/, FgHTMLIllegalCharacter, @off Default, FgText } Context INTSUBSET_DECL: { "ELEMENT", FgKeyword, GoTo +1, "要素型宣言" "ATTLIST", FgKeyword, GoTo +1, "属性リスト宣言" "ENTITY", FgKeyword, GoTo +1, "エンティティ宣言" "NOTATION", FgKeyword, GoTo +1, "記法宣言" '>', FgHTMLDelimiter, PostGoTo INTSUBSET, @off /[<]/, FgHTMLIllegalCharacter, @off Default, FgText } Context INTSUBSET_DECL + 1: { '"', FgString, GoTo +1, @off '\'', FgString, GoTo +2, @off '>', FgHTMLDelimiter, PostGoTo INTSUBSET, @off /[<]/, FgHTMLIllegalCharacter, @off Default, FgText @"EMPTY" @"ANY" @"#PCDATA" @"CDATA" @"ID" @"IDREF" @"IDREFS" @"ENTITY" @"ENTITIES" @"NMTOKEN" @"NMTOKENS" @"NOTATION" @"#REQUIRED" @"#IMPLIED" @"#FIXED" @"SYSTEM" @"PUBLIC" @"NDATA" } Context INTSUBSET_DECL + 2: { '"', FgString, GoTo -1, @off } Context INTSUBSET_DECL + 3: { '\'', FgString, GoTo -2, @off } Context INTSUBSET_DECL + 2, INTSUBSET_DECL + 3: { CHARREF, FgHTMLEntity ENTITYREF, FgHTMLEntity URL, FgHTMLURL URN, FgHTMLURL EMAIL, FgHTMLURL Default, FgString } /******************************************************************** * * 開始タグ * ********************************************************************/ Context STAG: { ELEMNAME, FgHTMLElementName, GoTo +1 /\/?>/, FgHTMLIllegalCharacter, PostGoTo 1 /[<]/, FgHTMLIllegalCharacter, @off Default, FgText } Context STAG + 1: { NAMESPACE, FgKeyword, "接頭辞付き名前空間の宣言", @'xmlns:\c=""' "xmlns", FgKeyword, "デフォルト名前空間の宣言", @'xmlns="\c"' "xml:space", FgKeyword, "空白記号の処理方法", @'xml:space="\c"' "xml:lang", FgKeyword, "要素の自然言語", @'xml:lang="\c"' "xml:base", FgKeyword, "要素の基底URI", @'xml:base="\c"' ATTRNAME, FgHTMLAttributeName '=', FgHTMLTag, @off '"', FgString, GoTo +1, @off '\'', FgString, GoTo +2, @off /\/?>/, FgHTMLDelimiter, PostGoTo 1 /[<]/, FgHTMLIllegalCharacter, @off Default, FgText } Context STAG + 2: { '"', FgString, GoTo -1, @off } Context STAG + 3: { '\'', FgString, GoTo -2, @off } Context STAG + 2, STAG + 3: { CHARREF, FgHTMLEntity ENTITYREF, FgHTMLEntity IRI, FgHTMLURL URN, FgHTMLURL EMAIL, FgHTMLURL /[<&]/, FgHTMLIllegalCharacter Default, FgString } /******************************************************************** * * 終了タグ * ********************************************************************/ Context ETAG: { ELEMNAME, FgHTMLElementName, GoTo +1 '>', FgHTMLIllegalCharacter, PostGoTo 1, @off, @off /[<]/, FgHTMLIllegalCharacter, @off Default, FgText } Context ETAG + 1: { '>', FgHTMLDelimiter, PostGoTo 1, @off /[<]/, FgHTMLIllegalCharacter, @off Default, FgText } /* END OF KWD */