Java 类org.xml.sax.helpers.NamespaceSupport 实例源码

项目:OpenJSharp    文件:StreamMessage.java   
/**
 * 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()]);
}
项目:OpenJSharp    文件:AbstractSchemaValidationTube.java   
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;
        }
    }
}
项目:OpenJSharp    文件:AbstractSchemaValidationTube.java   
/**
 * 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));
            }
        }
    }
}
项目:OpenJSharp    文件:DOMScanner.java   
/**
 * 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;
        }
    }
}
项目:OpenJSharp    文件:XMLDOMWriterImpl.java   
/**
 * 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();
}
项目:openjdk-jdk10    文件:StreamMessage.java   
/**
 * 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()]);
}
项目:openjdk-jdk10    文件:AbstractSchemaValidationTube.java   
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;
        }
    }
}
项目:openjdk-jdk10    文件:AbstractSchemaValidationTube.java   
/**
 * 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));
            }
        }
    }
}
项目:openjdk-jdk10    文件:DOMScanner.java   
/**
 * 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;
        }
    }
}
项目:openjdk-jdk10    文件:NSSupportTest.java   
@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"));
}
项目:openjdk-jdk10    文件:NSSupportTest.java   
@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]);
}
项目:openjdk-jdk10    文件:NSSupportTest.java   
@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(""));
}
项目:openjdk-jdk10    文件:NSSupportTest.java   
/**
 * 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});
}
项目:openjdk9    文件:StreamMessage.java   
/**
 * 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()]);
}
项目:openjdk9    文件:AbstractSchemaValidationTube.java   
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;
        }
    }
}
项目:openjdk9    文件:AbstractSchemaValidationTube.java   
/**
 * 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));
            }
        }
    }
}
项目:openjdk9    文件:DOMScanner.java   
/**
 * 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;
        }
    }
}
项目:openjdk9    文件:NSSupportTest.java   
@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"));
}
项目:openjdk9    文件:NSSupportTest.java   
@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]);
}
项目:openjdk9    文件:NSSupportTest.java   
@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(""));
}
项目:openjdk9    文件:NSSupportTest.java   
/**
 * 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});
}
项目:lookaside_java-1.8.0-openjdk    文件:StreamMessage.java   
/**
 * 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()]);
}
项目:lookaside_java-1.8.0-openjdk    文件:AbstractSchemaValidationTube.java   
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;
        }
    }
}
项目:lookaside_java-1.8.0-openjdk    文件:AbstractSchemaValidationTube.java   
/**
 * 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));
            }
        }
    }
}
项目:lookaside_java-1.8.0-openjdk    文件:DOMScanner.java   
/**
 * 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;
        }
    }
}
项目:lookaside_java-1.8.0-openjdk    文件:XMLDOMWriterImpl.java   
/**
 * 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();
}
项目:infobip-open-jdk-8    文件:StreamMessage.java   
/**
 * 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()]);
}
项目:infobip-open-jdk-8    文件:AbstractSchemaValidationTube.java   
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;
        }
    }
}
项目:infobip-open-jdk-8    文件:AbstractSchemaValidationTube.java   
/**
 * 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));
            }
        }
    }
}
项目:infobip-open-jdk-8    文件:DOMScanner.java   
/**
 * 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;
        }
    }
}
项目:infobip-open-jdk-8    文件:XMLDOMWriterImpl.java   
/**
 * 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();
}
项目:cxf-plus    文件:DOMScanner.java   
/**
 * 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;
        }
    }
}
项目:In-the-Box-Fork    文件:ElemTemplateElement.java   
/**
 * 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);
  }
}
项目:In-the-Box-Fork    文件:NamespaceSupportTest.java   
@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);
}
项目:In-the-Box-Fork    文件:NamespaceSupportTest.java   
@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"));
}
项目:OLD-OpenJDK8    文件:StreamMessage.java   
/**
 * 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()]);
}
项目:OLD-OpenJDK8    文件:AbstractSchemaValidationTube.java   
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;
        }
    }
}
项目:OLD-OpenJDK8    文件:AbstractSchemaValidationTube.java   
/**
 * 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));
            }
        }
    }
}
项目:OLD-OpenJDK8    文件:DOMScanner.java   
/**
 * 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;
        }
    }
}
项目:OLD-OpenJDK8    文件:XMLDOMWriterImpl.java   
/**
 * 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();
}