本文整理汇总了Java中org.xml.sax.helpers.NamespaceSupport类的典型用法代码示例。如果您正苦于以下问题:Java NamespaceSupport类的具体用法?Java NamespaceSupport怎么用?Java NamespaceSupport使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
NamespaceSupport类属于org.xml.sax.helpers包,在下文中一共展示了NamespaceSupport类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getInscopeNamespaces
import org.xml.sax.helpers.NamespaceSupport; //导入依赖的package包/类
/**
* There is no way to enumerate inscope namespaces for XMLStreamReader. That means
* namespaces declared in envelope, and body tags need to be computed using their
* {@link TagInfoset}s.
*
* @return array of the even length of the form { prefix0, uri0, prefix1, uri1, ... }
*/
private String[] getInscopeNamespaces() {
NamespaceSupport nss = new NamespaceSupport();
nss.pushContext();
for(int i=0; i < envelopeTag.ns.length; i+=2) {
nss.declarePrefix(envelopeTag.ns[i], envelopeTag.ns[i+1]);
}
nss.pushContext();
for(int i=0; i < bodyTag.ns.length; i+=2) {
nss.declarePrefix(bodyTag.ns[i], bodyTag.ns[i+1]);
}
List<String> inscope = new ArrayList<String>();
for( Enumeration en = nss.getPrefixes(); en.hasMoreElements(); ) {
String prefix = (String)en.nextElement();
inscope.add(prefix);
inscope.add(nss.getURI(prefix));
}
return inscope.toArray(new String[inscope.size()]);
}
示例2: buildNamespaceSupport
import org.xml.sax.helpers.NamespaceSupport; //导入依赖的package包/类
private void buildNamespaceSupport(NamespaceSupport nss, Node node) {
if (node==null || node.getNodeType()!=Node.ELEMENT_NODE) {
return;
}
buildNamespaceSupport( nss, node.getParentNode() );
nss.pushContext();
NamedNodeMap atts = node.getAttributes();
for( int i=0; i<atts.getLength(); i++ ) {
Attr a = (Attr)atts.item(i);
if( "xmlns".equals(a.getPrefix()) ) {
nss.declarePrefix( a.getLocalName(), a.getValue() );
continue;
}
if( "xmlns".equals(a.getName()) ) {
nss.declarePrefix( "", a.getValue() );
//continue;
}
}
}
示例3: patchDOMFragment
import org.xml.sax.helpers.NamespaceSupport; //导入依赖的package包/类
/**
* Adds inscope namespaces as attributes to <xsd:schema> fragment nodes.
*
* @param nss namespace context info
* @param elem that is patched with inscope namespaces
*/
private @Nullable void patchDOMFragment(NamespaceSupport nss, Element elem) {
NamedNodeMap atts = elem.getAttributes();
for( Enumeration en = nss.getPrefixes(); en.hasMoreElements(); ) {
String prefix = (String)en.nextElement();
for( int i=0; i<atts.getLength(); i++ ) {
Attr a = (Attr)atts.item(i);
if (!"xmlns".equals(a.getPrefix()) || !a.getLocalName().equals(prefix)) {
if (LOGGER.isLoggable(Level.FINE)) {
LOGGER.log(Level.FINE, "Patching with xmlns:{0}={1}", new Object[]{prefix, nss.getURI(prefix)});
}
elem.setAttributeNS(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, "xmlns:"+prefix, nss.getURI(prefix));
}
}
}
}
示例4: buildNamespaceSupport
import org.xml.sax.helpers.NamespaceSupport; //导入依赖的package包/类
/**
* Recursively visit ancestors and build up {@link NamespaceSupport} oject.
*/
private void buildNamespaceSupport(NamespaceSupport nss, Node node) {
if(node==null || node.getNodeType()!=Node.ELEMENT_NODE)
return;
buildNamespaceSupport( nss, node.getParentNode() );
nss.pushContext();
NamedNodeMap atts = node.getAttributes();
for( int i=0; i<atts.getLength(); i++ ) {
Attr a = (Attr)atts.item(i);
if( "xmlns".equals(a.getPrefix()) ) {
nss.declarePrefix( a.getLocalName(), a.getValue() );
continue;
}
if( "xmlns".equals(a.getName()) ) {
nss.declarePrefix( "", a.getValue() );
continue;
}
}
}
示例5: XMLDOMWriterImpl
import org.xml.sax.helpers.NamespaceSupport; //导入依赖的package包/类
/**
* Creates a new instance of XMLDOMwriterImpl
* @param result DOMResult object @javax.xml.transform.dom.DOMResult
*/
public XMLDOMWriterImpl(DOMResult result) {
node = result.getNode();
if( node.getNodeType() == Node.DOCUMENT_NODE){
ownerDoc = (Document)node;
currentNode = ownerDoc;
}else{
ownerDoc = node.getOwnerDocument();
currentNode = node;
}
getDLThreeMethods();
stringBuffer = new StringBuffer();
needContextPop = new boolean[resizeValue];
namespaceContext = new NamespaceSupport();
}
示例6: testProcessName
import org.xml.sax.helpers.NamespaceSupport; //导入依赖的package包/类
@Test
public void testProcessName() {
NamespaceSupport nssupport = new NamespaceSupport();
nssupport.pushContext();
nssupport.declarePrefix("", "http://www.java.com");
nssupport.declarePrefix("dc", "http://www.purl.org/dc");
String[] parts = new String[3];
nssupport.processName("dc:name1", parts, false);
Assert.assertTrue(parts[0].equals("http://www.purl.org/dc"));
Assert.assertTrue(parts[1].equals("name1"));
Assert.assertTrue(parts[2].equals("dc:name1"));
nssupport.processName("name2", parts, false);
Assert.assertTrue(parts[0].equals("http://www.java.com"));
Assert.assertTrue(parts[1].equals("name2"));
Assert.assertTrue(parts[2].equals("name2"));
}
示例7: testPopContext
import org.xml.sax.helpers.NamespaceSupport; //导入依赖的package包/类
@Test
public void testPopContext() {
String[] parts = new String[3];
NamespaceSupport nssupport = new NamespaceSupport();
nssupport.pushContext();
nssupport.declarePrefix("dc", "http://www.purl.org/dc");
Assert.assertEquals(nssupport.getPrefix("http://www.purl.org/dc"), "dc");
nssupport.popContext();
Assert.assertNull(nssupport.getPrefix("http://www.purl.org/dc"));
nssupport.processName("dc:name1", parts, false);
Assert.assertNull(parts[0]);
Assert.assertNull(parts[1]);
Assert.assertNull(parts[2]);
}
示例8: testPrefixAndUri4
import org.xml.sax.helpers.NamespaceSupport; //导入依赖的package包/类
@Test
public void testPrefixAndUri4() {
NamespaceSupport nssupport = new NamespaceSupport();
nssupport.pushContext();
nssupport.declarePrefix("dc", "http://www.purl.org/dc");
nssupport.pushContext();
nssupport.declarePrefix("dc1", "http://www.purl.org/dc");
nssupport.declarePrefix("dc2", "http://www.purl.org/dc2");
nssupport.declarePrefix("dcnew", "http://www.purl.org/dcnew");
AssertJUnit.assertTrue(nssupport.getURI("dc").equals("http://www.purl.org/dc"));
AssertJUnit.assertTrue(nssupport.getURI("dc1").equals("http://www.purl.org/dc"));
AssertJUnit.assertTrue(nssupport.getURI("dc2").equals("http://www.purl.org/dc2"));
AssertJUnit.assertTrue(nssupport.getURI("dcnew").equals("http://www.purl.org/dcnew"));
// Negative test
Assert.assertNull(nssupport.getURI("wrong_prefix"));
Assert.assertNull(nssupport.getURI(""));
}
示例9: testcase01
import org.xml.sax.helpers.NamespaceSupport; //导入依赖的package包/类
/**
* Test for NamespaceSupport.getDeclaredPrefixes().
*/
@Test
public void testcase01() {
String[] prefixes = new String[2];
NamespaceSupport support = new NamespaceSupport();
support.pushContext();
support.declarePrefix(EMPTY_PREFIX, W3_URI);
support.declarePrefix(DC_PREFIX, PURL_URI);
Enumeration e = support.getDeclaredPrefixes();
int i = 0;
while(e.hasMoreElements()) {
prefixes[i++] = e.nextElement().toString();
}
support.popContext();
assertEquals(prefixes, new String[]{EMPTY_PREFIX, DC_PREFIX});
}
示例10: buildNamespaceSupport
import org.xml.sax.helpers.NamespaceSupport; //导入依赖的package包/类
/**
* Recursively visit ancestors and build up {@link NamespaceSupport} oject.
*/
private void buildNamespaceSupport(NamespaceSupport nss, Node node) {
if(node==null || node.getNodeType()!=Node.ELEMENT_NODE)
return;
buildNamespaceSupport( nss, node.getParentNode() );
nss.pushContext();
NamedNodeMap atts = node.getAttributes();
for( int i=0; i<atts.getLength(); i++ ) {
Attr a = (Attr)atts.item(i);
if( "xmlns".equals(a.getPrefix()) ) {
nss.declarePrefix( a.getLocalName(), a.getValue() );
continue;
}
if( "xmlns".equals(a.getName()) ) {
nss.declarePrefix( "", a.getValue() );
continue;
}
}
}
示例11: setPrefixes
import org.xml.sax.helpers.NamespaceSupport; //导入依赖的package包/类
/**
* Copy the namespace declarations from the NamespaceSupport object.
* Take care to call resolveInheritedNamespaceDecls.
* after all namespace declarations have been added.
*
* @param nsSupport non-null reference to NamespaceSupport from
* the ContentHandler.
* @param excludeXSLDecl true if XSLT namespaces should be ignored.
*
* @throws TransformerException
*/
public void setPrefixes(NamespaceSupport nsSupport, boolean excludeXSLDecl)
throws TransformerException
{
Enumeration decls = nsSupport.getDeclaredPrefixes();
while (decls.hasMoreElements())
{
String prefix = (String) decls.nextElement();
if (null == m_declaredPrefixes)
m_declaredPrefixes = new ArrayList();
String uri = nsSupport.getURI(prefix);
if (excludeXSLDecl && uri.equals(Constants.S_XSLNAMESPACEURL))
continue;
// System.out.println("setPrefixes - "+prefix+", "+uri);
XMLNSDecl decl = new XMLNSDecl(prefix, uri, false);
m_declaredPrefixes.add(decl);
}
}
示例12: testGetPrefixesLjava_lang_String
import org.xml.sax.helpers.NamespaceSupport; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@TestTargetNew(
level = TestLevel.COMPLETE,
method = "getPrefixes",
args = {String.class}
)
public void testGetPrefixesLjava_lang_String() {
ArrayList<String> prefixes;
prefixes = Collections.list(ns.getPrefixes(marketUri));
assertTrue("Test 1: Incorrect set of prefixes returned.",
expected.containsAll(prefixes) && prefixes.containsAll(expected));
prefixes = Collections.list(ns.getPrefixes(defaultUri));
assertTrue("Test 2: Default namespace prefix should not be returned.",
prefixes.size() == 0);
prefixes = Collections.list(ns.getPrefixes(NamespaceSupport.XMLNS));
assertTrue("Test 3: xml prefix is missing.",
prefixes.contains("xml") && prefixes.size() == 1);
prefixes = Collections.list(ns.getPrefixes(defaultUri + "/42"));
assertTrue("Test 4: Non-empty enumeration returned for an unassigned URI.",
prefixes.size() == 0);
}
示例13: testGetUri
import org.xml.sax.helpers.NamespaceSupport; //导入依赖的package包/类
@TestTargets ({
@TestTargetNew(
level = TestLevel.COMPLETE,
method = "getURI",
args = {String.class}
),
@TestTargetNew(
level = TestLevel.PARTIAL_COMPLETE,
method = "popContext",
args = {}
)
})
public void testGetUri() {
assertEquals("Test 1: Incorrect URI returned;",
marketUri, ns.getURI("bk"));
assertEquals("Test 2: Incorrect URI returned;",
defaultUri, ns.getURI(""));
assertNull("Test 3: Null expected for not-existing prefix.",
ns.getURI("ck"));
ns.popContext();
assertNull("Test 4: Null expected for not-existing prefix.",
ns.getURI("bk"));
assertEquals("Test 5: Incorrect URI returned;",
NamespaceSupport.XMLNS, ns.getURI("xml"));
}