2013-07-22 4 views
0

저는 XML과 StaX를 처음 접했습니다. 나는 STAX 사용하여 다음 XML 네임 스페이스를 생성해야합니다XML (StaX) 용 Streaming API의 네임 스페이스

<?xml version="1.0" encoding="UTF-8"?> 
<a xmlns="urn:blah blah" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="urn:blah blah.xsd"> 
    <other tags go here.../> 
</a> 

내가 네임 스페이스와의 QName 객체와 eventFactory.createStartElement를 사용하여 포함하여 다양한 일을 시도했지만 나는 "XSI :의 schemaLocation"얻을 수에 선을 작업. 지금까지 IS가 무엇

...

ArrayList<Namespace> nameSpaces = new ArrayList<>(); 

    Namespace nameSpace2 = eventFactory.createNamespace("xsi", 
      "http://www.w3.org/2001/XMLSchema-instance"); 
    Namespace nameSpace3 = eventFactory.createNamespace("xsi:schemaLocation", 
      "urn:blah.xsd"); 
    Namespace nameSpace1 = eventFactory.createNamespace("urn:blah"); 

    nameSpaces.add(nameSpace1); 
    nameSpaces.add(nameSpace2); 
    nameSpaces.add(nameSpace3); 

    StartElement startElement = eventFactory.createStartElement(new QName(
      "a"), nameSpaces.iterator(), null); 

    eventWriter.add(startElement); 
    eventWriter.add(eventFactory.createDTD("\n")); 

어떤 도움이 많이 주시면 감사하겠습니다

...

감사

러스

답변

0
xsi:schemaLocation="urn:blah blah.xsd" 

는 아니다 네임 스페이스 선언은 "xsi" 네임 스페이스의 특성입니다.