VCOM:VectorWorks:Filing:IXMLFileValidator::CreateXMLName
.SDK|SDK ..SDK:Types|SDK Types ..VCOM:VCOM (Vectorworks Component Object Model)|VCOM Basics ..VCOM:Class Reference|VCOM Class Reference
Description
namespace VectorWorks::Filing
Member of VCOM:VectorWorks:Filing:IXMLFileValidator
Convert the specified name into a valid XML name if it contains invalid characters.
If the specified name is ok (see IXMLFileValidator::ValidateXMLName)
virtual VCOMError VCOM_CALLTYPE CreateXMLName(
const TXString& name,
TXString& outXMLName,
IXMLFileValidatorNameErrorsListener* pErrListener = NULL) = 0;
Parameters
name const TXString& The name that should be checked if it is correct. outXMLName TXString& Output parameter. Returns the modified correct XML name. If 'name' is correct it is returned without modifications. pErrListener IXMLFileValidatorNameErrorsListener* Optional. NULL by default. Instance to error listener implementation. See remarks.
Return Value
Uses standard VCOM Error Reporting.
Return value meaning:
kVCOMError_NotInitialized Bad VCOM instance used to call the fuction. kVCOMError_Failed Routine failed.
Remarks
This function is based on the definition of XML's NCName here: http://www.w3.org/TR/REC-xml/#sec-common-syn
See IXMLFileValidator::ValidateXMLName
The function is not Unicode-aware (only deals with the ASCII 0-127 subset). This, however, is not a problem, as VectorWork XML files should avoid non-ascii characters in NCNames.
The name error listener interface is:
class IXMLFileValidatorNameErrorsListener { public: enum EIterateResult { kIterateResult_ContinueNotHandled, kIterateResult_ContinueHandled, kIterateResult_StopWithError }; public: ~IXMLFileValidatorNameErrorsListener() {} virtual void StartValidating(const TXString& name) = 0; virtual bool EndValidating(const TXString& name, TXString& outXMLName) = 0; virtual void OnErrorNameEmpty(const TXString& name, TXString& outXMLName) = 0; virtual EIterateResult OnErrorSymbol(size_t pos, size_t cnt, TXString& badSymbol) = 0; };
See Also
VCOM:VectorWorks:Filing:IFolderIdentifier | VCOM:VectorWorks:Filing:IFileIdentifier | VCOM:VectorWorks:Filing:IXMLFileNode |
VCOM:VectorWorks:Filing:IXMLFile | VCOM:VectorWorks:Filing:IXMLFileValidator::ValidateXMLName