Fix schema code bustage () from fix for bug 241201

This commit is contained in:
peterv%propagandism.org 2004-04-25 10:24:51 +00:00
Родитель e0629f624a
Коммит 9070803570
3 изменённых файлов: 43 добавлений и 1 удалений

Просмотреть файл

@ -75,6 +75,24 @@ nsSchema::~nsSchema()
NS_IMPL_ISUPPORTS2_CI(nsSchema, nsISchema, nsISchemaComponent)
nsresult
nsSchema::Init()
{
nsresult rv = mTypesHash.Init();
NS_ENSURE_SUCCESS(rv, rv);
rv = mAttributesHash.Init();
NS_ENSURE_SUCCESS(rv, rv);
rv = mElementsHash.Init();
NS_ENSURE_SUCCESS(rv, rv);
rv = mAttributeGroupsHash.Init();
NS_ENSURE_SUCCESS(rv, rv);
return mModelGroupsHash.Init();
}
/* readonly attribute wstring targetNamespace; */
NS_IMETHODIMP
nsSchema::GetTargetNamespace(nsAString& aTargetNamespace)

Просмотреть файл

@ -990,6 +990,9 @@ nsSchemaLoader::ProcessSchemaElement(nsIDOMElement* aElement,
return NS_ERROR_OUT_OF_MEMORY;
}
rv = schemaInst->Init();
NS_ENSURE_SUCCESS(rv, rv);
nsChildElementIterator iterator(aElement,
kSchemaNamespaces, kSchemaNamespacesLength);
nsCOMPtr<nsIDOMElement> childElement;
@ -1355,6 +1358,9 @@ nsSchemaLoader::ProcessComplexType(nsSchema* aSchema,
}
complexType = typeInst;
rv = typeInst->Init();
NS_ENSURE_SUCCESS(rv, rv);
nsChildElementIterator iterator(aElement,
kSchemaNamespaces,
kSchemaNamespacesLength);
@ -1478,6 +1484,9 @@ nsSchemaLoader::ParseDimensions(nsSchema* aSchema,
}
nsCOMPtr<nsISchemaComplexType> complexType = typeInst;
rv = typeInst->Init();
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsISchemaType> soapArray;
rv = GetType(NS_LITERAL_STRING("Array"),
NS_LITERAL_STRING(NS_SOAP_1_2_ENCODING_NAMESPACE),
@ -2693,6 +2702,9 @@ nsSchemaLoader::ProcessAttributeGroup(nsSchema* aSchema,
}
attributeGroup = attrInst;
rv = attrInst->Init();
NS_ENSURE_SUCCESS(rv, rv);
nsChildElementIterator iterator(aElement,
kSchemaNamespaces,
kSchemaNamespacesLength);

Просмотреть файл

@ -67,6 +67,8 @@ public:
NS_DECL_NSISCHEMACOMPONENT
NS_DECL_NSISCHEMA
nsresult Init();
NS_IMETHOD AddType(nsISchemaType* aType);
NS_IMETHOD AddAttribute(nsISchemaAttribute* aAttribute);
NS_IMETHOD AddElement(nsISchemaElement* aElement);
@ -220,6 +222,11 @@ public:
NS_DECL_NSISCHEMATYPE
NS_DECL_NSISCHEMACOMPLEXTYPE
nsresult Init()
{
return mAttributesHash.Init();
}
NS_IMETHOD SetContentModel(PRUint16 aContentModel);
NS_IMETHOD SetDerivation(PRUint16 aDerivation, nsISchemaType* aBaseType);
NS_IMETHOD SetSimpleBaseType(nsISchemaSimpleType* aSimpleBaseType);
@ -457,7 +464,12 @@ public:
NS_IMPL_NSISCHEMACOMPONENT_USING_BASE
NS_DECL_NSISCHEMAATTRIBUTECOMPONENT
NS_DECL_NSISCHEMAATTRIBUTEGROUP
nsresult Init()
{
return mAttributesHash.Init();
}
NS_IMETHOD AddAttribute(nsISchemaAttributeComponent* aAttribute);
protected: