1
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のバインディングを使用するかもしれないが、単にコピーする要素と属性は、十分です。接頭辞の選択は任意です(すべての要素/属性名の比較はURIとローカル名に基づいており、接頭辞は単なるショートカットではありません)が、XML処理では違いはありませんが、場合によっては、 to-URLバインディング。 – StaxMan
1つのコメント: 'addElement(String localName)'の使用は、バインドされていない名前空間を想定しているため、必ずしもうまく動作するとは限りません。完全修飾名を取得するには、 'getQName()'を使う必要があります。 – StaxMan