packer-cn/vendor/github.com/masterzen/winrm/soap/namespaces.go

82 lines
2.7 KiB
Go

package soap
import (
"github.com/ChrisTrenkamp/goxpath"
"github.com/masterzen/simplexml/dom"
)
// Namespaces
const (
NS_SOAP_ENV = "http://www.w3.org/2003/05/soap-envelope"
NS_ADDRESSING = "http://schemas.xmlsoap.org/ws/2004/08/addressing"
NS_CIMBINDING = "http://schemas.dmtf.org/wbem/wsman/1/cimbinding.xsd"
NS_ENUM = "http://schemas.xmlsoap.org/ws/2004/09/enumeration"
NS_TRANSFER = "http://schemas.xmlsoap.org/ws/2004/09/transfer"
NS_WSMAN_DMTF = "http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd"
NS_WSMAN_MSFT = "http://schemas.microsoft.com/wbem/wsman/1/wsman.xsd"
NS_SCHEMA_INST = "http://www.w3.org/2001/XMLSchema-instance"
NS_WIN_SHELL = "http://schemas.microsoft.com/wbem/wsman/1/windows/shell"
NS_WSMAN_FAULT = "http://schemas.microsoft.com/wbem/wsman/1/wsmanfault"
)
// Namespace Prefixes
const (
NSP_SOAP_ENV = "env"
NSP_ADDRESSING = "a"
NSP_CIMBINDING = "b"
NSP_ENUM = "n"
NSP_TRANSFER = "x"
NSP_WSMAN_DMTF = "w"
NSP_WSMAN_MSFT = "p"
NSP_SCHEMA_INST = "xsi"
NSP_WIN_SHELL = "rsp"
NSP_WSMAN_FAULT = "f"
)
// DOM Namespaces
var (
DOM_NS_SOAP_ENV = dom.Namespace{"env", "http://www.w3.org/2003/05/soap-envelope"}
DOM_NS_ADDRESSING = dom.Namespace{"a", "http://schemas.xmlsoap.org/ws/2004/08/addressing"}
DOM_NS_CIMBINDING = dom.Namespace{"b", "http://schemas.dmtf.org/wbem/wsman/1/cimbinding.xsd"}
DOM_NS_ENUM = dom.Namespace{"n", "http://schemas.xmlsoap.org/ws/2004/09/enumeration"}
DOM_NS_TRANSFER = dom.Namespace{"x", "http://schemas.xmlsoap.org/ws/2004/09/transfer"}
DOM_NS_WSMAN_DMTF = dom.Namespace{"w", "http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd"}
DOM_NS_WSMAN_MSFT = dom.Namespace{"p", "http://schemas.microsoft.com/wbem/wsman/1/wsman.xsd"}
DOM_NS_SCHEMA_INST = dom.Namespace{"xsi", "http://www.w3.org/2001/XMLSchema-instance"}
DOM_NS_WIN_SHELL = dom.Namespace{"rsp", "http://schemas.microsoft.com/wbem/wsman/1/windows/shell"}
DOM_NS_WSMAN_FAULT = dom.Namespace{"f", "http://schemas.microsoft.com/wbem/wsman/1/wsmanfault"}
)
var MostUsed = [...]dom.Namespace{
DOM_NS_SOAP_ENV,
DOM_NS_ADDRESSING,
DOM_NS_WIN_SHELL,
DOM_NS_WSMAN_DMTF,
DOM_NS_WSMAN_MSFT,
}
func AddUsualNamespaces(node *dom.Element) {
for _, ns := range MostUsed {
node.DeclareNamespace(ns)
}
}
func GetAllXPathNamespaces() func(o *goxpath.Opts) {
ns := map[string]string{
NSP_SOAP_ENV: NS_SOAP_ENV,
NSP_ADDRESSING: NS_ADDRESSING,
NSP_CIMBINDING: NS_CIMBINDING,
NSP_ENUM: NS_ENUM,
NSP_TRANSFER: NS_TRANSFER,
NSP_WSMAN_DMTF: NS_WSMAN_DMTF,
NSP_WSMAN_MSFT: NS_WSMAN_MSFT,
NSP_SCHEMA_INST: NS_SCHEMA_INST,
NSP_WIN_SHELL: NS_WIN_SHELL,
NSP_WSMAN_FAULT: NS_WSMAN_FAULT,
}
return func(o *goxpath.Opts) {
o.NS = ns
}
}