public void visitDocumentType(DocumentType doctype) { if (outputDoctypeEnabled) { String data = getDocumentTypeData(doctype); print("<!DOCTYPE " + data + ">"); //$NON-NLS-1$ //$NON-NLS-2$ } }
public void visitText(Text text) { if (currentElementHasChildElements) { printIndent(); print(createPrintableCharacterData(text.getNodeValue())); println(); } else { print(createPrintableCharacterData(text.getNodeValue())); } }
public void visitComment(Comment comment) { printIndent(); print("<!--"); //$NON-NLS-1$ print(comment.getNodeValue()); println("-->"); //$NON-NLS-1$ }
public void visitElement(Element element) if (!doShow(element)) return; currentElementHasChildElements = hasChildElements(element); printIndent(); print("<"); //$NON-NLS-1$ print(element.getNodeName()); visitAttributesHelper(element); println(">"); //$NON-NLS-1$ print(">"); //$NON-NLS-1$ printIndent(); print("</"); //$NON-NLS-1$ print(element.getNodeName()); println(">"); //$NON-NLS-1$ println("/>"); //$NON-NLS-1$
public static void testPopulateDocumentFromGrammarFile(Document document, String grammarFileName, String rootElementName, boolean hack) { try { CMDocument cmDocument = ContentModelManager.getInstance().createCMDocument(grammarFileName, null); CMNamedNodeMap elementMap = cmDocument.getElements(); CMElementDeclaration element = (CMElementDeclaration) elementMap.getNamedItem(rootElementName); DOMContentBuilderImpl contentBuilder = new DOMContentBuilderImpl(document); contentBuilder.supressCreationOfDoctypeAndXMLDeclaration = hack; contentBuilder.createDefaultRootContent(cmDocument, element); System.out.println(); System.out.println("-----------------------------"); //$NON-NLS-1$ DOMWriter writer = new DOMWriter(); if (hack) { writer.print(document, grammarFileName); } else { writer.print(document); } System.out.println("-----------------------------"); //$NON-NLS-1$ } catch (Exception e) { System.out.println("Error: " + e); //$NON-NLS-1$ e.printStackTrace(); } }
/** a temporary hack to workaround our inability to create a DocumentType tag*/ public void print(Document document, String grammarURL) { String systemId = null; if (grammarURL.endsWith("dtd")) //$NON-NLS-1$ { int lastSlashIndex = Math.max(grammarURL.lastIndexOf("/"), grammarURL.lastIndexOf("\\")); //$NON-NLS-1$ //$NON-NLS-2$ if (lastSlashIndex != -1) { systemId = grammarURL.substring(lastSlashIndex + 1); } } print(document, "UTF-8", grammarURL, null, systemId); //$NON-NLS-1$ }
/** * */ protected String getDocumentTypeValue(DocumentType documentType) { return DOMWriter.getDocumentTypeData(documentType); }
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream, charset); DOMWriter domWriter = new DOMWriter(outputStreamWriter); domWriter.print(xmlDocument, charset, cmDocument.getNodeName(), getNonWhitespaceString(getPublicId()), getNonWhitespaceString(getSystemId())); outputStream.flush(); outputStream.close();
/** a temporary hack to workaround our inability to create a DocumentType tag*/ public void print(Document document, String encoding, String grammarFileName, String publicId, String systemId) { out.println("<?xml version=\"1.0\"" + " encoding=\"" + encoding + "\"?>"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ if (grammarFileName.endsWith(".dtd")) //$NON-NLS-1$ { String docTypeLine = "<!DOCTYPE " + document.getDocumentElement().getNodeName() + " "; //$NON-NLS-1$ //$NON-NLS-2$ if (publicId != null) { docTypeLine += "PUBLIC \"" + publicId + "\" "; //$NON-NLS-1$ //$NON-NLS-2$ if (systemId != null) { docTypeLine += "\"" + systemId + "\" "; //$NON-NLS-1$ //$NON-NLS-2$ } docTypeLine += ">"; //$NON-NLS-1$ out.println(docTypeLine); } else if (systemId != null) { docTypeLine += "SYSTEM \"" + systemId + "\" >"; //$NON-NLS-1$ //$NON-NLS-2$ out.println(docTypeLine); } } print(document); }