<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=7._XML</id>
	<title>7. XML - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=7._XML"/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=7._XML&amp;action=history"/>
	<updated>2026-05-17T07:13:05Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=7._XML&amp;diff=150232&amp;oldid=prev</id>
		<title>Ferrero, 2013. január 7., 23:16-n</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=7._XML&amp;diff=150232&amp;oldid=prev"/>
		<updated>2013-01-07T23:16:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;hu&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Régebbi változat&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;A lap 2013. január 8., 01:16-kori változata&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;1. sor:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1. sor:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{GlobalTemplate|Infoszak|OotXMLkezeles}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;__TOC__&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;__TOC__&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==7.1. Általános==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==7.1. Általános==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ferrero</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=7._XML&amp;diff=139610&amp;oldid=prev</id>
		<title>Unknown user: Új oldal, tartalma: „{{GlobalTemplate|Infoszak|OotXMLkezeles}}  __TOC__ ==7.1. Általános==  * jól formált * opcionális fejléc, gyökérelem, nyitó-záró tag * valid: megfelel a sém…”</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=7._XML&amp;diff=139610&amp;oldid=prev"/>
		<updated>2012-10-21T20:44:13Z</updated>

		<summary type="html">&lt;p&gt;Új oldal, tartalma: „{{GlobalTemplate|Infoszak|OotXMLkezeles}}  __TOC__ ==7.1. Általános==  * jól formált * opcionális fejléc, gyökérelem, nyitó-záró tag * valid: megfelel a sém…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{GlobalTemplate|Infoszak|OotXMLkezeles}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
==7.1. Általános==&lt;br /&gt;
&lt;br /&gt;
* jól formált&lt;br /&gt;
* opcionális fejléc, gyökérelem, nyitó-záró tag&lt;br /&gt;
* valid: megfelel a sémának (DTD/XSD)&lt;br /&gt;
&lt;br /&gt;
==7.2. XSD==&lt;br /&gt;
===gyökérelem===&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;xs:schema&amp;amp;gt;...&amp;amp;lt;/xs:schema&amp;amp;gt;&lt;br /&gt;
* xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; adattípusok definíciójának névtere&lt;br /&gt;
* targetNamespace=&amp;quot;http://www.w3schools.com&amp;quot; elemek névtere&lt;br /&gt;
* xmlns=&amp;quot;http://www.w3schools.com&amp;quot; alapértelmezett névtér&lt;br /&gt;
* elementFormDefault=&amp;quot;qualified&amp;quot; kötelező a névteret kiírni&lt;br /&gt;
&lt;br /&gt;
===általános szerkezet===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!-- beépített típusok --&amp;gt;&lt;br /&gt;
xs:string, xs:decimal, xs:integer, xs:boolean, xs:date, xs:time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- egyszerű elem --&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;xxx&amp;quot; type=&amp;quot;xs:string&amp;quot; [default=&amp;quot;zzz&amp;quot; | fix=&amp;quot;qqq&amp;quot;]/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- attribútum --&amp;gt;&lt;br /&gt;
&amp;lt;xs:attribute name=&amp;quot;xxx&amp;quot; type=&amp;quot;xs:string&amp;quot; [default=&amp;quot;zzz&amp;quot; | fix=&amp;quot;qqq&amp;quot;] [use=&amp;quot;required&amp;quot;]/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- egyszerű típusdefiníció --&amp;gt;&lt;br /&gt;
&amp;lt;xs:simpleType&amp;gt;&lt;br /&gt;
  &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
	 &amp;lt;xs:length value=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
&amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
megkötések: totalDigits, fractionDigits, enumeration, length, minLength, maxLength, pattern...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- összetett típusdefiníció --&amp;gt;&lt;br /&gt;
&amp;lt;xs:complexType name=&amp;quot;personinfo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
	 &amp;lt;xs:element name=&amp;quot;firstname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
	 &amp;lt;xs:element name=&amp;quot;lastname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- öröklés --&amp;gt;&lt;br /&gt;
&amp;lt;xs:complexType name=&amp;quot;fullpersoninfo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:complexContent&amp;gt;&lt;br /&gt;
	 &amp;lt;xs:extension base=&amp;quot;personinfo&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
		  ... &amp;lt;!-- új elemek --&amp;gt;&lt;br /&gt;
		&amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
	 &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:complexContent&amp;gt;&lt;br /&gt;
&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Indikátorok===&lt;br /&gt;
&lt;br /&gt;
* Sorrend: all, choice, sequence&lt;br /&gt;
* Gyakoriság: maxOccurs, minOccurs&lt;br /&gt;
* Csoportosítás: &amp;amp;lt;group&amp;amp;gt;, &amp;amp;lt;attributeGroup&amp;amp;gt; (pár element/attribute összefogása, de nem típusként)&lt;br /&gt;
&lt;br /&gt;
===helyettesítés===&lt;br /&gt;
&lt;br /&gt;
* használhatjuk az eredeti és az új nevet is&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;name&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;név&amp;quot; substitutionGroup=&amp;quot;name&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===hivatkozás XML-ből XSD-re===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;note xmlns=http://www.w3schools.com&lt;br /&gt;
		xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance&lt;br /&gt;
		xsi:schemaLocation=&amp;quot;http://www.w3schools.com note.xsd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- XML adatok --&amp;gt;&lt;br /&gt;
&amp;lt;/note&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==7.3. XPath==&lt;br /&gt;
* adott nevű csomópont gyerekei: csomópontnév&lt;br /&gt;
* gyökérelem: /&lt;br /&gt;
* az aktuális elemtől választ, mindegy, hogy milyen mélyen: //node&lt;br /&gt;
* aktuális elem: . &lt;br /&gt;
* az aktuális elem szülője: ..&lt;br /&gt;
* attribútum: @attr &lt;br /&gt;
* bármely elem: *&lt;br /&gt;
* bármely attribútum: @*&lt;br /&gt;
* index, vagy feltétel elemre, attribútumra, vagy függvény: [feltétel]&lt;br /&gt;
** csomópont kiválasztás: node()&lt;br /&gt;
** szöveg csomópont kiválasztás: text()&lt;br /&gt;
&lt;br /&gt;
===ágak (hosszú név)===&lt;br /&gt;
&lt;br /&gt;
* self&lt;br /&gt;
* attribute&lt;br /&gt;
* parent&lt;br /&gt;
* child&lt;br /&gt;
* ancestor / ancestor-or-self - összes ős&lt;br /&gt;
* descendant / descendant-or-self - összes leszármazott&lt;br /&gt;
* following / preceding - minden utána/előtte lévő elem&lt;br /&gt;
* following-sibling / preceding-sibling - minden utána/előtte lévő testvérelem&lt;br /&gt;
* namespace - elem összes névtere&lt;br /&gt;
&lt;br /&gt;
===rövidítés (kettő megegyezik)===&lt;br /&gt;
&lt;br /&gt;
* child::A/descendant-orself::node()/child::B[position()=1]&lt;br /&gt;
* A//B/*[1]&lt;br /&gt;
&lt;br /&gt;
===operátorok===&lt;br /&gt;
&lt;br /&gt;
* aritmetikai: + - / * div mod&lt;br /&gt;
* logikai: and or&lt;br /&gt;
* relációs: = != &amp;amp;lt; &amp;amp;lt;= &amp;amp;gt; &amp;amp;gt;=&lt;br /&gt;
* únió: |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===függvények (csak pl)===&lt;br /&gt;
&lt;br /&gt;
* fn:round(num)&lt;br /&gt;
* fn:substring(string,start,len)&lt;br /&gt;
* fn:current-time()&lt;br /&gt;
&lt;br /&gt;
==7.4. XSLT sablon==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!-- XSLT hozzárendelése XML-hez --&amp;gt;&lt;br /&gt;
&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;test1.xsl&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- gyökérelemre illesztés --&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;!-- felsorolás --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:for-each select=&amp;quot;neptun/student[average&amp;gt;&amp;#039;3.0&amp;#039;]&amp;quot;&amp;gt;&lt;br /&gt;
	 &amp;lt;!-- rendezés --&amp;gt;&lt;br /&gt;
	 &amp;lt;xsl:sort select=&amp;quot;name&amp;quot;/&amp;gt;&lt;br /&gt;
	 ...&lt;br /&gt;
	 &amp;lt;!-- elem érték --&amp;gt;&lt;br /&gt;
	 &amp;lt;xsl:value-of select=&amp;quot;name&amp;quot;/&amp;gt;&lt;br /&gt;
	 &amp;lt;xsl:value-of select=&amp;quot;id&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- feltétel (nincs else ág)--&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:if test=&amp;quot;average&amp;lt;2.0&amp;quot;&amp;gt;...&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- többszörös elágazás --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
	 &amp;lt;xsl:when test=&amp;quot;...&amp;quot;&amp;gt;...&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
	 &amp;lt;xsl:when test=&amp;quot;...&amp;quot;&amp;gt;...&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
	 &amp;lt;xsl:otherwise&amp;gt;...&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- sablon alkalmazása (előzőleg definiálni kell!) --&amp;gt;&lt;br /&gt;
&amp;lt;xsl:apply-templates select=&amp;quot;id&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==7.5. Simple API for XML (SAX)==&lt;br /&gt;
&lt;br /&gt;
* parser alapú, soros feldolgozással&lt;br /&gt;
* állapotfüggetlen&lt;br /&gt;
* eseményvezérelt (Callback pattern!)&lt;br /&gt;
&lt;br /&gt;
===org.xml.sax.ContentHandler interfész===&lt;br /&gt;
&lt;br /&gt;
* throws [[SAXException]]&lt;br /&gt;
* void startDocument() -&amp;amp;gt; void endDocument()&lt;br /&gt;
* void startElement(String namespaceURI, String sName, String qName, Attributes attrs) -&amp;amp;gt; void endElement()&lt;br /&gt;
* void startPrefixMapping(...) -&amp;amp;gt; void endPrefixMapping(...)&lt;br /&gt;
* void characters(char[] ch, int start, int length)&lt;br /&gt;
* void ignorableWhiteSpace(...)&lt;br /&gt;
* void processingInstruction(...)&lt;br /&gt;
* void skippedEntity(...)&lt;br /&gt;
* void setDocumentLocator(...)&lt;br /&gt;
* üres megvalósítás: org.xml.sax.helpers.DefaultHandler&lt;br /&gt;
&lt;br /&gt;
===Locator===&lt;br /&gt;
&lt;br /&gt;
* lekérdezhető vele a parser aktuális pozíciója (sor/oszlop)&lt;br /&gt;
&lt;br /&gt;
===hibakezelés===&lt;br /&gt;
&lt;br /&gt;
* fatal error: nem jólformált XML (syntax error)&lt;br /&gt;
* error: nem valid (nem illeszkedik a sémára)&lt;br /&gt;
* warning: egyéb gányság (kétszeres típus)&lt;br /&gt;
&lt;br /&gt;
==7.6. Document Object Model (DOM)==&lt;br /&gt;
===7.6.1. DOM általánosan===&lt;br /&gt;
====Document====&lt;br /&gt;
&lt;br /&gt;
* dokumentumot reprezentáló node&lt;br /&gt;
* lekérdezhető adatok: doctype, verzió, kódolás, stb&lt;br /&gt;
* elemeket tud gyártani&lt;br /&gt;
&lt;br /&gt;
====Node====&lt;br /&gt;
&lt;br /&gt;
* egy elemet reprezentál&lt;br /&gt;
* lekérdezhető, módosítható adatok: érték, típus, attribútumok&lt;br /&gt;
* navigálás: lefelé (gyerekek), felfelé (szülők), oldalra (testvérek)&lt;br /&gt;
* gyerekeket módosíthatjuk, hozzáadhatunk, elvehetünk&lt;br /&gt;
	 * lekérdezéskor [[NodeList]] kollekcióban kapjuk vissza őket&lt;br /&gt;
&lt;br /&gt;
====NamedNodeMap====&lt;br /&gt;
&lt;br /&gt;
* Node elérésében segít&lt;br /&gt;
* NamedNodeMap Node.getAttributes()&lt;br /&gt;
* Node get/set/removeNamedItem(String name)&lt;br /&gt;
* Node get/set/removeNamedItemNS(String namespaceURI, String localName)&lt;br /&gt;
&lt;br /&gt;
===7.6.2. JDOM===&lt;br /&gt;
&lt;br /&gt;
* Java-s szemléletű DOM API&lt;br /&gt;
* List-et használ NamedNodeMap, [[NodeList]] helyett&lt;br /&gt;
* szűrők: org.jdom.filter.Filter&lt;br /&gt;
* XSL támogatás: org.jdom.transform.XSLTranformer&lt;br /&gt;
* XPath: org.jdom.xpath.XPath&lt;br /&gt;
* beolvasás külső segítséggel: [[DOMBuilder]] vagy [[SAXBuilder]]&lt;br /&gt;
&lt;br /&gt;
-- [[MeszegetoBalazsIstvan|MeszegetoBalazsIstvan]] - 2008.05.27.&lt;br /&gt;
&lt;br /&gt;
-- [[PallosTamas|Velias]] - 2009.05.27.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoszak]]&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>