Heim Backend-Entwicklung XML/RSS-Tutorial Webprogrammierung – detaillierte Erläuterung der XML-Grammatikanalyse

Webprogrammierung – detaillierte Erläuterung der XML-Grammatikanalyse

Mar 24, 2017 pm 04:47 PM

Bevor Sie eine XML-Grammatikanalyse durchführen, müssen Sie zunächst die Grundregeln der XML-Syntax verstehen:

Lexikalische Funktionen: 1) XML unterscheidet zwischen Groß- und Kleinschreibung, z. B. Elementnamen in öffnende und schließende Tags Die Groß- und Kleinschreibung sollte konsistent sein und die reservierten Wortzeichenfolgen von XML sollten die Anforderungen an Groß- und Kleinschreibung erfüllen ….

2) XML-reservierte Markierungszeichen sind: < > Das Symbol 2) Die XML-Beschreibung wird mit geschlossen, die optionale Beschreibungen wie Version und Codierung enthält, wie z : 4) XML-Anweisungen werden mit geschlossen, wie zum Beispiel: 5) XML-Kommentare werden mit geschlossen, wie zum Beispiel:

6) XML-Elemente werden geöffnet durch < Elementname >Geöffnet durch />, oder , die öffnenden und schließenden Tags des Elements stimmen überein, wie zum Beispiel oder , XML-Elemente dürfen verschachtelt sein, daher sollte die hierarchische Übereinstimmung beibehalten werden, wie zum Beispiel ..
<?xml …?> /*XML说明*/
  <!DOCTYPE …> /*XML文档说明*/
  <!-- … --> /*XML注释*/
  <?xml-stylesheet …?> /*XML指令*/
  <root> /*根数据元素*/
  <child>
  …<![CDATA[…]]>
  </child>
  </root>
Nach dem Login kopieren
7) Das CDTATA-Segment wird mit geöffnet und mit ]]> geschlossen, wodurch die darin enthaltenen Anweisungen XML-Parsing-Regeln vermeiden. Zum Beispiel:

Basierend auf den oben genannten XML-Grammatikfunktionen können reguläre Ausdrücke für die lexikalische Analyse und syntaktische Analyse erstellt werden. Pushdown-Automatenstruktur .
XML-lexikalischer regulärer Ausdruck:
#Ziffer definieren [1,2,…,9] /*Zahlenzeichen*/
#Buchstaben definieren [a,b,…,z,A,B,…, Z] /*Alphabetische Zeichen*/
 #Zeichen definieren [~, ! , @, #, %, ^, &,*,(, ), ?, :, ;, „, ', ,, ., / ,-, _, +, =, |, /] /*Symbolzeichen*/
 #define ascii2 [0x80,…,0xFF] /*ASCII chart2 erweitertes Zeichen*/
 #define space [0x20, / t, /r, /n] /*Leerzeichen, Tabulatorzeichen, Wagenrücklaufzeichen, Zeilenvorschubzeichen*/
 #define Reserve [<, >, &] /*XML reservierte Zeichen*/
1) Regulärer Ausdruck des Elementnamens:



2) Regulärer Ausdruck des Elementtexts:


3) Regulärer Ausdruck des Attributnamens:
  element_name -> (_ | letter | ascii2) (ε| _ | - | : | . | digit | letter | signs | ascii2)*
Nach dem Login kopieren


 4) Regulärer Ausdruck des Attributtextes:
  element_text -> (ε| not reserve)*
Nach dem Login kopieren


XML-Syntaxstruktur:
  proper_name -> (_ | letter | ascii2) (ε| _ | - | : | . | digit | letter | signs | ascii2)*
Nach dem Login kopieren


Analyse der XML-Grammatik Muss einen Pushdown-Automaten konstruieren, seine Struktur ist wie folgt definiert:
  proper_value -> (ε| not reserve)*
Nach dem Login kopieren

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)*
Nach dem Login kopieren

2) Das Stapeloberseitensymbol wird verwendet, um den Typ des aktuellen Analyseknotens widerzuspiegeln:


3) Der Statussatz spiegelt die Merkmale einer bestimmten Analysestufe wider, die dem entspricht Stapeloberseitensymbol:
 Q: {…} /*详见后面的状态集合*/
  Σ: /*指向待解析的XML元素词串*/
  σ: Q×Σ->Q /*状态转移函数,见状态转移列表*/
  q: {NIL_SKIP} /*初始状态*/
  Γ: {NIL_FAILED,NIL_SUCCEED} /*终结状态集合*/
  S:  {Q/*状态*/, N/*DOM节点*/>,<…>} /*下推栈*/
Nach dem Login kopieren


Das obige ist der detaillierte Inhalt vonWebprogrammierung – detaillierte Erläuterung der XML-Grammatikanalyse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie benutze ich RSS -Feeds für Nachrichtenaggregation und Inhaltskuration? Wie benutze ich RSS -Feeds für Nachrichtenaggregation und Inhaltskuration? Mar 10, 2025 pm 03:47 PM

In diesem Artikel wird erläutert, wie RSS -Feeds für eine effiziente Nachrichtenaggregation und Inhaltskuration verwendet werden. Es wird beschrieben, dass sich abonniert die Feeds, die Verwendung von RSS -Lesern (z. B. Feedly und Inoreader), das Organisieren von Feeds und die Nutzung von Funktionen für gezielte Inhalte. Der Vorteil

Wie verwende ich Atom Publishing Protocol für das Verwaltung von Webinhalten? Wie verwende ich Atom Publishing Protocol für das Verwaltung von Webinhalten? Mar 10, 2025 pm 05:48 PM

In diesem Artikel werden Atom Publishing Protocol (ATOMPUB) für Web -Content -Management erläutert. Es enthält Details mit HTTP -Methoden (Get, Post, Put, Löschen) mit Atomformat für die Erstellung von Inhalten, das Abrufen, die Aktualisierung und das Löschen. In dem Artikel wird auch Atompub erläutert

Wie implementiere ich Content -Syndication mit RSS? Wie implementiere ich Content -Syndication mit RSS? Mar 10, 2025 pm 03:41 PM

In diesem Artikel werden in der Inhaltssyndizierung mithilfe von RSS -Feeds implementiert. Es deckt das Erstellen von RSS -Feeds, die Ermittlung von Zielwebsites, das Einreichen von Feeds und die Überwachung der Wirksamkeit. Herausforderungen wie begrenzte Kontrolle und Unterstützung der reichen Medien sind ebenfalls Diskus

Ist die Konversionsgeschwindigkeit beim Umwandeln von XML in PDF auf Mobiltelefon schnell? Ist die Konversionsgeschwindigkeit beim Umwandeln von XML in PDF auf Mobiltelefon schnell? Apr 02, 2025 pm 10:09 PM

Die Geschwindigkeit der mobilen XML zu PDF hängt von den folgenden Faktoren ab: der Komplexität der XML -Struktur. Konvertierungsmethode für mobile Hardware-Konfiguration (Bibliothek, Algorithmus) -Codierungsoptimierungsmethoden (effiziente Bibliotheken, Optimierung von Algorithmen, Cache-Daten und Nutzung von Multi-Threading). Insgesamt gibt es keine absolute Antwort und es muss gemäß der spezifischen Situation optimiert werden.

Wie kann ich XML- und Semantic -Web -Technologien integrieren? Wie kann ich XML- und Semantic -Web -Technologien integrieren? Mar 10, 2025 pm 05:50 PM

In diesem Artikel wird die Integration von XML und semantischen Web -Technologien untersucht. Das Kernproblem ist die Zuordnung der strukturierten Daten von XML in RDF -Tripel für semantische Interoperabilität. Best Practices beinhalten Ontologie -Definition, strategische Kartierungsansätze, sorgfältiger ATT

Wie verwende ich XML für die Dateninteroperabilität im Gesundheitswesen/Finanzen/etc.? Wie verwende ich XML für die Dateninteroperabilität im Gesundheitswesen/Finanzen/etc.? Mar 10, 2025 pm 05:50 PM

Dieser Artikel enthält Details, die XML für die Dateninteroperabilität verwenden und sich auf Gesundheitswesen und Finanzen konzentrieren. Es deckt Schemadefinition, XML -Dokumentenerstellung, Datenumwandlung, Parsen und Austauschmechanismen ab. Key XML -Standards (HL7, Dicom, Finml, ISO 20022)

Wie kann ich RSS -Feeds vor unbefugtem Zugriff sichern? Wie kann ich RSS -Feeds vor unbefugtem Zugriff sichern? Mar 10, 2025 pm 03:42 PM

In diesem Artikel wird beschrieben, dass RSS -Feeds gegen unbefugten Zugriff sichtbar machen. Es untersucht verschiedene Methoden, einschließlich HTTP -Authentifizierung, API -Schlüssel mit Ratenlimit, HTTPS und inhaltlicher Verschleierung (entmutigt). Best Practices beinhalten IP -Einschränkungen, Revers

Wie kann ich ein benutzerdefiniertes XML -Wortschatz für meine Domain erstellen? Wie kann ich ein benutzerdefiniertes XML -Wortschatz für meine Domain erstellen? Mar 10, 2025 pm 05:48 PM

In diesem Artikel wird beschrieben, dass benutzerdefinierte XML -Vokabulare (Schemas) für die Datenkonsistenz erstellt werden. Es deckt das Definieren des Umfangs, die Identifizierung von Entitäten und Attributen ab, entwirft die XML -Struktur, die Auswahl einer Schemasprache (XSD oder Relax NG), Schemaentwicklung, Tests

See all articles