XML 문법 분석을 수행하기 전에 먼저 XML 구문의 기본 규칙을 이해해야 합니다.
어휘 특징: 1) XML은 요소 이름과 같이 대소문자를 구분합니다. 열기 및 닫기 태그 대문자와 소문자는
2) XML 예약 표시 문자는 다음과 같습니다. < > 예약어 기호는 요소 이름, 요소 텍스트, 속성 이름 및 속성 값에 나타날 수 없습니다. < 태그를 닫는 데 사용됩니다. > 일반적인 의미는 <generated<, >Generate>, &Generate&, &aposGenerate', "Generate”
입니다. 3) 요소 이름은 밑줄 또는 문자로 시작하고 문자, 숫자, 마침표, 하이픈, 밑줄, 콜론 및 기타 문자를 포함할 수 있습니다. 언어의 확장 문자 요소 이름에는 공백 문자(공백 문자, 탭 문자, 줄 바꿈 문자, 캐리지 리턴 문자)가 포함될 수 없습니다. 예:
구문 기능 : 1) XML 문서는 XML 설명, 여러 개의 선택적
문서 설명, 여러 개의 선택적 XML 지시문, 여러 개의 선택적 XML 주석 및 루트 요소의 데이터 본문으로 구성됩니다. 또한 CDATA가 포함될 수 있습니다. <?xml …?> /*XML说明*/
<!DOCTYPE …> /*XML文档说明*/
<!-- … --> /*XML注释*/
<?xml-stylesheet …?> /*XML指令*/
<root> /*根数据元素*/
<child>
…<![CDATA[…]]>
</child>
</root>
element_name -> (_ | letter | ascii2) (ε| _ | - | : | . | digit | letter | signs | ascii2)*
element_text -> (ε| not reserve)*
proper_name -> (_ | letter | ascii2) (ε| _ | - | : | . | digit | letter | signs | ascii2)*
proper_value -> (ε| not reserve)*
1) STACK_DFA mata_xml_doc =
xml_document -> xml_header (ε| xml_declare | xml_instruct | xml_comments)* xml_element xml_header -> [<?xml](space)*(proper_token)*(space)* [?>] xml_declare -> [<!]reserve_word(space)*(token)*(space)*[>] xml_instruct -> [<?]reserve_word(space)* (proper_token)* (space)*[?>] xml_comments -> [<!--](ε| digit | letter | signs | ascii2 | space)*[-- >] xml_element -> [<]element_name (space)*( ε| proper_token)*(space)*[/>] | [<]element_name(space)*( ε | proper_token)*(space)*[>] [ε| <![CDATA[ ]element_text[ε| ]]>] (ε | xml_element)*(space)*[</]element_name[>] proper_token -> proper_name(space)*[=](space)* [ε| <![CDATA[ ] [‘ | “]proper_value[‘ | “] [ε| ]]>] reserve_word -> [DOCTYPE | ELEMENT | NOTATION | …] token -> (ε| not reserve)*
Q: {…} /*详见后面的状态集合*/ Σ: /*指向待解析的XML元素词串*/ σ: Q×Σ->Q /*状态转移函数,见状态转移列表*/ q: {NIL_SKIP} /*初始状态*/ Γ: {NIL_FAILED,NIL_SUCCEED} /*终结状态集合*/ S: {Q/*状态*/, N/*DOM节点*/>,<…>} /*下推栈*/
T:{NIL/*空*/, TG/*标记*/, NS/*元素*/, IS/*指令*/, DS/*声明*/, CD/*CDATA界段*/,CM/*注释*/}
위 내용은 웹 프로그래밍 - XML 문법 분석의 상세 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!