Bug 844457 - Move XSLTProcessor to WebIDL. r=peterv

This commit is contained in:
Tom Schuster
2014-10-10 14:21:54 +02:00
parent c38d0e4ac0
commit d9fcc8fb0b
21 changed files with 430 additions and 157 deletions

View File

@@ -16,38 +16,8 @@
#include "txXPathTreeWalker.h"
#include "nsContentUtils.h"
nsresult
txExpandedName::init(const nsAString& aQName, txNamespaceMap* aResolver,
bool aUseDefault)
{
const nsAFlatString& qName = PromiseFlatString(aQName);
const char16_t* colon;
bool valid = XMLUtils::isValidQName(qName, &colon);
if (!valid) {
return NS_ERROR_FAILURE;
}
if (colon) {
nsCOMPtr<nsIAtom> prefix = do_GetAtom(Substring(qName.get(), colon));
int32_t namespaceID = aResolver->lookupNamespace(prefix);
if (namespaceID == kNameSpaceID_Unknown)
return NS_ERROR_FAILURE;
mNamespaceID = namespaceID;
const char16_t *end;
qName.EndReading(end);
mLocalName = do_GetAtom(Substring(colon + 1, end));
}
else {
mNamespaceID = aUseDefault ? aResolver->lookupNamespace(nullptr) :
kNameSpaceID_None;
mLocalName = do_GetAtom(aQName);
}
return NS_OK;
}
//------------------------------/
//- Implementation of XMLUtils -/
//------------------------------/
//- Implementation of XMLUtils -/
//------------------------------/
// static