franta-hg@2: Slouží k načítání souborů ve všelijakých syntaxích (json, ini atd.) tak, franta-hg@2: aby s nimi následně šlo pracovat jako s XML. franta-hg@2: franta-hg@2: SAXParserFactory → SAXParser → XMLReader franta-hg@2: franta-hg@2: Nejdůležitější je XMLReader, tam se provádí vlastní načítání exotického souboru. franta-hg@2: franta-hg@2: Aby se použila správná (naše) továrna, je potřeba udělat něco z následujícího: franta-hg@2: – nastavit systémovou vlastnost „javax.xml.parsers.SAXParserFactory“ franta-hg@2: – použít Services API… viz JavaDoc k newInstance() franta-hg@2: – předat název třídy továrny jako parametr newInstance(…, …); franta-hg@2: franta-hg@2: Pak načítáme soubory, jako by to bylo XML: franta-hg@2: SAXParserFactory továrna = SAXParserFactory.newInstance(); franta-hg@2: SAXParser parser = továrna.newSAXParser(); franta-hg@2: parser.parse(new File("data/vstup.json"), h); franta-hg@2: franta-hg@2: Nikde sice nejsou žádné ostré závorky (např. JSON používá {} a []), franta-hg@2: ale používáme stejné API a všechny navazující nástroje jako u opravdového XML. franta-hg@2: franta-hg@2: Náš SAXParser používá SuperXMLReader, který rozhoduje, který konkrétní parser se použije. franta-hg@2: franta-hg@12: franta-hg@12: Moduly řešit přes Features? franta-hg@12: franta-hg@12: Vstupní formáty: franta-hg@12: JSON franta-hg@12: INI (sekce + klíč=hodnota) franta-hg@12: CSV (hlavičky → elementy) franta-hg@12: Javovské Properties a podobné (pozor na komentáře) franta-hg@12: HTML (zprasené, atributy bez uvozovek, atd.) franta-hg@12: TXT (co řádek, to element) franta-hg@12: ASN.1 franta-hg@12: Linuxové konfiguráky, API a příkazy – /etc, /proc, /sys … franta-hg@12: franta-hg@12: franta-hg@12: Odkazy: franta-hg@12: TagSoup: http://mercury.ccil.org/~cowan/XML/tagsoup/ franta-hg@12: HotSAX: http://hotsax.sourceforge.net/ – HotSAX is a small fast SAX2 parser for HTML, XHTML and XML. franta-hg@12: XOM: http://www.cafeconleche.org/XOM/ – XOM is fairly unique in that it is a dual streaming/tree-based API. franta-hg@12: Jericho: http://jericho.htmlparser.net/docs/javadoc/net/htmlparser/jericho/StreamedSource.html – Iterátor franta-hg@12: SAX → DOM: http://www.java2s.com/Code/Java/XML/SaxtoDOMconverter.htm franta-hg@12: XMLUnit: http://xmlunit.sourceforge.net/api/org/custommonkey/xmlunit/TolerantSaxDocumentBuilder.html franta-hg@12: ASN.1 franta-hg@12: http://www.lupa.cz/clanky/asn-1-8211-koncept-abstraktni-syntaxove-notace/ franta-hg@12: http://www.root.cz/clanky/analogie-asn1/ franta-hg@12: http://www.research.ibm.com/trl/projects/xml/xss4j/samples/asn1/Translator.java franta-hg@12: http://www.bouncycastle.org/ – Pěkná knihovna pro práci s ASN.1 v Javě je součástí Bouncy Castle Crypto APIs franta-hg@12: https://en.wikipedia.org/wiki/XML_Encoding_Rules – XML Encoding Rules (XER)