Xml 문서는 루트 요소에 네임 스페이스 접두사 선언을 표시 할 수 있습니다. StaxMate를 처음 접했을 때 요소 및 요소 특성에 대한 xml 입력 이벤트를 처리했습니다. 그러나, 나는 Namespace 이벤트를 얻지 못했다.staxmate를 사용하여 네임 스페이스 접두사 선언을 가져 오는 방법 (및 출력)
<?xml version="1.0" encoding="UTF-8"?>
<myRoot xmlns="http://myurl.com/myProject"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mya="http://myurl.com/myAttributes"
xsi:schemaLocation="http://myurl.com/myProject ./../../main/xsd/mySchema.xsd ">
<myElement mya:myAttribute="attribute content">
<mySubElement>subelements content</original>
</myElement>
</myRoot>
방법의 xmlns 네임 스페이스를 얻을 수있는 요소 myRoot을 처리 할 때? 예 : 그 중 일부를 SMOutputDocument의 루트 요소에 출력하려면?
참고 : 이렇게하면 다른 접두사 - 투 - 네임 스페이스 - URI 바인딩을 사용할 수 있지만 단지 복사하는 요소와 속성은 충분하다. 이것은 접두사 선택이 임의적이기 때문에 XML 처리에 차이가 없습니다 (모든 요소/속성 이름 비교는 URI와 로컬 이름을 기반으로합니다 - 어떤 접두사도 바로 가기가 아닙니다). 그러나 어떤 경우에는 동일한 접두사를 유지하는 것이 유리할 수 있습니다. to-URL 바인딩. – StaxMan
한 주석 :'addElement (String localName)'의 사용은 언 바운드 네임 스페이스를 가정하므로 반드시 잘 작동하지는 않습니다. 정규화 된 이름을 얻으려면'getQName()'을 사용해야합니다. – StaxMan