Xml 如何让xerces-c以最小的大小开销编写名称空间?
我用xerces-C3.2.1编写了一个xml文件Xml 如何让xerces-c以最小的大小开销编写名称空间?,xml,xerces-c,Xml,Xerces C,我用xerces-C3.2.1编写了一个xml文件 <?xml version="1.0" encoding="UTF-16" standalone="yes" ?> <Test xmlns="my_namespace" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc
<?xml version="1.0" encoding="UTF-16" standalone="yes" ?>
<Test xmlns="my_namespace"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="my_namespace myschema.xsd">
<Elem />
</Test>
<?xml version="1.0" encoding="UTF-16" standalone="yes" ?>
<Test xmlns="my_namespace"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="my_namespace myschema.xsd">
<Elem xmlns:myprefix="my_namespace" myprefix:dim="..."/>
</Test>
在每个使用dim属性的元素上使用名称空间声明,这是不好的,因为出于文件大小的原因,我希望xerces-c能够像这样编写文件
(金色的)
前缀所有其他元素myprefix:elem1,myprefix:elem2,除了带有我的dim的元素,这是一个令人头痛的问题
我怎样才能强迫xerces-c按照我的意愿编写最少的名称空间声明和前缀,如黄金一词?最后,获得黄金一词的诀窍是: 要将前缀添加到元素名(或属性名)中,例如L“my_prefix:Elem”(附加到名称空间中) 这将在生成的XML文件中节省空间,但在生成XML的代码中需要更多空间,并且需要更多代码,因为前缀不应硬编码
<Test xmlns="my_namespace"
xmlns:myprefix="my_namespace"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="my_namespace myschema.xsd">
<Elem myprefix:dim="..."/>
</Test>
<Test xmlns="my_namespace"
xmlns:myprefix="my_namespace"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="my_namespace myschema.xsd">
<myprefix:Elem1 ../>
<myprefix:Elem2 ../>
<Elem myprefix:dim="..."/>
</Test>
DOMElement * e4 = doc->createElementNS(defaultNS, (const XMLCh*)L"my_prefix:Elem");
root->appendChild(e4);